Що є кращим вкладом для Word2Vec?


22

Це більше схоже на загальне питання НЛП. Який відповідний вклад для підготовки вбудовування слова, а саме Word2Vec? Чи повинні всі речення, що належать до статті, бути окремим документом у корпусі? Або кожна стаття повинна бути документом у зазначеному корпусі? Це лише приклад використання python та gensim.

Корпус розділений на речення:

SentenceCorpus = [["first", "sentence", "of", "the", "first", "article."],
                  ["second", "sentence", "of", "the", "first", "article."],
                  ["first", "sentence", "of", "the", "second", "article."],
                  ["second", "sentence", "of", "the", "second", "article."]]

Корпус розділений за статтею:

ArticleCorpus = [["first", "sentence", "of", "the", "first", "article.",
                  "second", "sentence", "of", "the", "first", "article."],
                 ["first", "sentence", "of", "the", "second", "article.",
                  "second", "sentence", "of", "the", "second", "article."]]

Навчання Word2Vec в Python:

from gensim.models import Word2Vec

wikiWord2Vec = Word2Vec(ArticleCorpus)

Відповіді:


14

Відповідь на це питання полягає в тому, що це залежить . Основний підхід полягає в передачі токенізованих речень (так, SentenceCorpusу вашому прикладі), але залежно від того, яка ваша мета і який корпус ви дивитесь, ви можете замість цього використати всю статтю, щоб вивчити вбудовування. Це те, що ви, можливо, не знаєте заздалегідь - тому вам доведеться подумати про те, як ви хочете оцінити якість вбудовування, і зробити кілька експериментів, щоб побачити, який тип вбудовування корисніший для вашої задачі ( з).


Прямо на місці. Я використовував вбудовування в модель і, як ви вже згадували, було велике поліпшення прогнозних показників моделі, коли я використав всю статтю. Тож у якому випадку тренінг за реченням був би вищим.
воск

1
Ви повинні подивитися і побачити, як слова, що мають подібні вектори, пов’язані між собою. Проведено певну роботу щодо розміру вікна контексту та типу контексту, який дозволяє припустити, що менші вікна (а можливо, менший розмір документа, як-от речення) можуть створювати слова, які функціонально схожі (наприклад, штати США), а не локально схожі ( як, наприклад, штати США та пов'язані з урядом слова) мають більше подібних векторів. Я здебільшого цитую Омера Леві та вбудовані слова, засновані на залежності Йоава Голдберга від 2014 року. Хоча я можу помилитися і хотів би виправити, якщо так.
NBartley

1

Як доповнення до відповіді @ NBartley. Комусь стикається з цим питанням. Я спробував використовувати статтю / речення як вхід для word2vec на Spark2.2, результат наступний.

використовувати речення як вхід:

введіть тут опис зображення

використовувати статтю як вхід:

введіть тут опис зображення


0

Для першого, gensim має клас Word2Vec. Для останнього Doc2Vec.

http://rare-technologies.com/doc2vec-tutorial/


3
doc2vec істотно відрізняється, ніж виконання word2vec на корпусі статей, а не речень. doc2vec вивчить уявлення самих статей, а не лише слова.
jamesmf
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.