Ulanov nlp-1

32
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Обработка текстов на естественном языке Александр Уланов

description

 

Transcript of Ulanov nlp-1

Page 1: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Обработка текстов на естественном языке Александр Уланов

Page 2: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 2

Оглавление курса

1. Основы лингвистики. Слова, фразы, предложения, наборы текстов

2. Коллокации слов и статистики

3. Марковские модели. Разбор текстов по частям речи. Распознавание именнованных сущностей

4. Извлечение отношений из текстов

5. Поиск дубликатов в тексте

6. Кластеризация и классификация текстов

7. Анализ мнений

8. Введение в статистический машинный перевод

Литература

• Chris Manning and Hinrich Schuetze. Foundations of Statistical Natural Language Processing, MIT Press, 1999

• Philipp Koehn. Statistical Machine Translation, Cambridge Univ. Press, 2010

• Научные статьи по теме, видеолекции Stanford и Coursera (Manning)

Page 3: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 3

Обо мне

Уланов Александр Владимирович

Политех 2004 ФТК

СПИИРАН 2007 к.т.н. мат. моделирование

• Машинное обучение для компьютерной безопасности

HP Labs 2008-по настоящее время

• Старший научный сотрудник, рук. нии группы

• Обработка и извлечение информации из текстов

• ~10 статей на тему работы с текстами, 2 патента

• Технологии для HP Autonomy (анализ мнений), HP Software и IT (обработка текстов), HP

Enterprise Services (классификация текстов)

• Имею практический опыт в каждой из тем курса

Page 4: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 4

ВВЕДЕНИЕ. СЛОВА, ФРАЗЫ,

ПРЕДЛОЖЕНИЯ, НАБОРЫ ТЕКСТОВ

Лекция 1

Page 5: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 5

Оглавление

Введение

Знаменательные и служебные слова

Закон Зипфа

Части речи и составляющие

Грамматики состовляющих и зависимостей

Разбивка по предложениям

Наборы текстов

Page 6: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 6

Введение

Лингвистика – наука, изучающая языки

Комьютерная лингвистика – мат модели для изучения языка

• Обработка естественного языка (Natural Language Processing NLP) – анализ и синтез

– Перевод, извлечение информации, классификация...

– Поиск паттернов (pattern recognition for text)

• Распознавание символов (OCR)

• Распознование речи, синтез речи

Page 7: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 7

Подходы к изучению языка

Ноам Хомский, рационализм, порождающая грамматика

• Начальное знание языка в человеке (ребенок учит язык)

• Тексты – это только неявное свидетельство знания

• Принцип построения ИС – задание изначальных знаний и правил (категориальные)

Эмпиризм

• Начальные навыки познания (не относящиеся к языку) и обучение с чистого листа

• Беррес Скиннер, бихевиоризм (Chomsky vs. Skinner)

• Принцип построения ИС – общая теория языка, поиск паттернов на большой коллекции документов (корпус)

Основное отличие – для эмпирического подхода не существует разделения на начальное знание и «реализацию» языка

В настоящее время в NLP предлагаются мат. методы (в основном, вероятностные), которые работают непосредственно с текстами. Эффективноть метода оценивается на основе тестов

Page 8: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 8

Предмет изучения

Синтаксис - структура

Семантика - значение

Язык постепенно меняется

• Для простых высказываний можно придумать правила

• Остальное по правилам не работает

Вероятностный подход

• Много ненаблюдаемых событий, которым придается какая-то вероятность (-)

• Сложные модели могут быть также выразительны, как категориальные (+)

Слова, фразы, предложения, наборы текстов

Page 9: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 9

Слова

Слово – атомарная структурная единица языка

Смысл отдельно и в контексте

• Определение смысла слова: «лук», «party»

• Составные слова

• Идиоматические выражения

В незнакомой речи сложно разделять слова

В некоторых языках они не отделяются

• Китайский

Page 10: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 10

Токенизация и нормализация

Токенизация • Разбивка текста на слова

• Зачастую просто отделение пунктуации

• Непросто в китайском

• Проблемы – Английский: Joe’s, doesn’t, so-called

– Немецкий: Neuwortgenerierung

Нормализация • Регистр, числа, написания

Лемматизация: выделение канонической основной формы слова • Им.пад. Ед.ч.; им.пад. М.р.; инфинитив

Стемминг: выделение основы слова (не корень) • Основа – неизменяемая часть слова, которая выражает его лексическое значение

