Как компьютерная лингвистика подсела на нейронные сети и диплернинг, какие подходы сегодня в тренде и почему они так хороши
В этом посте описаны основные недавние достижения в области обработки естественного языка с помощью нейронных сетей.
Дисклеймер: Около 15 лет плодотворной работы ученых здесь представлены всего восемью важнейшими достижениями, наиболее актуальными на сегодня. В частности, фокус сильно смещен в сторону описания современных нейросетевых подходов. Из-за этого может создаться ложное впечатление, что никакие другие методы не оказывали влияния на развитие автоматической обработки языка. Это не так, просто многие важные события не упомянуты в статье сознательно. Что еще более важно, многие модели нейронных сетей, описанные в этом посте, основаны на достижениях той же эпохи, не связанных с развитием нейросетей. В заключительном разделе специально упомянут один влиятельный труд, заложивший основу последующих успехов нейросетей.
Задача языкового моделирования в узком смысле — спрогнозировать следующее слово в тексте, глядя на предшествующие слова. Вероятно, это самая простая задача в сфере обработки языка, результат решения которой имеет конкретное практическое применение в виде интеллектуальных клавиатур, предложения возможного ответа на электронное письмо (Kannan et al., 2016), автоисправления ошибок и опечаток, и так далее.
Неудивительно, что языковое моделирование имеет богатую историю. В основе классических подходов лежит N-граммная модель; чтобы обработать N-граммы, которые модель не встречала, в них задействуются методы сглаживания (Kneser & Ney, 1995).
Первая нейронная языковая модель, построенная на основе нейросети прямого распространения, была предложена Йошуа Бенжио в 2001 году. Схема ее работы выглядит так:
В качестве входных данных эта модель принимает векторные представления n предыдущих слов (Системный Блокъ рассказывал о векторных представлениях слов тут и тут). В настоящее время для таких векторных представлений слов используют сжатый вариант — эмбеддинги (word embedding). Эти сжатые векторы объединяются и передаются в скрытый слой, выходные данные которого затем передаются в softmax слой, где срабатывает функция активации (она решает, какой сигнал пойдет дальше, а какой «потухнет», так определяется и итоговая выдача нейросети).
Позднее для языкового моделирования вместо нейронных сетей с прямой связью стали использоваться рекуррентные нейронные сети (RNN; Mikolov et al., 2010), а также сети с долгой краткосрочной памятью (LSTM-сети; Graves, 2013). В последние годы было предложено много новых языковых моделей, расширяющих возможности классических LSTM-сетей.
Однако классические LSTM-сети сохраняют свои позиции (Melis et al., 2018). Даже обычная нейронная сеть с прямой связью, использованная Бенжио в 2001 году, в некоторых условиях способна составить конкуренцию более сложным моделям, поскольку все они учатся воспринимать только самые близкие предшествующие слова (Daniluk et al., 2017). Отдельные исследования ведутся для того, чтобы понять, какая именно информация позволяет таким языковым моделям работать (Kuncoro et al., 2018; Blevins et al., 2018).
Языковое моделирование — самая подходящая тренировочная площадка для применения RNN. Построение языковой модели относится к задачам обучения без учителя. Один из главных авторитетов в области глубинного обучения Ян Лекун называет это предиктивным или прогностическим обучением и считает его предварительным условием приобретения нейронными сетями здравого смысла. Вероятно, наиболее знаменательная особенность языкового моделирования заключается в том, что, несмотря на его простоту, оно служит основой для многих последующих достижений, обсуждаемых в этом посте:
Таким образом, многие недавние достижения в области обработки естественного языка сводятся к одному из видов языкового моделирования. Однако чтобы добиться настоящего понимания естественного языка, простого обучения на «сырых» необработанных текстах, скорее всего, будет недостаточно — потребуются новые методы и модели.
Многозадачное обучение — это общий подход, при котором модели обучаются выполнению различных задач на одних и тех же параметрах. В нейронных сетях этого можно легко добиться, связав веса разных слоев. Идея многозадачного обучения была впервые предложена Ричем Каруаной в 1993 году и применялась для прогнозирования пневмонии, а также для создания системы следования дороге на беспилотных устройствах (Каруана, 1998). Фактически при многозадачном обучении модель стимулируют к созданию внутри себя такого представления данных, которые позволяет выполнить сразу много задач. Это особенно полезно для обучения общим низкоуровневым представлениям, на базе которых потом происходит «концентрация внимания» модели (см. раздел «Внимание» далее в этой статье) или в условиях ограниченного количества обучающих данных.
Многозадачное обучение нейросетей для обработки естественного языка было впервые применено в 2008 году Коллобером и Уэстоном (Collobert & Weston, 2008). В их модели матрица векторных представлений слов является общей для двух моделей, обучающихся различным задачам:
Совместное использование одних и тех же векторных представлений слов позволяет моделям взаимодействовать и обмениваться общей информацией низкоуровневого характера, т.е. некоторыми «базовыми» представлениями об элементах текстов.
Результаты Коллобера и Уэстона после их публикации в 2008 году оказали влияние не только на использование многозадачного обучения. В статье также были выдвинуты такие идеи, как создание предварительно обученных матриц векторных представлений слов и использование сверточных нейронных сетей для работы с текстом — раньше сверточные сети (CNN) использовались только для изображений, и лишь недавно оказалось, что они применимы в NLP. На международной конференции по машинному обучению в 2018 году статья была удостоена награды test-of-time (испытание временем).
Многозадачное обучение теперь используется для самых разных задач обработки естественного языка. Иногда вторая задача, которую заставляют решать многозадачную модель, вообще совершенно искусственная — что-то типа «найти в тексте все упоминания животных». На самом деле нам не нужно их искать: нейросеть обучают и этому тоже просто для того, чтобы улучшить выполнение основной задачи (например, предсказания следующего слова). Удивительно, но это работает: благодаря мультиобучению основная модель получает более хорошие признаки на вход — подробнее см. в (Ruder et al., 2017).
Сейчас модели все чаще оцениваются по результатам решения сразу нескольких задач, по их способности к обобщению. Многозадачное обучение приобретает все большее значение, и для него разрабатывают все больше способов оценки качества (Wang et al., 2018; McCann et al., 2018).
Разреженные матрицы векторно представленного текста, так называемая модель «мешка слов», имеет долгую историю в области обработки естественных языков. Плотные векторные представления слов или word embeddings также используются еще с 2001 года, как было сказано выше. Основное нововведение, предложенное в 2013 году Томашом Миколовым и его соавторами, сделало обучение этих векторных представлений слов более эффективным посредством устранения скрытого слоя и аппроксимации цели. Хотя эти изменения были просты по своей природе, они позволили — в совокупности с эффективной реализацией word2vec модели — провести массовое обучение векторных представлений слов.
У word2vec модели есть две разновидности, которые можно увидеть на рис. 3 ниже: «непрерывный мешок слов (continuous bag of words)» и «словосочетание с пропуском (skip-gram)». Они различаются по своей цели: первая предсказывает центральное слово на основе окружающих его слов, а вторая выполняет обратное действие.
Хоть эти векторные представления и не отличаются концептуально от тех, которые были обучены посредством нейронной сети с прямой связью, обучение на очень большом корпусе позволяет им научиться приблизительно определять гендерные и видовременные отношения между словами и их формами, а также отношения между страной и ее столицей, что можно увидеть на рис. 4 ниже.
Эти отношения и смыслы, стоящие за ними, и вызвали первоначальный интерес к векторным представлениям слов; многие исследования были посвящены определению происхождения этих линейных отношений (Arora et al., 2016; Mimno & Thompson, 2017; Antoniak & Mimno, 2018; Wendlandt et al., 2018). Однако более поздние исследования показали, что отношения между словами не всегда определяются объективно (Bolukbasi et al., 2016). Развитие векторных представлений слов стало основным направлением в области естественной обработки языка благодаря тому, что использование предварительно обученных представлений для инициализации улучшает результативность решения широкого спектра последующих задач.
Когда-то отношения между словами и их векторными представлениями казались почти волшебными, однако более поздние исследования показали, что в алгоритме word2vec нет ничего особенного: определению таких отношений можно также обучить, применяя методы матричной факторизации (Pennington et al, 2014; Levy & Goldberg, 2014), и при правильной настройке, использование классических подходов к факторизации матрицы, таких как сингулярное разложение и латентно-семантический анализ (LSA; «Системный Блокъ» немного писал об этом здесь), приводит к достижению аналогичных результатов (Levy et al., 2015).
С тех пор была проделана большая работа по изучению различных аспектов векторных представлений слов (о чем свидетельствует огромное количество цитирований оригинальной статьи Миколова и его соавторов). Несмотря на многие нововведения, алгоритм word2vec по-прежнему популярен и широко используется в наше время. Word2vec модели стали использоваться даже за пределами уровня слова: модель «словосочетание с пропуском» с отрицательной выборкой (skip-gram with negative sampling), удобная для обучения векторных представлений на основе локального контекста, использовалась для создания векторных представлений предложений (Mikolov & Le, 2014; Kiros et al., 2015) и даже за пределами области обработки естественного языка: в сетях (Grover & Leskovec, 2016), биологических последовательностях (Asgari & Mofrad, 2015), и других областях.
Одним из особенно интересных направлений является проекция векторных представлений слов разных языков в одно и то же пространство для обеспечения межъязыкового перевода (с нуля). Обучение такой проекции хорошего качества полностью без учителя становится все возможнее (по крайней мере, для похожих языков) (Conneau et al., 2018; Artetxe et al., 2018; Søgaard et al., 2018), что находит применение в переводе с низкоресурсных языков и обратно, а также машинном переводе без учителя (Lample et al., 2018; Artetxe et al., 2018).
2013 и 2014 годы ознаменовали начало внедрения нейросетевых моделей в процесс обработки естественного языка. Наиболее широко стали использоваться три основных типа нейронных сетей: рекуррентные нейронные сети, сверточные нейронные сети и рекурсивные нейронные сети.
Рекуррентные нейронные сети (RNN) являются очевидным выбором при работе с динамическими входными последовательностями, повсеместно встречающимися при обработке естественного языка. «Ванильные» RNN (Elman, 1990) были быстро заменены классическими LSTM-сетями, то есть сетями с долгой краткосрочной памятью (Hochreiter & Schmidhuber, 1997), которые оказали большее сопротивление возникающей проблеме исчезающего (или взрывного) градиента.
До 2013 года обучение RNN все еще считалось трудной задачей; кандидатская диссертация Ильи Суцкевера (Sutskever, 2013) стала ключевым элементом на пути к изменению сложившейся репутации. Схема ячейки LSTM-сети представлена на рис. 5 ниже. Двунаправленная LSTM-сеть (Graves et al., 2013) обычно используется для работы одновременно с левым (предшествующим единице) и правым (последующим) контекстом.
Когда сверточные нейронные сети (CNN) стали широко использоваться в компьютерном зрении, они также начали применяться в обработке языка (Kalchbrenner et al., 2014; Kim et al., 2014). При работе с текстом, параметры сверточной нейросети задаются только в двух измерениях, причем фильтры необходимо перемещать только во временном измерении. На рис. 6 представлена схема типичной сверточной нейросети, использующейся для обработки естественного языка.
Преимущество сверточных нейронных сетей состоит в том, что их можно распараллелить в большей степени, чем РНС, поскольку состояние нейронных элементов на каждом временном шаге зависит только от локального контекста (благодаря операции свертки), а не от всех прошлых состояний, как в РНС. С использованием расширенных свертков, а значит расширением полей восприятия, могут быть расширены и сами СНС, что позволит им охватить более широкий контекст (Kalchbrenner et al., 2016). СНС и LSTM-сети также могут быть объединены и вложены друг в друга (Wang et al., 2016), а свертки могут быть использованы для ускорения LSTM-сетей (Bradbury et al., 2017).
И RNN, и CNN рассматривают язык как последовательность слов. Однако с лингвистической точки зрения язык по своей сути иерархичен: слова образуют единицы более высокого порядка, такие как фразы и предложения, которые, в свою очередь, могут рекурсивно объединяться в соответствии с правилами языка. Пришедшая из области лингвистики идея рассматривать предложения как деревья, а не как последовательность слов, порождает рекурсивные нейронные сети (Socher et al., 2013), схему работы которых можно увидеть на рис. 7 ниже.
Рекурсивные нейронные сети строят представление последовательности снизу вверх, в отличие от RNN, которые обрабатывают предложение слева направо или справа налево. В каждом узле дерева новое представление вычисляется путем «слияния» представлений дочерних узлов. Поскольку дерево также можно рассматривать как метод, просто изменяющий порядок обработки данных в RNN, LSTM-сети естественным образом были расширены до деревьев (Tai et al., 2015).
Не только RNN и LSTM-сети могут быть расширены таким образом для работы с иерархическими структурами. Векторные представления слов также можно обучать, основываясь не только на локальном, но и на грамматическом контексте (Levy & Goldberg, 2014); языковые модели могут генерировать слова на основе синтаксического стека (Dyer et al., 2016); а сверточные нейронные сети на графах могут оперировать деревьями (Bastings et al., 2017).
В 2014 году Суцкевер и соавт. предложили новую модель обучения — sequence-to-sequence (из последовательности в последовательность), общей концепцией которой является преобразование одной последовательности в другую с использованием нейронной сети. Механизм ее работы таков: одна нейросеть-кодер (encoder) обрабатывает предложение символ за символом и сжимает данные в векторное представление; а вторая нейросеть-декодер (decoder) затем прогнозирует выходные данные, также посимвольно, основываясь на состоянии кодера, и принимая в качестве входных данных символ, предсказанный на предыдущем шаге. Схему ее работы можно увидеть на рис. 8 ниже.
Применение этой структуры в машинном переводе оказалось очень эффективным. В 2016 году Google объявил, что начинает заменять свои монолитные, основанные на переводе фраз, модели машинного перевода на нейронные модели (Wu et al., 2016). По словам Джеффа Дина, легендарного главного IT-спеца корпорации Google, это означало замену 500 000 строк кода, из которых состояла модель фразового машинного перевода, на 500 строк кода нейронной сети.
Благодаря своей гибкости, в настоящее время эта структура является ключевой для решения задач генерации естественного языка, причем роль кодера и декодера может отводиться различным моделям. Важно отметить, что модель декодера может быть настроена на генерацию не только последовательности, но и произвольных представлений. Это позволяет, например, сгенерировать подпись для картинки на ее основе (Vinyals et al., 2015) (как видно на рис. 9 ниже), текст на основе таблицы (Lebret et al., 2016) описание на основе изменений исходного кода (Loyola et al., 2017), и многое другое.
Sequence-to-sequence обучение может даже применяться к частым при обработке естественного языка задачам структурного прогнозирования, когда выходные данные имеют конкретную структуру. Для простоты вывод линеаризован, что можно увидеть на рис. 10 ниже, на котором представлена схема синтаксического анализа предложения на основе грамматики составляющих. При достаточном объеме обучающих данных, нейронные сети продемонстрировали способность непосредственно обучаться производить такой линеаризованный вывод для проведения синтаксического анализа (Vinyals et al, 2015), выделения именованных объектов (Gillick et al., 2016), и др.
Кодеры для последовательностей и декодеры обычно основаны на РНС, но могут использоваться и другие типы моделей. Новые архитектуры в основном появляются из области машинного перевода, которая выступает в качестве чашки Петри для sequence-to-sequence архитектур. Последние модели — это глубокие LSTM-сети (Wu et al., 2016), сверточные кодеры (Kalchbrenner et al., 2016; Gehring et al., 2017), архитектура Transformer (Vaswani et al., 2017), которая будет обсуждаться в следующем разделе, и комбинация LSTM-сети с этой архитектурой (Chen et al., 2018).
Механизм внимания (Bahdanau et al., 2015) — одно из ключевых нововведений в области нейронного машинного перевода. Внимание позволило моделям нейронного машинного перевода превзойти классические системы машинного перевода, основанные на переводе фраз. Основным узким местом в sequence-to-sequence обучении является то, что все содержимое исходной последовательности требуется сжать в вектор фиксированного размера. Внимание облегчает эту задачу, так как позволяет декодеру оглядываться на скрытые состояния исходной последовательности, которые затем в виде средневзвешенного значения предоставляются в качестве дополнительных входных данных в декодер, что можно увидеть на рис. 11 ниже.
Доступны разные формы внимания (Luong et al., 2015). Внимание широко применимо и потенциально полезно при решении любой задачи, которая требует принятия решений на основе определенных компонентов входных данных. Оно применялось в синтаксическом анализе предложения на основе грамматики составляющих (Vinyals et al., 2015), чтении с пониманием прочитанного (Hermann et al., 2015), обучении на одном примере (Vinyals et al., 2016) и многих других. Входные данные даже не обязательно должны быть последовательностью, а могут состоять из других представлений, как в случае создания подписи для изображения (Xu et al., 2015), что можно увидеть на рис. 12 ниже. Полезный побочный эффект внимания заключается в том, что оно обеспечивает редкое, пусть даже и поверхностное, представление о внутренней работе модели: основываясь на весах внимания, можно узнать, какие компоненты входных данных имеют отношение к конкретному выходному результату.
Внимание также не сводится только к просмотру входной последовательности; Внимание к себе можно использовать для просмотра окружающих слов в предложении или документе, чтобы получить более контекстно-зависимые представления слов. Многоуровневое внимание к себе лежит в основе архитектуры Transformer (Vaswani et al., 2017), на данный момент передовой модели, использующейся для нейронного машинного перевода.
Внимание можно рассматривать как форму нечеткой памяти, состоящей из прошлых скрытых состояний модели; причем модель самостоятельно решает, что именно извлекать из памяти. Однако, было предложено много моделей и с более эксплицитной памятью. Есть много разных вариаций, например, нейронная машина Тьюринга (Graves et al., 2014), сети памяти (MemNN) (Weston et al., 2015) и сквозные сети памяти (MemN2N) (Sukhbaatar et al., 2015), сети динамической памяти ( Kumar et al., 2015), дифференцируемый нейрокомпьютер (Graves et al., 2016) и рекуррентная сущностная сеть (Henaff et al., 2017).
Обращение к памяти подобно вниманию и часто осуществляется на основе сходства, ассоциации, с текущим состоянием; память, как правило, может записываться и считываться. Модели отличаются тем, как у них устроена память и как они ее используют. Например, сквозные сети памяти обрабатывают входные данные несколько раз и каждый раз обновляют память, чтобы сделать процесс умозаключения многоступенчатым. Память нейронных машин Тьюринга умеет запоминать относительные пути, что позволяет им обучаться простым алгоритмам (компьютерным программам), таким как сортировка. Модели с ассоциативной памятью, как правило, применяются в решении задач, для которых полезно хранить информацию в течение длительного времени, например, в языковом моделировании или чтении с пониманием прочитанного. Концепция памяти очень универсальна: в качестве памяти может функционировать база знаний или таблица, также она может быть заполнена на основе всех входных данных или отдельных их компонентов.
Предварительно обученные векторные представления слов не зависят от контекста, который анализируется в данный момент, и используются только для инициализации весов первого слоя в наших моделях. В последние месяцы целый ряд задач обучения с учителем использовался для предварительного обучения нейронных сетей (Conneau et al., 2017; McCann et al., 2017; Subramanian et al., 2018). Для обучения языковым моделям требуется лишь неразмеченный текст; и таким образом, масштабы обучения могут достигать миллиардов токенов, новых доменов и новых языков.
Предварительно подготовленные языковые модели были впервые предложены в 2015 году (Dai & Le, 2015), но только недавно их полезность при решении самых разных задач была доказана. Встроенные языковые модели могут использоваться как составляющие целевой модели (Peters et al., 2018), или языковая модель может быть точно настроена на данные задачи-адресата (Ramachandran et al., 2017; Howard & Ruder, 2018). Встраивание языковой модели значительно улучшает даже самые передовые решения множества различных задач, что показано на рис. 13 ниже.
Предварительно обученные языковые модели доказали возможность обучения на значительно меньшем количестве данных. Поскольку для языковых моделей требуются лишь неразмеченные данные, они особенно полезны при работе с малоресурсными языками с дефицитом размеченных данных («Системный Блокъ» недавно рассказывал о других способах работы с малоресурсными языками).
Есть и другие достижения, которые распространены менее, чем все уже упомянутые выше, но все же имеют довольно широкий спектр применения.
Использование СНС или LSTM-сетей при обработке символов для получения символьного представления слов в настоящее время довольно распространено, особенно для работы с языками с развитой системой морфологических форм, а также при решении задач, где важна морфологическая информация или с большим количеством неизвестных слов. Символьные представления были впервые использованы для морфологической (частеречной) разметки и языкового моделирования (Ling et al., 2015), и синтаксического анализа на основе грамматики зависимостей (Ballesteros et al., 2015). Позднее они стали основным компонентом моделей для категоризации членов последовательностей (Lample et al., 2016; Plank et al., 2016) и языкового моделирования (Kim et al., 2016). Символьные представления устраняют необходимость работы с фиксированным словарем c дополнительными вычислительными затратами и позволяют применять полностью символьный нейронный машинный перевод (Ling et al., 2016; Lee et al., 2017).
Состязательные методы взяли штурмом область машинного обучения и также стали использоваться в различных формах обработки естественного языка. Состязательные примеры все шире используются не только в качестве инструмента для исследования моделей и выяснения причин неудач в обучении, но и для того, чтобы сделать модели более надежными и устойчивыми (Jia & Liang, 2017). (Смоделированное) состязательное обучение, то есть создание экстремальных отклонений от нормы (Miyato et al., 2017; Yasunaga et al., 2018) или доменно-состязательных потерь (Ganin et al., 2016; Kim et al., 2017) является успешной формой регуляризации, которая также повышает надежность и устойчивость модели. Генеративные состязательные сети еще не слишком эффективны для генерации естественного языка (Semeniuta et al., 2018), но полезны, например, при парном распределении (Conneau et al., 2018).
Обучение с подкреплением оказалось полезным для решения задач с временной зависимостью друг от друга, таких как выбор данных во время обучения (Fang et al., 2017; Wu et al., 2018) и моделирование диалога (Liu et al., 2018). Обучение с подкреплением эффективно для прямой недифференцируемой оптимизации конечных метрик, таких как ROUGE или BLEU, вместо оптимизации суррогатной функции потерь, например, перекрестной энтропии при суммировании (Paulus et al, 2018; Celikyilmaz et al., 2018), а также для машинного перевода (Ranzato et al., 2016). Точно так же, обучение с отрицательным подкреплением может быть полезно в ситуациях, когда вознаграждение слишком сложно, чтобы его указывать, например, в визуальном повествовании (Wang et al., 2018).
В 1998 году был представлен проект FrameNet (Baker et al., 1998), который привел к возникновению задачи присвоения семантических ролей, одной из форм поверхностного семантико-синтаксического анализа, которая до сих пор активно исследуется. В начале 2000-х годов общие задачи, организованные совместно с CoNLL (конференцией по машинному обучению обработке естественного языка), послужили катализатором для исследований основных задач из этой области, таких как чанкинг (частичный синтаксический разбор, метод, который заключается в разбиении текста на синтаксически связанные фрагменты текста — чанки) (Tjong Kim Sang et al., 2000), распознавание именованных сущностей (Tjong Kim Sang et al. , 2003), синтаксический анализ на основе грамматики зависимостей (Buchholz et al., 2006), и многих других. Многие из наборов данных общих задач CoNLL по-прежнему являются стандартом для оценки работы моделей.
В 2001 году были представлены условные случайные поля (CRF; Lafferty et al., 2001), один из наиболее влиятельных классов методов разметки последовательностей, который получил награду test-of-time (испытание временем) на международной конференции по машинному обучению (ICML) 2011. Слой условных случайных полей является основой современных передовых моделей, решающих проблемы разметки последовательностей взаимосвязанных объектов в таких задачах, как распознавание именованных сущностей (Lample et al., 2016).
В 2002 году была предложена BLEU, метрика двуязычного анализа (BLEU; Papineni et al., 2002), которая позволила увеличить производительность систем машинного перевода и до сих пор остается стандартной метрикой для оценки машинного перевода. В том же году был представлен структурный перцептрон (Collins, 2002), который заложил основу для работы в области структурированного восприятия. На той же конференции было представлено решение задачи анализа тональности текста, одной из самых популярных и широко изучаемых задач в области обработки естественного языка (Pang et al., 2002). Все три проекта были удостоены награды Test-of-time (испытание временем) на конференции NAACL 2018. Кроме того, в том же году был представлен лингвистический ресурс PropBank (Kingsbury & Palmer, 2002). PropBank похож на FrameNet, но фокусируется на глаголах. Этот ресурс часто используется при решения задачи присвоения семантических ролей.
В 2003 году был представлен метод латентного размещения Дирихле (LDA; Blei et al., 2003), ставший одним из наиболее широко используемых методов в машинном обучении, который до сих пор является стандартным способом тематического моделирования. В 2004 году были предложены новые модели классификации данных с максимальным зазором, которые лучше подходят для прослеживания взаимосвязей структурированных данных, чем метод опорных векторов (Taskar et al., 2004a; 2004b).
В 2006 году был представлен проект OntoNotes, большой многоязычный корпус с множественными аннотациями, прекрасно согласованными между собой (Hovy et al., 2006). OntoNotes использовался для обучения различных задач, таких как синтаксический анализ на основе грамматики зависимостей и разрешение кореференции, а также для их оценки. Милн и Виттен в 2008 году описали, как Википедия может быть использована для обогащения методов машинного обучения. На сегодняшний день Википедия является одним из наиболее полезных ресурсов для обучения моделей, будь то связывание сущностей и устранение неоднозначности, языковое моделирование, выступающее в качестве базы знаний, или множество других задач.
В 2009 году была предложена идея дистанционного наблюдения (Mintz et al., 2009). Дистанционное наблюдение использует информацию из уже существующих баз знаний или добытую эвристическими методами для создания моделей шума, которые можно использовать для автоматического извлечения примеров из больших корпусов. Дистанционное наблюдение стало широко использоваться и на данный момент является распространенным методом при решении задач извлечения отношений и информации, анализа тональности текста, и других.
В 2016 году был представлен проект Universal Dependencies (Nivre et al., 2016), представляющий из себя многоязычное собрание синтаксических деревьев. Это открытый проект, вокруг которого сложилось большое сообщество исследователей и разработчиков. Цель Universal Dependencies — создание согласованных аннотаций на основе грамматики зависимостей для многих языков. По состоянию на январь 2019 года Universal Dependencies включает в себя более 100 синтаксических деревьев на более чем 70 языках.
Оригинал: A Review of the Neural History of Natural Language Processing
Компания Google представила много новых ИИ-продуктов, а модель GPT опровергла известную математическую гипотезу Пала Эрдёша — рассказываем, что произошло в мире ИИ за последнее время
Facebook* и Instagram* будут сканировать фото и видео, чтобы находить детей, которые скрыли свой возраст
Можно ли заниматься NLP, если при словах «производная» и «матрица» хочется закрыть ноутбук? Да — если изучать математику не абстрактно, а через реальные задачи. Объясняем, какие разделы действительно нужны джуну,…