Skip to content

Commit

Permalink
add hw 2
Browse files Browse the repository at this point in the history
  • Loading branch information
mannefedov committed Sep 27, 2023
1 parent c74372e commit d138915
Show file tree
Hide file tree
Showing 2 changed files with 424 additions and 176 deletions.
178 changes: 178 additions & 0 deletions notebooks/first_module_intro/02_homework.ipynb
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
}
Loading

0 comments on commit d138915

Please sign in to comment.