Intro to NLP (RU)

52
Автоматическая обработка текстов Дмитрий Ильвовский, Екатерина Черняк [email protected], [email protected] Национальный Исследовательский Университет – Высшая Школа Экономики НУЛ Интеллектуальных систем и структурного анализа November 16, 2015

Transcript of Intro to NLP (RU)

Page 1: Intro to NLP (RU)

Автоматическая обработка текстов

Дмитрий Ильвовский, Екатерина Черняк[email protected], [email protected]

Национальный Исследовательский Университет – Высшая Школа ЭкономикиНУЛ Интеллектуальных систем и структурного анализа

November 16, 2015

Page 2: Intro to NLP (RU)

1 Введение

2 Токенизация и подсчет количества слов

3 Морфологический анализ

4 Извлечение ключевых слов и словосочетаний

5 Cинтаксический анализ

6 Deep learning in NLP

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 2 / 52

Page 3: Intro to NLP (RU)

Краткая история АОТ (1)

7 января 1954. Джорджтаунский эксперимент по машинномупереводу с русского на английский;1957. Ноам Хомский ввел “универсальную грамматику”;1961. Начинается сбор Брауновского корпуса;конец 1960-х. ELIZA — программа, ведущая психотерапевтическиеразговоры;1975. Солтон ввел векторную модель (Vector Space Model, VSM);до 1980–х. Методы решения задач, основанные на правилах;после 1980–х. Методы решения задач, основанные на машинномобучении и корпусной лингвистике;1998. Понте и Крофт вводят языковую модель (Language Model,LM);

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 3 / 52

Page 4: Intro to NLP (RU)

Краткая история АОТ (2)

конец 1990–х. Вероятностные тематические модели (LSI, pLSI,LDA, и т.д.) ;1999. Опубликован учебник Маннинга и Щютце “Основыстатистической автоматической обработки текстов” (“Foundationsof Statistical Natural Language Processing”) ;2009. Опубликован учебник Берда, Кляйна и Лопера“Автоматическая обработка текстов на Python” (“Natural LanguageProcessing with Python”) ;2014. Deep learning in NLP. Mikolov, Tomas и др. “Efficientestimation of word representations in vector space”.

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 4 / 52

Page 5: Intro to NLP (RU)

Кривые развития АОТ (Э.Камбрия)

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 5 / 52

Page 6: Intro to NLP (RU)

Основные задачи АОТ

Машинный переводКлассификация текстов

I Фильтрация спамаI По тональностиI По теме или жанру

Кластеризация текстовИзвлечение именованных сущностейВопросно-ответные системыСуммаризация текстовГенерация текстовРаспознавание речиПроверка правописанияОптическое распознавание символовПользовательские эксперименты и оценка точности и качестваметодов

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 6 / 52

Page 7: Intro to NLP (RU)

Основные техники

Уровень символов:I Токенизация: разбиение текста на словаI Разбиение текста на предложения

Уровень слов – морфология:I Разметка частей речиI Снятие морфологической неоднозначности

Уровень предложений – синтаксис:I Синтаксический разбор

Уровень смысла – семантика и дискурс:I Разрешение кореферентных связейI Анализ дискурсивных связейI Анализ семантических ролейI Выделение синонимов

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 7 / 52

Page 8: Intro to NLP (RU)

Основные подходы

1 Методы, основанные на правилах2 Методы, основанные на статистическом анализе и машинном

обучении3 Комбинированные методы

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 8 / 52

Page 9: Intro to NLP (RU)

Основные проблемы

НеоднозначностьI Морфологическая неоднозначность

F Time flies like an arrow; fruit flies like a banana.I Синтаксическая неоднозначность

F Police help dog bite victim.F Wanted: a nurse for a baby about twenty years old.

