Это сообщение в блоге представляет собой отрывок из главы 6 электронной книги « От слов к мудрости. Введение в интеллектуальный анализ текстов с помощью KNIME » В. Турси и Р. Силипо, опубликованное KNIME Press. Более подробная версия этого сообщения также доступна в блоге KNIME: Встраивание слов: объяснение Word2Vec.

Встраивание Word2Vec

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

В Расширении обработки текста KNIME узел Вектор документа преобразует последовательность слов в последовательность 0/1 - или частотных чисел - в зависимости от наличия / отсутствия определенного слова в исходном тексте. Это также называется горячим кодированием. Однако у однократного кодирования есть две большие проблемы:

- создает очень большую таблицу данных с возможностью большого количества столбцов;

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

Поэтому метод Word2Vec был задуман с двумя целями:

- уменьшить размер пространства кодирования слова (пространство вложения);

- сжать в словесном представлении наиболее информативное описание для каждого слова.

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

- исходя из этого контекста, предскажите целевое слово (метод непрерывного набора слов или CBOW)

- от целевого слова предсказать контекст, из которого оно появилось (подход с пропуском грамматики)

Метод Word2Vec основан на полностью связанной архитектуре с прямой связью [1] [2] [3], где контекст или целевое слово представлены на входном слое, а целевое слово или контекст прогнозируется на выходном уровне в зависимости от выбранного подхода. Выходные данные скрытого слоя принимаются как представление входного слова / контекста вместо представления однократного кодирования. См. Сообщение в блоге KNIME Встраивание слов: объяснение Word2Vec »для получения более подробной информации.

Представление слов и понятий с помощью Word2Vec

В KNIME Analytics Platform есть несколько узлов, которые занимаются встраиванием слов.

· Узел Word2Vec Learner инкапсулирует библиотеку Word2Vec Java из интеграции DL4J. Он обучает нейронную сеть либо CBOW, либо Skip-gram. Модель нейронной сети доступна на выходном порте узла.

· Узел Vocabulary Extractor запускает сеть для всех словарных слов, изученных во время обучения, и выводит их векторы внедрения.

· Наконец, узел Word Vector Apply размечает все слова в документе и предоставляет их векторы внедрения, сгенерированные нейронной сетью Word2Vec, на своем входном порте. Результатом является таблица данных, в которой слова представлены как последовательности чисел, а документы представлены как последовательности слов.

Вся интуиция, лежащая в основе подхода Word2Vec, состоит в представлении слова на основе его контекста. Это означает, что слова, встречающиеся в аналогичных контекстах, будут встраиваться одинаково. Сюда входят синонимы, противоположности и семантически эквивалентные концепции. Чтобы проверить эту интуицию, мы построили рабочий процесс в KNIME Analytics Platform. Рабочий процесс доступен для бесплатной загрузки с сервера KNIME EXAMPLES по ссылке:

08_Other_Analytics_Types / 01_Text_Processing / 21_Word_Embedding_Distance.

В этом рабочем процессе мы обучаем модель Word2Vec на 300 научных статьях из PubMed. Один набор статей был извлечен с использованием запроса рак мыши, а другой набор статей - с использованием запроса СПИД человека.

После прочтения статей, преобразования их в документы и очистки текстов в обернутом метаноде «Предварительная обработка» мы обучаем модель Word2Vec с помощью узла Word2Vec Learner. Затем мы извлекаем все слова из модельного словаря и открываем их векторы внедрения с помощью узла Vocabulary Extractor. Наконец, мы вычисляем евклидовы расстояния между векторными парами в пространстве вложения.

На рисунке вверху этого поста показаны некоторые результаты этого рабочего процесса, то есть расположение некоторых словарных слов в пространстве для встраивания с помощью интерактивной диаграммы рассеяния. Для скриншота выше мы выбрали координаты внедрения # 3 и # 10.

На графике встраивания координат «рак» и «опухоль» очень близки, показывая, что они часто используются как синонимы. Точно так же «СПИД» и «ВИЧ» тоже очень близки, как и следовало ожидать. Обратите внимание, что «мышь» находится между «СПИДом», «раком», «опухолью» и «ВИЧ». Вероятно, это связано с тем, что большинство статей в наборе данных описывают данные о раке и СПИДе, связанные с мышами. Слово «пациенты», хоть и близко к болезням, но дальше слова «мышь». Наконец, «женщины» находятся на противоположной стороне сюжета, рядом со словом «грудь», что тоже правдоподобно. Из этого небольшого сюжета и небольшого набора данных внедрение встраивания слов кажется многообещающим.

Примечание. Все слова, связанные с болезнями, очень близки друг к другу, например, «ВИЧ» и «рак». Даже если эти слова относятся к разным заболеваниям и различным понятиям, таким как «ВИЧ» и «рак», они по-прежнему являются темой большинства статей в наборе данных. То есть, с точки зрения семантической роли, они могут считаться эквивалентными и, следовательно, оказываются близко друг к другу в пространстве вложения.

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

использованная литература

[1] Ле К., Миколов Т. (2014) Распределенное представление предложений и документов, Труды 31-й Международной конференции по машинному обучению, Пекин, Китай, 2014. JMLR: W&CP volume 32.

[2] Analytics Vidhya (2017), Интуитивное понимание встраивания слов: от векторов подсчета к Word2Vec

[3] Маккормик, К. (19 апреля 2016 г.). Учебное пособие по Word2Vec - Модель Skip-Gram. Получено с http://www.mccormickml.com http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/