– слово без окончания, многокоренное слово

• Корень – морфема, несущая лексическое значение (часть значения) слова

• Морфема - мельчайшая значимая единица, использующаяся для словообразования

Page 11: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 11

Стеммер Мартина Портера

1. Убрать мн. число и суффиксы -ed -ing

2. Заменить последнюю -y на -i, если есть другая гласная в основе

3. Заменить двойные суффиксы на одинарные, -ational -> -ate, -izer -> -

ize

4. Убрать суффиксы типа -full, -ness

5. Убрать суффиксы типа -ant, -able

6. Убрать последнюю -e

Page 12: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 12

Распределение слов

British National Corpus (BNC): 100 046 235 словоформ, 938973 разных слов

Нац корпус русского языка (НКРЯ), основной корпус: 192 689 044 словоформ, около 6 млн. разных слов

Word PoS Freq*

1 the Det 6184700

2 of Prep 2939100

3 and Conj 2681700

4 a Det 2162600

5 in Prep 1821400

6 to Inf 1628400

7 it Pron 1087500

8 is Verb 998200

9 to Prep 934300

10 was Verb 923600

11 I Pron 887500

Всего 22%

Словоформа Документы Частота**

и 57816 7416716

в 58555 5842670

не 49962 3385161

на 55776 2936096

с 53453 2228350

что 49428 2210373

я 24694 1592127

а 47492 1541398

он 34574 1377314

как 44897 1300577

к 46631 1132463

16%

*Word Frequencies in Written and Spoken English: based on the British National Corpus. Geoffrey Leech, Paul Rayson, Andrew Wilson (2001) pp. 320, Longman, London.

http://ucrel.lancs.ac.uk/bncfreq/

**Национальный корпус русского языка: http://www.ruscorpora.ru/

Page 13: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 13

Распределение слов

f - частота,

r - порядковый номер по частоте

первые 7000 слов, отсортированные по частоте

1000

10000

100000

1000000

10000000

128

156

184

111

21

14

01

16

81

19

61

22

41

25

21

28

01

30

81

33

61

36

41

39

21

42

01

44

81

47

61

50

41

53

21

56

01

58

81

61

61

64

41

67

21

BNC

1000

10000

100000

1000000

10000000

0 1 2 3 4 5

RusCorp…

Зависимость lg(f) от r Зависимость lg(f) от lg(r)

Page 14: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 14

Распределение слов

Очевидно: lg(f) + lg(r) = const или r*f=const. Это закон Зипфа

Тем не менее, значения убывают быстрее, чем в законе Зипфа, примерно после ранка r=1000

Page 15: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 15

Распределение слов

Какого размера должен быть корпус?

• Например, чтобы первые 10000 по частоте слов имели достаточную статистику

Решение

• Известно, что наиболее частое слово «и» составляет 3.8% от всего корпуса

• r*f=0.038*c

• c=(r*f)/0.038

• c=(10000*10000)/0.038= 2 631 578 947

• 2.6 миллиарда слов

Page 16: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 16

Распределение по типам слов

• Служебные слова

• Знаки препинания

• Знаменательные слова

• Размер словаря растет с размером корпуса

• Europarl English: 19M слов, 86 699 разных слов

• BNC: 100M слов, 938 973 разных

Частоты слов в корпусе Europarl*

*Philipp Koehn. Statistical Machine Translation, 2010

Page 17: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 17

Части речи

Служебные слова • для связи слов, закрытый класс

• союз, предлог, частица, артикль

• в разных языках: the vs. der/die/das

Знаменательные слова • обозначают понятие, открытый класс

• существительное, прилагательное, глагол, наречие

Автоматическое определение частей речи • Тема отдельной лекции

• При помощи обучения с учителем • Корпус – Penn Treebank, НКРЯ

• Stanford NLP, OpenNLP, Tomita/mystem

Page 18: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 18

Penn Treebank tags

1. NN Nouns (singular: house/NN, plural: houses/NNS), proper nouns (singular: Britain/NP, plural: Americas/NPS)

2. VB Verb, past tense: went/VBD, past participle: gone/VBN, gerund: going/VBG, 3rd person singular present:

goes/VBZ, other singular present: am/VBP. Special cases: modals can/MD, particles switch on/RP.

3. JJ Adjective: green/JJ, comparative: greener/JJR, superlative: greenest/JJS

4. RB Adverb: happily/RB, comparative: ran faster/RBR, superlative: ran fastest/RBS, wh-adverbs: how/WRB fast

