Подтвердить что ты не робот

Word2vec lemmatization of the corpus перед тренировкой

Word2vec, кажется, в основном обучен на необработанных данных корпуса. Однако лемматизация является стандартной предварительной обработкой для многих задач семантического сходства. Мне было интересно, есть ли у кого-нибудь опыт лемматизации корпуса перед обучением word2vec и полезный ли это шаг предварительной обработки.

4b9b3361

Ответ 1

Я думаю, что действительно важно, что вы хотите решить с этим. Это зависит от задачи.

По сути, с помощью лемматизации вы сокращаете пространство ввода, что может помочь, если у вас недостаточно обучающих данных.

Но поскольку Word2Vec довольно большой, если у вас достаточно большие обучающие данные, лемматизация не принесет вам много пользы.

Кое-что более интересное, как сделать токенизацию относительно существующей дикции слов-векторов внутри W2V (или чего-либо еще). Например, "Хорошие кексы стоят 3,88 доллара США в Нью-Йорке". должен быть размечен на ['Good', 'muffins', 'cost', '$', '3.88', 'in', 'New York.]] Затем вы можете заменить его векторами из W2V. Проблема в том, что некоторые токенизаторы мой токенизируют "Нью-Йорк" как ["Нью-Йорк"], что не имеет особого смысла. (Например, NLTK делает эту ошибку https://nltk.googlecode.com/svn/trunk/doc/howto/tokenize.html). Это проблема, когда у вас много фраз из нескольких слов.

Ответ 2

Текущий проект, над которым я работаю, включает идентификацию имен генов в темах биологии, используя векторное пространство, созданное Word2Vec. Когда мы запускаем алгоритм без лемматизации Корпуса, в основном возникают 2 проблемы:

  • Словарь становится слишком большим, поскольку у вас есть слова в разных формах, которые, в конце концов, имеют одинаковое значение.
  • Как уже отмечалось выше, ваше пространство становится менее разреженным, поскольку вы получаете больше представителей определенного "значения", но в то же время некоторые из этих значений могут быть разделены среди его представителей, позвольте мне пояснить пример

В настоящее время мы заинтересованы в гене, признанном аббревиатурой BAD. В то же время "плохое" - это английское слово, которое имеет разные формы (плохо, хуже,...). Поскольку Word2vec строит свои векторы на основе вероятности контекста (его окружающих слов), когда вы не лектифицируете некоторые из этих форм, вы можете потерять связь между некоторыми из этих слов. Таким образом, в случае BAD вы можете найти слово ближе к именам генов вместо прилагательных в векторном пространстве.