diff --git a/lab/04_statystyczny_model_językowy.ipynb b/lab/04_statystyczny_model_językowy.ipynb index c5e020b..39edd65 100644 --- a/lab/04_statystyczny_model_językowy.ipynb +++ b/lab/04_statystyczny_model_językowy.ipynb @@ -26,33 +26,30 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "class Model():\n", " \n", - " def __init__(self, vocab_size=30_000, UNK_token= ''):\n", + " def __init__(self, vocab_size=30_000, UNK_token= '', n=2):\n", + " # n - parametr dla \"n\"-gramów\n", " pass\n", " \n", - " def train(corpus:list) -> None:\n", + " def train(self, corpus:list) -> None:\n", " pass\n", " \n", - " def get_conditional_prob_for_word(text: list, word: str) -> float:\n", + " def get_conditional_prob_for_word(self, text: list, word: str) -> float:\n", " pass\n", " \n", - " def get_prob_for_text(text: list) -> float:\n", + " def get_prob_for_text(self, text: list) -> float:\n", " pass\n", " \n", - " def most_probable_next_word(text:list) -> str:\n", + " def most_probable_next_word(self, text:list) -> str:\n", " 'nie powinien zwracań nigdy '\n", " pass\n", " \n", - " def high_probable_next_word(text:list) -> str:\n", - " 'nie powinien zwracań nigdy '\n", - " pass\n", - " \n", - " def generate_text(text_beggining:list, length: int, greedy: bool) -> list:\n", + " def generate_text(self, text_beggining:list, length: int, greedy: bool) -> list:\n", " 'nie powinien zwracań nigdy '\n", " pass" ] @@ -91,10 +88,12 @@ "- Wymyśl 5 krótkich zdań. Dla każdego oblicz jego prawdopodobieństwo.\n", "- Napisz włąsnoręcznie funkcję, która liczy perplexity na korpusie i policz perplexity na każdym z modeli dla podzbiorów train i test.\n", "- Wygeneruj tekst, zaczynając od wymyślonych 5 początków. Postaraj się, żeby dla obu funkcji, a przynajmniej dla `high_probable_next_word`, teksty były orginalne.\n", - "- Stwórz model dla korpusu z ZADANIE 1 i policz perplexity dla każdego z tekstów (zrób split 90/10) dla train i test.\n", + "- Stwórz model dla korpusu z ZADANIE 1 i policz perplexity dla każdego z tekstów (zrób split 9:1) dla train i test.\n", + "\n", + "Dodatkowo:\n", "- Dokonaj klasyfikacji za pomocą modelu językowego.\n", - "- Zastosuj wygładzanie metodą Laplace'a.\n", - "- Znajdź duży zbiór danych dla klasyfikacji binarnej, wytrenuj osobne modele dla każdej z klas i użyj dla klasyfikacji." + " - Znajdź duży zbiór danych dla klasyfikacji binarnej, wytrenuj osobne modele dla każdej z klas i użyj dla klasyfikacji.\n", + "- Zastosuj wygładzanie metodą Laplace'a." ] }, {