5. DT determiner: the/DT house, pre-determiner: all/PDT the houses, wh-determiner: which/WDT.

6. PP personal pronoun: she/PP, possessive pronoun: her/PP$, wh-pronoun: who/WP, possessive wh-pronoun:

whose/WP$.

7. PRP Prepositions: from/IN here. Special case to/TO.

8. CC Coordinating conjunctions: and/CC.

9. CD Numbers: 17/CD

10.POS Possessive marker: Joe ’s/POS

11.LS List item markers: A./LS

12.SYM Symbols: $/SYM

13.FW Foreign words: de/FW facto/FW

14.UH Interjections: oh/UH

Page 19: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 19

Части речи НКРЯ

1. S — существительное (яблоня, лошадь, корпус, вечность)

2. A — прилагательное (коричневый, таинственный, морской)

3. NUM — числительное (четыре, десять, много)

4. A-NUM — числительное-прилагательное (один, седьмой, восьмидесятый)

5. V — глагол (пользоваться, обрабатывать)

6. ADV — наречие (сгоряча, очень)

7. PRAEDIC — предикатив (жаль, хорошо, пора) (нет в Томите)

8. PARENTH — вводное слово (кстати, по-моему) (нет в Томите)

9. S-PRO — местоимение-существительное (она, что)

10. A-PRO — местоимение-прилагательное (который, твой)

11. ADV-PRO — местоименное наречие (где, вот)

12. PRAEDIC-PRO — местоимение-предикатив (некого, нечего)

13. PR — предлог (под, напротив)

14. CONJ — союз (и, чтобы)

15. PART — частица (бы, же, пусть)

16. INTJ — междометие (увы, батюшки)

Page 20: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 20

Части речи НКРЯ Часть речи Число словоупотреблений % словоупотреблений

существительное 1 693 517 28.5%

прилагательное 506 857 8.5%

числительное 102 032 1.7%

- в том числе записанное прописью 42 594 0.7%

- в том числе записанное цифрами 59 438 1.0%

числительное-прилагательное 24 535 0.4%

глагол 1 007 589 17.0%

наречие 246 214 4.1%

предикатив 42 282 0.7%

вводное слово 25 891 0.4%

местоимение-существительное 467 448 7.9%

местоимение-прилагательное 277 640 4.7%

местоимение-наречие 129 370 2.2%

местоимение-предикатив (некого, нечего) 680 0.0%

предлог 621 877 10.5%

союз 471 304 7.9%

частица 268 108 4.5%

междометие 8 375 0.1%

инициал 10 136 0.2%

прочие (иностранные слова,

звукоподражания) 30 846 0.5%

Всего: 5 934 701 100%

Page 21: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 21

Фразы

Слова составляют фразы в соответствии с синтаксисом

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

Составляющее (constituent) – отрезок предложения, составленный из составляющих меньшего размера, более тесно связанных между собой

Фраза - составляющая из более чем одного слова*

• именная группа (группа существительного, ИГ; англ. noun phrase, NP);

• группа прилагательного (ГПрил; англ. adjectival phrase, ADJP);

• наречная группа (НарГ; англ. adverbial phrase, ADVP);

• предложная группа (ПрГ; англ. prepositional phrase, PP);

• глагольная группа (ГГ; англ. verb phrase, VP);

• предложение (П; англ. sentence, S).

Структура языка формально описывается

• generalized phrase structure grammar (GPSG)

• head-driven phrase structure grammar (HPSG)

*http://ru.wikipedia.org/wiki/Грамматика составляющих

Page 22: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 22

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

Nothing defines a culture as distinctly as its

language.

*GrammarScope with Stanford parser http://grammarscope.sourceforge.net/

Page 23: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 23

Контекстно-свободные грамматики

Грамматика - способ описания формального языка

Интересно, что может быть в языке, а чего не может быть

Контекстно-свободная грамматика (context-free grammar) • Терминальные символы (слова)

• Нетерминальные символы (части речи, типы фраз)

• Правила вида: нетерминальный символ -> символ

Пример: • S -> NP VP

• VP -> VBZ NP

• NP -> NP ADJP

• PP -> IN NP

• VBZ -> defines

Page 24: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 24

Контекстно-свободные грамматики

Грамматику можно задать вручную или при помощи машинного обучения по

размеченному тексту (Penn Treebank)

Вероятностная контекстно-свободная грамматика (probabilistic context-

free grammar)