Неологизмы: unfriend, retweet, instagramРазные варианты написания: NY, New York City, New-YorkНестандартное написание: HIIII, how are u? miss u SOOOOmuch:((((

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 9 / 52

Page 10: Intro to NLP (RU)

АОТ в индустрии

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

Поисковые машины: Google, Baidu, Yahoo, YandexРаспознавание речи: Siri, Google Now, XboxАналитика: SAS Text Miner, IBM Watson, IBM Content Analytics,OntosMiner, Intersystems iKnow, SAP HANA, Oracle TextПроверка правописания: Word, Pages, iOS apps, Android apps

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 10 / 52

Page 11: Intro to NLP (RU)

1 Введение

2 Токенизация и подсчет количества слов

3 Морфологический анализ

4 Извлечение ключевых слов и словосочетаний

5 Cинтаксический анализ

6 Deep learning in NLP

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 11 / 52

Page 12: Intro to NLP (RU)

Сколько слов в этом предложении?

“The rain in Spain stays mainly in the plain.”9 токенов: The, rain, in, Spain, stays, mainly, in, the, plain7 - 8 типов: T / the rain, in, Spain, stays, mainly, plain

Токен и типТип – уникальное слово из текстаТокен – тип и его позиция в тексте

N = число токеновV – словарь (все типы)|V | = количество типов в словареКак связаны N и |V |?

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 12 / 52

Page 13: Intro to NLP (RU)

Закон Ципфа

Zipf’s law [Gelbukh, Sidorov, 2001])In any large enough text, the frequency ranks (starting from the highest) oftypes are inversely proportional to the corresponding frequencies:

f =1r

f – частота типаr – ранг типа

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 13 / 52

Page 14: Intro to NLP (RU)

Закон Ципфа: пример

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 14 / 52

Page 15: Intro to NLP (RU)

Закон Хипса

Heaps’ law [Gelbukh, Sidorov, 2001])The number of different types in a text is roughly proportional to anexponent of its size:

|V | = K ∗ Nb

N = число токенов|V | = количество типов в словареK , b – параметры, обычно K ∈ [10, 100], b ∈ [0.4, 0.6]

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 15 / 52

Page 16: Intro to NLP (RU)

Почему сложна токенизация?

Простой пример: “Good muffins cost $3.88 in New York. Please buyme two of them. Thanks.”

I “.” – это токен?I $3.88 – это один токен или несколько?I “New York” – это один токен или несколько?

В реальных данных много шума: html-разметка, ссылки, лишниезнаки пунктуации.В реальных данных много опечаток: “an dthen she aksed”Точка не всегда означает конец предложения: m.p.h., PhD.

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 16 / 52

Page 17: Intro to NLP (RU)

Токенизация с помощью регулярных выражений

Задаем шаблоны, описывающие токены.

Регулярные выражения на PythonIn[1]: import reIn[2]: prog = re.compile(’[A-Za-z]+’)In[3]: prog.findall("Words, words, words.")Out[1]: [’Words’, ’words’, ’words’]

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 17 / 52

Page 18: Intro to NLP (RU)

Сегментация предложений (1)

Как определить границы предложения?“?”, “!” как правило, однозначныТочка “.” не всегда означает конец предложенияПрямая речь: She said, “What time will you be home?” and I said, “Idon’t know! ” ; — Кто там? — спросил дядя Фёдор. — Это я!

Бинарный классификатор для сегментации предложений: для каждойточки “.” определить, является ли она концом предложения или нет.

Бинарный классификаторБинарный классификатор f : X =⇒ 0, 1 получает на вход таблицу X(каждая строчка – одна точка в тексте, столбцы – признаки) и решаетEndOfSentence (0) или NotEndOfSentence (1).

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 18 / 52

Page 19: Intro to NLP (RU)

Сегментация предложений (2)

Какие признаки использовать для классификации?Количество пробелов после точкиЗаглавная или строчная буква после точкиПринадлежит ли точка к аббревиатуреи т.д.

Нужно много разметки!

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 19 / 52

Page 20: Intro to NLP (RU)

Natural Language Toolkit

Natural Language Toolkit умеет все

NLTK tokenizersIn[1]: from nltk.tokenize import RegexpTokenizer,wordpunct_tokenizeIn[2]: s = ’Good muffins cost $3.88 in New York. Pleasebuy me two of them. Thanks.’In[3]: tokenizer = RegexpTokenizer(’\w+| \$ [\d \.]+ | S\+’)In[4]: tokenizer.tokenize(s)In[5]: wordpunct_tokenize(s)

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 20 / 52

Page 21: Intro to NLP (RU)

Обучение токенизации

nltk.tokenize.punkt – это инструмент для обучения токенизации поразмеченным данным. Содержит обученный токенизатор Punkttokenizer для текстов на английском языке.

Punkt tokenizerIn[1]: import nltk.dataIn[2]: sent_detector =nltk.data.load(’tokenizers/punkt/english.pickle’)In[3]: sent_detector.tokenize(s)

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 21 / 52

Page 22: Intro to NLP (RU)

Лемматизация

У каждого слова есть лемма (нормальная форма):has, had, have =⇒ havecats, cat, cat’s =⇒ catWindows =⇒ window или Windows?

Lemmatization [Jurafsky, Martin, 1999]Lemmatization (or normalization) is used to reduce inflections or variantforms to base forms. A dictionary with headwords is required.

LemmatizationIn[1]: from nltk.stem import WordNetLemmatizerIn[2]: lemmatizer = WordNetLemmatizer()In[3]: lemmatizer.lemmatize(t)

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 22 / 52

Page 23: Intro to NLP (RU)

Стемминг

Слова состоят из морфем: word = stem + affixes. Стемминг позволяетотбросить аффиксы.translate, translation, translator =⇒ translat

Stemming [Jurafsky, Martin, 1999]Reduce terms to their stems in information retrieval and text classification.Porter’s algorithm is the most common English stemmer.

StemmingIn[1]: from nltk.stem.porter import PorterStemmerIn[2]: stemmer = PorterStemmer()In[3]: stemmer.stem(t)

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 23 / 52

Page 24: Intro to NLP (RU)

1 Введение

2 Токенизация и подсчет количества слов

3 Морфологический анализ

4 Извлечение ключевых слов и словосочетаний

5 Cинтаксический анализ

6 Deep learning in NLP

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 24 / 52

Page 25: Intro to NLP (RU)

Часть речи

Часть речи [Manning, Schuetze, 1999]Слова можно объединить в классы – части речи – в соответствии с ихситаксическими характеристиками. Основные части речи:существительные, предлоги и глаголы. Основные морфологическиепроцессы: словоизменение (спряжение и склонение), словообразование(клуб – клубный), словосложение (земле+устройство).

В английском языке 9 частей речи:Существительные (NN, NP), местоимения (PN, PRP),прилагательные (JJ): число, род, падежПрилагательные (JJ): сравнительные и короткие формыГлаголы (JJ): лицо, время, аспект, наклонение, залогНаречия (RB), предлоги (IN), союзы (СС, CS), артикли (AT) ичастицы (RP): не изменяются

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 25 / 52

Page 26: Intro to NLP (RU)

Снятие морфологической неоднозначности

Ship (существительное или глагол?)a luxury cruise shipBoth products are due to ship at the beginning of JuneA new engine was shipped over from the USThe port is closed to all shipping

Contest (существительное или глагол?)Stone decided to hold a contest to see who could write the best song.She plans to contest a seat in Congress next year.

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 26 / 52

Page 27: Intro to NLP (RU)

Морфологические анализаторы

Морфологические анализаторы, использующие корпуса илисловариМорфологические анализаторы, использующие правилаN-граммные морфологические анализаторы

I unigram tagging: выбирает самый частый разборI ngram tagging: анализирует контекст текущего слова – n

предыдущих слов (HMM, CRF, нужно много данных для обучения)Временные затраты VS точность разбора VS количествонеоднозначных слов =⇒ ансамбли морфологическиханализаторов

NLTK POS default taggerIn[1]: from nltk.tag import pos_tagIn[2]: print pos_tag([’ship’])Out[1]: [(’ship’, ’NN’)]In[3]: print pos_tag([’shipping’])Out[2]: [(’shipping’, ’VBG’)]

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 27 / 52

Page 28: Intro to NLP (RU)

1 Введение

2 Токенизация и подсчет количества слов

3 Морфологический анализ

4 Извлечение ключевых слов и словосочетаний

5 Cинтаксический анализ

6 Deep learning in NLP

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 28 / 52

Page 29: Intro to NLP (RU)

Классификация методов извлечения ключевых слов исловосочетаний

Ключевые слова и словосочетания сложно определить формально.Поскольку определений ключевых слов и словосочетаний множество,существует масса методов их извлечения:

с учителем VS без учителячастотные VS по-сложнееиз одного текста VS из коллекции текстовслова (униграммы) VS биграммы VS N-граммытермины VS именованные сущности VS коллокациипоследовательные слова VS с использованием окна

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 29 / 52

Page 30: Intro to NLP (RU)

Методы извлечения ключевых слов и словосочетаний сучителем

Построим бинарный классификатор с целевым признаком KeyWord (1)NotKeyWord (0). Возможные признаки для классификации:

Слово употребляется в начале предложенияСлово написано с заглавной буквыЧастота словаСлово используется в качестве названия статьи или категории вВикипедииСлово – именованная сущностьСлово – терминИ т.д.

Но нужны размеченные коллекции текстов.

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 30 / 52

Page 31: Intro to NLP (RU)

Методы извлечения ключевых слов и словосочетаниембез учителя

Морфологические шаблоныМеры ассоциации биграмм: PMI, T-Score, LLRГрафовые методы: TextRank [Mihalcea, Tarau, 2004]Синтаксические шаблоны

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 31 / 52

Page 32: Intro to NLP (RU)

Меры ассоциации биграмм (1)

w1,w2 -– два словаf (w1), f (w2) – их частотыf (w1,w2) – частота биграммы w1w2

PMI (w1,w2) = log f (w1,w2)f (w1)f (w2)

Pointwise Mutual Information [Manning, Shuetze, 1999]PMI (w1,w2) показывает, сколько информации о появлении одногослова содержится в появлении другого слова.

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 32 / 52

Page 33: Intro to NLP (RU)

Меры ассоциации биграмм (2)

w1,w2 – два словаf (w1), f (w2) – их частотыf (w1,w2) – частота биграммы w1w2N – число словT − score(w1,w2) =

f (w1,w2)−f (w1)∗f (w2)f (w1,w2)/N

T-Score [Manning, Shuetze, 1999]T − score(w1,w2) – это статистический t − test, используемый дляизвлечения ключевых словосочетаний. t − test измеряет разницумежду ожидаемым и наблюдаемым средним значением,нормированную стандартным отклонением. Считается лучшей меройассоциации биграмм. Уровень значимости при анализе, как правило,не используется.

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 33 / 52

Page 34: Intro to NLP (RU)

Меры ассоциации биграмм (3)

w1,w2 – два словаO11 = f (w1,w2) – наблюдаемая частота биграммы w1w2E11 = O11+O12

N × O11+O21N × N – ожидаемая частота биграммы w1w2

w2 not w2

w1 O11 O12

not w1 O21 O22

chi2 =∑i ,j

(Oij − Eij)2

Eij= |i ∈ 1, 2, j ∈ 1, 2| =

=N(O11O22 − O12O21)

2

(O11 + O12)(O11 + O21)(O12 + O22)(O21 + O22)

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 34 / 52

Page 35: Intro to NLP (RU)

Меры ассоциации биграмм в NLTK

NLTK BigramCollocationFinderIn[1]: from nltk.collocations import *In[2]: bigram_measures =nltk.collocations.BigramAssocMeasures()In[3]: finder = BigramCollocationFinder.from_words(tokens)In[4]: finder.apply_freq_filter(3)In[5]: for i in finder.nbest(bigram_measures.pmi, 20): ...

Меры ассоциации биграмм в NLTK:bigram_measures.pmi

bigram_measures.student_t

bigram_measures.chi_sq

bigram_measures.likelihood_ratio

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 35 / 52

Page 36: Intro to NLP (RU)

TextRank: использование мер центральности графов дляизвлечения ключевых слов и словосочетаний (1)[Mihalcea, Tarau, 2004]

1 Вершины графа: слова2 Ребра графа могут определяться по следующим правилам:

I Последовательные словаI Слова внутри левого или правого окна в ± 2-5 слов;

Ребра могут быть взвешенные или невзвешенные, направленныеили ненаправленные.

3 Любая мера центральности графа использутся для определенияважности вершин в графе. Слова, соответствующие наиболееважным вершинам, считаются ключевыми.

4 Если две соседние вершины оказываются важными,соответствующие им слова формируют ключевое словосочетание.

http://web.eecs.umich.edu/~mihalcea/papers/mihalcea.emnlp04.pdf

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 36 / 52

Page 37: Intro to NLP (RU)

TextRank (2)

Compatibility of systems of linear constraints over the set of natural numbers. Criteria of compatibility of a system of linearDiophantine equations, strict inequations, and nonstrict inequations are considered. Upper bounds for components of a minimalset of solutions and algorithms of construction of minimal generating sets of solutions for all types of systems are given. Thesecriteria and the corresponding algorithms for constructing a minimal supporting set of solutions can be used in solving all the

considered types systems and systems of mixed types.

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 37 / 52

Page 38: Intro to NLP (RU)

TextRank (3)

G = (V ,E ) – граф, V – вершины, E – ребраIn(Vi ) – множество исходящих реберOut(Vi ) – множество входящих реберМеры центральности

PageRank [Brin, Page, 1998]

PR(Vi ) = (1− d) + d ×∑

Vj∈In(Vi )PR(Vj )|Out(Vj )|

HITS [Kleinberg, 1999]HITSA(Vi ) =

∑Vj∈In(Vi )

HITSH(Vj)

HITSH(Vi ) =∑

Vj∈Out(Vi )HITSA(Vj)

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 38 / 52

Page 39: Intro to NLP (RU)

TextRank (4)

Найденные ключевые слова и словосочетанияlinear constraints; linear diophantine equations; natural numbers; nonstrictinequations; strict inequations; upper bounds

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 39 / 52

Page 40: Intro to NLP (RU)

Меры контрастности для извлечения ключевых слов исловосочетаний

Рассмотрим некую коллекцию текстов. Требуется для данного текстаопределить слова и словосочетания, которые встречаются в немсущественно чаще, чем в других текстах.

Частота терма [Luhn, 1957]Важность терма в тексте пропорциональная его частоте.

Обратная документная частота [Spaerck Jones, 1972]Специфичность терма в тексте обратно пропорциональна числутекстов, в которых терм встречается.

tfidf (term, text, collection) = tf (term, document)× idf (term, collection)

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 40 / 52

Page 41: Intro to NLP (RU)

Используемые TF и IDF веса

tf (term, document) =

бинарный вес: 1, если терм встречается в тексте, 0, иначечастота: ft,d

нормированная частота: log(1+ ft,d)

idf (term, document) =

унарный вес: 1обратная частота: log N

nt, где N – число текстов в коллекции, nt –

число текстов, в которых встречается тем t

сглаженная обратная частота: log Nnt+1

Самая популярная комбинация весов: ft,d × log Nnt+1

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 41 / 52

Page 42: Intro to NLP (RU)

Использование меры tf − idf для измерения сходстватекстов

Пусть каждый текст di из коллекции текстов D представлен векторомdi = (w i

1,w i2, ...,w i

|V |) , где V – это словарь, |V | – общее число термов(типов) в словаре. Получается векторное пространство размерности|V |, где каждое измерение задано одним термом. w i

k – это вес терма kв тексте i – чаше всего, вычисленный по мере tf − idf . Сходствомежду двумя текстами может быть определено как косинус междусоответствующими векторами.

Косинусная мера близости в векторном моделиCosine similarity in Vector Space Model (VSM) [Salton et. al, 1975]

cos(di , dj) =di × dj

||di ||||dj ||=

∑k w i

k × w jk√

(∑

k w ik)

2√

(∑

k w jk)

2

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 42 / 52

Page 43: Intro to NLP (RU)

Векторная модель коллекции текстов

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 43 / 52

Page 44: Intro to NLP (RU)

1 Введение

2 Токенизация и подсчет количества слов

3 Морфологический анализ

4 Извлечение ключевых слов и словосочетаний

5 Cинтаксический анализ

6 Deep learning in NLP

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 44 / 52

Page 45: Intro to NLP (RU)

Синтаксический анализ

Выделение синтаксических связей между словамиКаждое предложение представляется в виде дереваВыделяют деревья двух видов:

I Деревья составляющих (constituency tree)I Деревья зависимостей (dependency tree)

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 45 / 52

Page 46: Intro to NLP (RU)

Генеративная модель языка

Язык – множество цепочек словПравила порождения цепочек описываются формальнымиграмматиками ХомскогоГрамматика: правила вида [aAbB]→ [aBc], слева и справацепочки терминальных и нетерминальных символов4 вида грамматик:

I Неограниченные грамматикиI Контекстно-зависимые и неукорачивающие грамматикиI Контекстно-свободные грамматикиI Регулярные грамматики

Для естественных языков используются контекстно-свободныеграмматики вида A→ aBa

I Слева – ровно один нетерминальный символI Справа – произвольная цепочка

Дерево вывода цепочки-предложения – дерево составляющих

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 46 / 52

Page 47: Intro to NLP (RU)

Пример дерева составляющих

S, NP, VP – нетерминальные символыV, N, Det – терминальные символы

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 47 / 52

Page 48: Intro to NLP (RU)

Пример дерева зависимостей

Все слова в предложении связаны отношением типа“хозяин-слуга”, имеющим различные подтипыУзел дерева – слово в предложенииДуга дерева – отношение подчинения

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 48 / 52

Page 49: Intro to NLP (RU)

Деревья зависимостей

1 Правила (rule-based)I Набор шаблонов, схем, правил вывода, использующих

лингвистические сведенияI Зависит от языкаI ЭТАП-3

2 Машинное обучениеI Корпуса с морфологической и синтаксической разметкойI Не требуется знание специфики языкаI MaltParser

3 Предложение с проективными связями может быть преобразованов дерево составляющих

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 49 / 52

Page 50: Intro to NLP (RU)

Демо

Berkley Tomcat constituency parserhttp://tomato.banatao.berkeley.edu:8080/parser/parser.html

Stanford CoreNLP dependency parserhttp://nlp.stanford.edu:8080/corenlp/

ARK dependency parser (Carnegie Melon)http://demo.ark.cs.cmu.edu/parse

Etap3http://aprconf.iitp.ru/ru/etap3

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 50 / 52

Page 51: Intro to NLP (RU)

1 Введение

2 Токенизация и подсчет количества слов

3 Морфологический анализ

4 Извлечение ключевых слов и словосочетаний

5 Cинтаксический анализ

6 Deep learning in NLP

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 51 / 52

Page 52: Intro to NLP (RU)

Word2Vec

VSM: Линейно-алгебраическая модель документав пространстве термовWord2Vec: Представление слова вектором контекстов (другихслов), для нахождения компонент векторов используютсяглубокие нейронные сети

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

Ильвовский, Черняк (ВШЭ) АОТ November 16, 2015 52 / 52