Комментарии 14
Может быть вы как то использовали ранговую корреляцию в прямом ( изба -> дом, крыльцо, ...) и обратном ( дом->изба, крыльцо->изба, ...->изба) вычислении вектора наиболее похожих слов и это назвали «ассоциацией»? Или что? Где описание алгоритма?
Т.е. это не вариация word2vec от слова совсем. Это скорее попытка получить дополнительные данные о языке, которых в дистрибутивных моделях не хватает.
Какую задачу вы решали? Чем ваш датасет может помочь лучше чем предварительно морфологизированный word2vec на приличном исходном множестве текстов?
word2vec это невероятно хороший, дешёвый и эффективный подход, который будет занимать весомое место в мире NLP ещё долгое время. Но слабость дистрибутивных моделей в том, что они заведомо работают со сжатым источником информации — письменным текстом. И это означает, что в данной парадигме часть задач по обработке языка мы никогда не решим.
Например мы не сможем сделать анализ тональности, если у нас не будет заранее размеченного по сентименту датасета. Или мы не сможем автоматически составить тезаурус для новой предметной области. Даже задача поиска синонимов в рамках дистрибутивных моделей сталкивается с непреодолимыми трудностями.
Возвращаясь к исходному вопросу. На практике имеет смысл использовать то, что уже себя зарекомендовало и хорошо работает. Например word2vec. Но хочется двигаться и к более глобальной цели — научить компьютер «думать» и, главное, научить его учиться как человек, задавая вопросы и накапливая знания. Нам видится, что этот датасет и набор по семантике (см. Научи бота! — разметка эмоций и семантики русского языка) помогут продвинуться в этом направлении. А там и практические применения подтянутся, но до этого нужно провести большую исследовательскую работу.
И я не понимаю как эти данные могут автоматически помочь в сентимент-анализе без разметки и в автоматическим составление тезауруса под новую предметную область.
Не подумайте что я наезжаю, просто действительно, проделан большой объем работы, но кроме предположений из той статьи, на которую вы ссылаетесь, что бот запутается в эмоциях если делать его через word2vec я не увидел никаких проверок неадекватности существующих моделей и улучшений на вашем датасете. Что-то есть в вашей идее, но, боюсь, глобально и усреднено — нейронные сети лучше разберутся что к чему )))
PS Кстати, о Glove. У меня сложилось впечатление что эта модель работает хуже чем word2vec. По крайней мере в моих тестах мне так показалось.
По второму вопросу. Здесь мы говорим о нашей работе в целом. Сейчас делаем эмоциональную разметку русского языка и assoc2vec может быть альтернативой дистрибутивным моделям при работе с эмоциями и тональностью, т.к. ассоциации хорошо сохраняют эмоциональную поляризацию.
Что касается тезауруса, то в силу асимметричности матрицы ассоциаций, в ней можно проследить гиперонимические и гипонимические связи. Для новых предметных областей — скорее цель на будущее.
GloVe и у меня в реальных задачах показывал себя хуже. К тому же он медленнее обучается. Мне кажется это связано с тем, что он работает со сжатой информацией. Допустим слово A встречается с X и Y 50 раз, а также с U и V 75 раз. Но со словами U/V и X/Y — никогда. Матрица совстречаемости, как мне кажется, такие закономерности не увидит.
В случае с ассоциациями альтернативы нет — исходные данные уже представляют собой матрицу совстречаемости. К тому же GloVe лучше работает с редкими словами и здесь это может пригодиться.
По первому вопросу. Надо экспериментировать и проверять. Учитывайте и тот момент, что в наборе приведены сырые данные, т.e. не аналог результата работы word2vec, а "мысленные контексты" на которых он обучился. Не исключено, что придётся заранее кластеризовать, ведь ассоциации идут к разным значениям слова.
Если промаркировать язык с точки зрения семантики (проект Научи бота!), то появится возможность дообучаться для новых слов в учётом их контекстов, синтаксической позиции и т.д. Затем можно использовать дистрибутивные модели для поиска вариантов, а семантические модели для кластеризации и соотнесения полученных связанных слов между собой. Это уже и для практического применения в боевых системах обработки текста, где нет или мало размеченных данных, выглядит супер-секси.
Есть задача распространить это на другие типы контекстов помимо AN, но руки всё не доходят.
Все в детстве играли в игру, когда один человек называет слово, сосед предлагает свою ассоциацию. Потом придумается ассоциация к ассоциации и т.д. Часто интересно не только услышать ассоциацию другого человека, но и понять ход его мыслей, как он пришёл к тому или иному слову. Это позволяет немного заглянуть в то, как мы мыслим.
Возможно, это позволяет заглянуть в то, как мыслит конкретный человек. Да, культура накладывает свой отпечаток на ассоциации, но насколько? Есть игра по ТВ, называется 100 к 1, полностью на ассоциации. Больше 45 % не получается.
Датасет: ассоциации к словам и выражениям русского языка