# Команда ARMA
<!--
Каждая команда должна подготовить рассказ о своем решении на 3-5 минут. Пример создания слайдов https://hackmd.io/s/slide-example
-->
[TOC]
---
## Предобработка текстов 1
Использовали библиотеку nltk:
- Делили на предложения sent_tokenize, приводили к нижнему регистру, удаляли пунктуацию, числа, адреса почт, сокращения, лишние пробелы, делили предложения на слова word_tokenize и выкидывали стоп-слова stopwords из nltk.corpus, добавив слова из заголовков текстов: 'summary', 'lines', 'keywords', 'faq', ..
---
## Предобработка текстов 2
Использовали библиотеку nltk:
- Затем лемматизацию WordNetLemmatizer из nltk.stem с определением частей речи с pos_tag из nltk. Некоторые слова не привелись в начальную форму. Тогда сделали повторную лемматизацию с фильтром нужных частей речи ['NN', 'NNS', 'RB', 'VB', 'VBP', 'VBD', 'VBG', 'JJ', 'VBZ', 'VBN']
---
## Обучение эмбеддингов 1
- Какие подходы к обучению эмбеддингов вы применяли?
К полуфиналу построили модель word2vec, но поняли, что слова у команд могут отличаться и наша модель часто видит незнакомые слова и не дает ответа.
---
## Обучение эмбеддингов 2
- Какие подходы к обучению эмбеддингов вы применяли?
К финалу использовали fasttext. Перебирали параметры, смотрели результат на выборочных словах из прогонов. Итоговая модель - skipgram, dim=20, minCount=15.
- Что хотели попробовать, но не успели?
Получше подумать над тем, как сравнивать модели. Узнать, какие есть еще подходы и попробовать их.
---
## Логика загадывания и отгадывания слова 1
- Какую логику загадывания слова вы реализовали?
Брали ближайшие по косинусному расстоянию слова к загаданному слову или списку слов.
---
## Логика загадывания и отгадывания слова 2
- Какие идеи вы попробовали? Что оказалось удачным решением, что нет?
Для отгадывания слова пробовали а) выдавать близкие слова только к новому слову в списке, на рандомных словах, казалось, работало, на прогонах нет;б) сортировать топ близких слов только к новому слову и топ ко всему списку;
---
## Логика загадывания и отгадывания слова 3
- Какие идеи вы попробовали? Что оказалось удачным решением, что нет?
в) топ только к списку. Это казалось более рабочим на прогонах.
Также добавили фильтрацию слов, которая использовалась в финале.
---
## Валидация созданного решения
- Как измеряли качество решений?
Смотрели глазами, как угадывают)
- Как выбирали лучшее решение?
Играли игру между своими моделями, больше ориентировались на слова из логов объясняющих и отгадывающих команд, даже находили похожую по объяснениям и угадываниям команду в какой-то день.
---
## Деплой сервиса с моделью
- Использовали Heroku. Не любая модель помещалась по памяти, в последний день была попытка деплоить с помощью google cloud kubernetes, но не получилось, и осталась модель на heroku.
- Какие полезные выводы можно сделать, чтобы запомнить их на будущее?
Разбираться сразу с более мощными инструментами, не откладывать их применение
{"metaMigratedAt":"2023-06-15T02:35:40.601Z","metaMigratedFrom":"YAML","title":"Рассказ о решении соревнования по игре в шляпу","breaks":true,"description":"View the slide with \"Slide Mode\".","slideOptions":"{\"theme\":\"white\",\"transition\":\"slide\"}","contributors":"[{\"id\":\"069b6029-3722-4994-8a52-d37336a945c7\",\"add\":3832,\"del\":2344}]"}