-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c74372e
commit d138915
Showing
2 changed files
with
424 additions
and
176 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"id": "43fc8290", | ||
"metadata": {}, | ||
"source": [ | ||
"## Задание 1." | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "b06a5ace", | ||
"metadata": {}, | ||
"source": [ | ||
"Посчитайте частоты для 5-грамм в корпусе lenta.txt. двумя способами: \n", | ||
"1) lenta.txt -> sent_tokenize (russian) -> word_tokenize -> ngrammer \n", | ||
"2) lenta.txt -> word_tokene(preserve_line=True) - ngrammer \n", | ||
" \n", | ||
"Проанализируйте топ-20 самых частотных нграмм и проверьте есть ли различия? " | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"id": "957f5656", | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "b5781f34", | ||
"metadata": {}, | ||
"source": [ | ||
"## Задание 2." | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "4292716e", | ||
"metadata": {}, | ||
"source": [ | ||
"Найдите какую-то инетересную (по вашему мнению) закономерность на https://books.google.com/ngrams/ для русского языка (с 1990 по 2019)\n", | ||
"\n", | ||
"Вставьте сюда скриншот" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"id": "0e3bf76d", | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "8a0a89ec", | ||
"metadata": {}, | ||
"source": [ | ||
"## Заданиe 3" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "b40c35e9", | ||
"metadata": {}, | ||
"source": [ | ||
"Когда мы разбирали PMI мы использовали такую функцию:" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"id": "221f1bc0", | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [ | ||
"def scorer_simple(word_count_a, word_count_b, bigram_count, *args):\n", | ||
" try:\n", | ||
" score = bigram_count/((word_count_a+word_count_b))\n", | ||
" except ZeroDivisionError:\n", | ||
" return 0\n", | ||
" return score" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "53fd2def", | ||
"metadata": {}, | ||
"source": [ | ||
"Но если вы посмотрите на определение в википедии, то увидите, что формула немного другая ![](https://wikimedia.org/api/rest_v1/media/math/render/svg/094243d23c19d2d032f6bb26c4dc4f47d98d32f8)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "b1905862", | ||
"metadata": {}, | ||
"source": [ | ||
"Перепишите функцию, чтобы она точно соответствовала этому определению. Расчитайте PMI для всех биграммов также как мы делали в семинаре с помощью функции score_bigrams используя изначальный scorer и обновленный. Посмотрите есть ли разница в топ-10 биграммов. Подумайте почему результаты совпадают/отличаются?\n", | ||
"\n", | ||
"*Подсказка: для вероятностей можно поделить на количество слов в корпусе" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"id": "1431f618", | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "0a6e1c99", | ||
"metadata": {}, | ||
"source": [ | ||
"## Задание 4*\n", | ||
"\n", | ||
"Обновите функцию получившуюся в предыдущем задании так, чтобы вместо произведения/деления вероятностей использовались сложение и вычитание логирифмов. " | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"id": "3f55a362", | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "b22785f4", | ||
"metadata": {}, | ||
"source": [ | ||
"## Задание 5" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "a1121e53", | ||
"metadata": {}, | ||
"source": [ | ||
"Исследуйте gensim.models.Phrases. Проверьте сколько дефолтных scoring функций есть в этом классе. Попробуйте все доступные по умолчанию scoring функции и попробуйте настраивать для них значение threshold и min_count. Попробуйте сделать так, чтобы собиралось как можно больше нграммов. Попробуйте строить последовательность gensim.models.Phrases, чтобы строить более длинные нграммы" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"id": "716fba84", | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
} | ||
], | ||
"metadata": { | ||
"kernelspec": { | ||
"display_name": "Python 3 (ipykernel)", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 3 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython3", | ||
"version": "3.9.14" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 5 | ||
} |
Oops, something went wrong.