• У правых частей правил есть вероятности

• Можно вычислять вероятность синтаксической структуры предложения

• Предположение о независимости правил между собой (на самом деле это не так)

Грамматика с фразовой структурой (Ноам Хомский)

Page 25: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 25

Грамматика зависимостей

• Глагол является основой (корнем) предложения. Все остальные слова явно или неявно зависят от грагола (Люсьен Теньер)

• В основном используется для описания синтаксических зависимостей между словами

• Удобны для анализа языков со свободным порядком слов, так как дерево получается более плоским, чем в при анализе составляющих

Nothing defines a culture as distinctly as its language.

Page 26: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 26

Stanford dependencies

root - root

dep - dependent

aux - auxiliary

• auxpass - passive auxiliary

• cop - copula

arg - argument

• agent - agent

• comp - complement

• subj - subject

– nsubj - nominal subject

– nsubjpass - passive nominal subject

– csubj - clausal subject

– csubjpass - passive clausal subject

cc - coordination

conj - conjunct

expl - expletive (expletive “there”)

parataxis - parataxis

punct - punctuation

ref - referent

sdep - semantic dependent

xsubj - controlling subject

• mod - modifier

– abbrev - abbreviation modifier

– amod - adjectival modifier

– appos - appositional modifier

– advcl - adverbial clause modifier

– purpcl - purpose clause modifier

– det - determiner

– predet - predeterminer

– preconj - preconjunct

– infmod - infinitival modifier

– mwe - multi-word expression modifier

– partmod - participial modifier

– advmod - adverbial modifier

– neg - negation modifier

– rcmod - relative clause modifier

– quantmod - quantifier modifier

– nn - noun compound modifier

– npadvmod - noun phrase adverbial modifier

– tmod - temporal modifier

– num - numeric modifier

– number - element of compound number

– prep - prepositional modifier

– poss - possession modifier

– possessive - possessive modifier (’s)

– prt - phrasal verb particle

Page 27: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 27

Лексическая функциональная грамматика

Поверхностная и глубокая структуры

языка (Джоан Бреснан)

• Грамматика составляющих (c-

grammar)

• Грамматические функции (f-grammar)

Грамматические функции: субъект,

объект, дополнение, время

• Порядок слов не сохраняется

• F-grammar можно использовать для

автоматического вывода с

использованием логики предикатов

subj : pred : nothing

num : sg

pers : 3

pred : define

tense : pres

num : sg

pers : 3

obj : coord : 1 : spec : det : pred : a

pred : culture

num : sg

pers : 3

3 : poss : pred : pro

pron_form : it

pred : language

num : sg

pers : 3

pred : as

adjunct : 2 : pred : distinctly

obl : pform : as

Nothing defines a culture as distinctly as its language.

*Charniak Parser: http://lfg-demo.computing.dcu.ie/lfgparser.html

Page 28: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 28

Предложение

• Грамматически организованное соединение слов, обладающее

смысловой и интонационной законченностью*

• Структура

o подлежащее (subject)

• Опредление (modifier – adjectives, adverbs)

o сказуемое (predicate, VP)

• дополнение и обстоятельство (object, adjunct)

o подлежащие и сказуемое составляют предикативную единицу (clause)

• Рекурсивность предложения

• Сложное предложение содержит несколько предикативных единиц

*http://ru.wikipedia.org/wiki/Предложение (лингвистика)

Page 29: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 29

Разбивка на предложения

1. Предположительный конец предложения после . ? ! ; :

2. Не рассматривать текст внутри кавычек

3. Граница по точке неверна, если

• Перед ней стоит сокращение, не стоящее обычно в конце предложения

• Перед ней стоит сокращение, а после него слово с маленькой буквы

4. Граница по ? или ! неверна, если дальше стоит слово с маленькой

буквы

Page 30: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 30

Наборы текстов

Лингвистические

• Английские

– Brown corpus

– Penn Treebank

– WordNet

• Русские

– НКРЯ

– Открытый корпус

Для прикладных задач

• Reuters, News20, Bing Liu, WIPO, SemEval, TREC

• РОМИП

Page 31: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 31

Заключение

Введение

Знаменательные служебные слова

Закон Зипфа

Части речи и составляющие

Грамматики состовляющих и зависимостей

Разбивка по предложениям

Наборы текстов

Page 32: Ulanov nlp-1

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 32

Спасибо!

[email protected]

[email protected]