Category: путешествия

Category was added automatically. Read all entries about "путешествия".

Визуализация влияния batch_size на качество модели wordchar2vector - ч.3

Продолжение поста https://kelijah.livejournal.com/237155.html.

То, что казалось достаточно очевидным и логичным, стало интересным при увеличении количества исходных данных. Я погонял обучение модели на новых batch_size и даже по 2 раза для некоторых batch_size, и получается вот такое облако для максимальной достигаемой точности при разных batch_size:
Collapse )
Спад для batch_size>=1000 достаточно четкий, но вот все что слева уже не такое простое. Можно видеть даже, как batch_size=180 и 500 дают очень близкие результаты, это больше похоже на плато или макушку параболы.

Перестановочная нормализация фраз в результатах оценки сентимента

Сделал очень простой алгоритм, который подбирает правильный порядок слов в ходе нормализации словосочетаний.

Выдержка из результатов тестового прогона по моей базе оценок из отзывов:

Collapse )

Сейчас в базе 23990 уникальных словосочетаний по которым сделана оценка или обнаружен факт наличия/отсутствия какого-то аспекта. Общее количество оценок и фактов равно 9677415. Думаю, можно попытаться поучить RNN/LSTM модель нормализовать словосочетания по такому шаблону:

Collapse )

100% качества добиться, наверное, вряд ли получится из-за ограничений на объем памяти в сетке, но общие закономерности рекуррентная модель должна уловить. Например:

приведение к нейтральной форме:
анимация бедноватенькая ==> бедноватая анимация

приведение главного существительного к словарной форме и пересогласование зависимого прилагательного:
анимационные программы очень веселые ==> очень веселая анимационная программа

и так далее.

Разбор отзывов

До НГ тестировал парсер на самом тяжелом материале, который есть - на отзывах, которые люди оставляют в инете. В моем случае это отзывы на отдых в разных отелях.

Во-первых, теперь я на 100%, что синтаксис в варианте dependency tree является очень сильной идеализацией для повседневной речи. Ошибки, опечатки, потоки слов без разделитей постоянно сбивают парсер и сильно повышают процент ошибок:

Мы били с мужем в 2013 году в сентябре это ужас какой-то этот пансионат испортил нам весь отдых:
Таких как мы была целая очереди и в следующе дни тоже самое, те люди которые приезжали туда их отказывались заселять и врали им в лицо что их нет в списках...


Но это-то, конечно, не самое неприятное в рамках задачи определения тональности, для которой парсер и тестировался.
Вот как определять тональность в условиях сарказма и иронии:

Collapse )
А основной массив предложений с ненулевой тональностью вообще находится в категории "common sence", то есть понятно, почему это плохо, но объяснить это через лексический анализ (хоть bag of word, хоть как-то еще), по-моему, нереально:

Collapse )

Skip-gram и открой окно пошире...

Продолжая http://kelijah.livejournal.com/167972.html.
В word2vector модели при генерации поставил cbow=0 и слелал размер окна 10.
Плюс изменил порядок сравнения близости контекстов.
Итог - неточность снятия омонимии и определения нужного смысла для многозначных слов упала в 3 раза, до ~8%:
Collapse )

Черновое сравнение tf-idf и word2vector как основы для word-sense disambiguation

Сравниваем два алгоритма для word-sense disambiguation (продолжение http://kelijah.livejournal.com/167784.html) Оба сводятся к вычислению cosine similarity, хотя строят векторы документов и предложений по-разному.
Расчет tf-tdf делался с лемматизацией. Стратегическая задумка - сделать еще и глубокую нормализацию, с приведением к "лучшему общему синониму", к нормальной форме для уменьшительно-ласкательных и к глагольному прототипу для словообразовательных гнезд.

Итоги:

tf-idf: Error count=16 (26,2295081967213%)
word2vector: Error count=13 (21,3114754098361%)

Подробный листинг с тестовыми примерами:
Collapse )

Пыльца и мёд /// word2vec

У меня появляется ощущение, что по мере роста обработанного корпуса, создаваемые кластеры становятся более осмысленными.

Хотя даже на уровне 700-800 Мб в utf-8 фактор исходников слишком значителен.

Далее некоторые примеры кластеров, которые образовались для лемматизированного корпуса в 750 Мб.

Collapse )