Ulanov nlp-2

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

description

 

Transcript of Ulanov nlp-2

Page 1: Ulanov nlp-2

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

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

Page 2: Ulanov nlp-2

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

Arnetminer.org

Page 3: Ulanov nlp-2

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

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

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 4: Ulanov nlp-2

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

СТАТИСТИКИ. ЯЗЫКОВЫЕ МОДЕЛИ Лекция 2

Page 5: Ulanov nlp-2

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

Оглавление

Введение

Статистики

Поиск терминологии в тексте

Языковые модели (введение)

Page 6: Ulanov nlp-2

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

Введение

Большинство подходов к анализу языка основано на вероятностных моделях

Вероятность слов будем вычислять на корпусе как относительную частоту

Распределение вероятностей слов удобно апроксимировать известным

распределением, чтобы пользоваться его свойствами (типа среднего или дисперсии)

Биномиальное распределение

• Описывает вероятность увидеть данное слов 𝑟 раз в тексте размером 𝑛 слов

• 𝐶𝑛𝑘 - количество всех выборок размером 𝑟 из 𝑛

– Возможно 𝑛 разных слов

𝑏 𝑟; 𝑛, 𝑝 = 𝐶𝑛𝑟 ∙ 𝑝𝑟 1 − 𝑝 𝑛−𝑟

𝐶𝑛𝑟 =

𝑛!

𝑛 − 𝑟 ! 𝑟!

Page 7: Ulanov nlp-2

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

Введение

Словосочетание - это соединение двух или нескольких знаменательных слов,

связанных по смыслу и грамматически

Коллокация – словосочетание, значение которого не (всегда) может быть получено

из анализа входящих в него слов. В состав его входят как слова со свободным

значением, так и с фразеологически связанным (только в данном сочетании)

• Крепкий чай (коллокация), добрый кот (словосочетание), белая ворона (идиома)

Применение коллокаций

• Генерация естественного языка

– Выбор наиболее вероятной коллокации из возможных

• Составление словарей (лексикография)

– Вычленение устоявшихся фраз или терминов

• Разбор языка

– Отдавать предпочтение коллокациям

• Подсказки, исправления ошибок и т.п.

Page 8: Ulanov nlp-2

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

Способы поиска коллокаций

Выбор наиболее вероятной коллокации из возможных

На самом деле это уже и не коллокации в лингвистическом смысле

• По частоте

• По частям речи

• По среднему значению и дисперсии

• Проверка статистической гипотезы

• По мере взаимной информации

Page 9: Ulanov nlp-2

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

Поиск коллокаций по частоте

На самом деле это поиск последовательностей слов (n-

gramm)

• Наиболее частые пары слов не похожи на коллокации

• Обычно применяется фильтр по последовательностям частей речи

– «черный ворон» – «JJ NN», «вид на жительство» «NN PRP NN»

– Для языка со свободным порядком слов – согласование по

числу/времени/роду/падежу

– Можно матчить наидлиннейшую последовательность

№ Пары слов Частота**

1 и не 201352

2 и в 193983

3 потому что 117401

4 я не 113767

5 у меня 97102

6 может быть 96065

7 то что 95251

8 что он 92743

9 не было 92729

10 в том 89842

**Национальный корпус русского языка (НКРЯ) *Justeson, John S., and Slava M. Katz. "Technical terminology: some linguistic

properties and an algorithm for identification in text." Natural language

engineering 1.1 (1995): 9-27.

Page 10: Ulanov nlp-2

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

Поиск коллокаций по частоте и частям речи

[(JJ | NN)+ ((JJ | NN)* (PRP)?) (JJ | NN)*] NN

• JJ – прилагательное

• NN – существительное

• PRP – предлог

Статистика и немного лингвистики

№ Пары слов Частота**

1 Российской Федерации 18370

2 Таким образом 16925

3 крайней мере 15886

4 друг друга 14932

5 точки зрения 13594

6 конце концов 13384

7 таким образом 13345

8 всяком случае 12714

9 другой стороны 10539

10 первый раз 10443

Page 11: Ulanov nlp-2

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

Отношение относительных частот

Относительная частота слова/коллокации в корпусе неким образом характеризует

корпус. Отношение относительных частот в разных корпусах говорит о

характерности данной коллокации для корпуса

• Полезно для нахождения характерной терминологии

• Можно использовать для отдельных слов

– Например, в анализе мнений

– Корпус «естественные науки» vs «художественная литература»

– «функция» 791/7415809 : 140/101800661=77.56

– «правда» 864/7415809 : 31673/101800661=0.37

𝑤𝑒𝑖𝑟𝑑𝑛𝑒𝑠𝑠 𝑐 =𝑓𝑟𝑒𝑞𝑠𝑝𝑒𝑐𝑖𝑎𝑙 𝑐

𝑓𝑟𝑒𝑞𝑔𝑒𝑛𝑒𝑟𝑎𝑙 𝑐

Damerau, Fred J. "Generating and evaluating domain-oriented multi-word terms from texts." Information Processing & Management 29.4 (1993): 433-447.

Ahmad, K.; Gillam, L.; and Tostevin, L. 1999. University of surrey participation in trec8: Weirdness indexing for logical document extrapolation and

retrieval (wilder). In The Eighth Text Retrieval Conference (TREC-8).

Page 12: Ulanov nlp-2

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

Среднее и дисперсия коллокации

Помогает обнаруживать сочетания слов типа «слово1.ххх.слово2»

• Например: «дать Х рублей», «шел Х день» (слова надо лемматизировать)

• Вычислить среднее всех расстояний между словами (от -9 до 9)

• Вычислить дисперсию 𝜎2

• Интересные пары слов

– Маленькая дисперсия

– Среднее расстояние больше 1

• Хорошо работает в языках с фиксированным порядком слов

• В русском не очень

– частота слов «идти» и «день» от расстояния

– «скорый» и «поезд»

𝜎2 = 𝑑𝑖 − 𝑑 𝑛𝑖=1

𝑛 − 1

𝑑

0

200

400

600

800

1000

-5 -4 -3 -2 -1 0 1 2 3 4 5

f

0

100

200

300

-2 -1 0 1 2

f

Page 13: Ulanov nlp-2

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

t-критерий Стьюдента для коллокации

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

Гипотеза 𝐻0 - два слова появляются в тексте независимо друг от друга (среднее

значение появления двух слов отдельно не отличается от среднего значения

появления слов совместно), они из одной и той же генеральной выборки

T-тест

• 𝑥 - частота коллокации в корпусе

• 𝜇 – среднее значение появления слов независимо 𝜇 = 𝑝 = 𝑓1 ∙ 𝑓2 (Бернулли)

• 𝜎 – дисперсия коллокации в корпусе 𝜎 = 𝑝 1 − 𝑝 (распределение Бернулли)

• Уровень значимости см. по таблице

– например, если 𝑡=2.576, то уровень значимости 0.005 и гипотезу можно отвергнуть с

уверенностью 99.5%

• Согласно тесту часто получается, что коллокации не случайны

– Язык не так уж случаен

• Более полезно использовать значение 𝑡 для ранжирования коллокаций

• Используется предположение о нормальности распределений

𝑡 =𝑥 − 𝜇

𝜎2

𝑁

Page 14: Ulanov nlp-2

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

t-критерий

Page 15: Ulanov nlp-2

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

Двухвыборочный критерий Стьюдента для

коллокации Как отличается употребление слов?

Две независимых выбоки

• Например, «хороший» и «добрый»

• 𝑤1 - первое слово

• 𝑤2 - второе слово

• 𝑤0 - рассматриваемое слово (то, с чем употребляют)

• С(…) - частота коллокации в корпусе

• Полезно для составления примеров для словарей

𝑡 =𝑥 1 − 𝑥 2

𝜎12

𝑁1+𝜎22

𝑁2

𝑡𝑤 ≈𝐶 𝑤1𝑤0 − 𝐶 𝑤2𝑤0

𝐶 𝑤1𝑤0 + 𝐶 𝑤2𝑤0

Church, Kenneth, et al. "6. using statistics in lexical analysis." Lexical acquisition: exploiting on-line resources to build a lexicon (1991): 115.

Page 16: Ulanov nlp-2

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

Двухвыборочный t-критерий

Page 17: Ulanov nlp-2

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

Критерий Пирсона на независимость

Гипотеза 𝐻0 - два слова 𝑤1 и 𝑤2 появляются в

тексте независимо друг от друга

𝜒2-тест (критерий Пирсона)

• 𝑤1𝑤2- коллокация

• 𝑂𝑖𝑗 - наблюдаемые частоты в корпусе

– 𝑂11 - частота коллокации

• 𝐸𝑖𝑗- ожидаемые частоты в предположении

независимости слов

– Надо посчитать маржинальные вероятности для

соотв. колонки и столбца, перемножить их и

умножить на размер выборки

• Ранжирование по 𝜒2 не сильно отличается от

ранжирования по t-тесту

• Не рекомендуется применять, если частоты

небольшие (меньше 5)

𝜒2 = 𝑂𝑖𝑗 − 𝐸𝑖𝑗

2

𝐸𝑖𝑗𝑖,𝑗

𝑤1 ¬𝑤1

𝑤2 𝑂11 𝑂12

¬𝑤2 𝑂21 𝑂22

𝐸11 =𝑂11 + 𝑂12𝑁

×𝑂11 + 𝑂21𝑁

× 𝑁

𝜒2 =𝑁 𝑂11𝑂22 − 𝑂12𝑂21

2

𝑂11 + 𝑂12 𝑂11 + 𝑂21 𝑂12 + 𝑂22 𝑂21 + 𝑂22

Page 18: Ulanov nlp-2

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

Хи-квадрат

Частота Хи-квадрат

скорый поезд 95 268895.9

фирменный поезд 8 4523.5

ночной поезд 29 3471.8

последний поезд 43 1158.7

прямой поезд 7 118.9

Page 19: Ulanov nlp-2

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

Тест отношения правдоподобия

Составим табличку с вероятностями, посчитанными в соотв. с разными гипотезами

Гипотеза 𝐻𝑤 - слово 𝑤2 появляется независимо от 𝑤1, 𝐻𝑤𝑤 - зависимо

• 𝑐1, 𝑐2 и 𝑐12 - кол-во 𝑤1, 𝑤2 и 𝑤1𝑤2 в корпусе размером 𝑁

• 𝑏 𝑟; 𝑛, 𝑝 = 𝐶𝑛𝑟 ∙ 𝑝𝑟 1 − 𝑝 𝑛−𝑟

𝐻𝑤 𝐻𝑤𝑤

𝑃 𝑤2|𝑤1 𝑝 =𝑐2𝑁

𝑝12 =𝑐12𝑐1

𝑃 𝑤2|¬𝑤1 𝑝 =𝑐2𝑁

𝑝2 =𝑐2 − 𝑐12𝑁 − 𝑐1

𝑐12 из 𝑐1 биграмм - 𝑤1𝑤2 𝑏 𝑐12; 𝑐1, 𝑝 𝑏 𝑐12; 𝑐1, 𝑝12

𝑐2 − 𝑐12из N − 𝑐1 биграмм -

¬𝑤1𝑤2 𝑏 𝑐2 − 𝑐12; 𝑁 − 𝑐1, 𝑝 𝑏 𝑐2 − 𝑐12; 𝑁 − 𝑐1, 𝑝2

Dunning, Ted. "Accurate methods for the statistics of surprise and coincidence." Computational linguistics 19.1 (1993): 61-74.

Page 20: Ulanov nlp-2

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

Тест отношения правдоподобия

Функция правдоподобия – функция параметров вероятностной модели

𝑓 𝑥|𝜃 vs 𝐿 𝜃|𝑥

• 𝑥 - переменная, 𝜃 - параметр

Функция правдоподобия при наблюдении 𝑤1, 𝑤2 и 𝑤1𝑤2 для гипотез:

• 𝐿 𝐻𝑤 = 𝑏 𝑐12; 𝑐1, 𝑝 ∙ 𝑏 𝑐2 − 𝑐12; 𝑁 − 𝑐1, 𝑝

• 𝐿 𝐻𝑤𝑤 = 𝑏 𝑐12; 𝑐1, 𝑝12 ∙ 𝑏 𝑐2 − 𝑐12; 𝑁 − 𝑐1, 𝑝2

• Какая гипотеза более правдоподобна?

• Ясная интерпретация, лучше работает на небольших данных

• Можно использовать как 𝜒2 тест

log 𝜆 = log𝐿 𝐻𝑤𝐿 𝐻𝑤𝑤

𝐿 𝑟, 𝑛, 𝑝 = 𝑝𝑟 1 − 𝑝 𝑛−𝑟

−2 log 𝜆 →𝑛→∞ 𝜒2

Page 21: Ulanov nlp-2

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

Отношение правдоподобия

Page 22: Ulanov nlp-2

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

Взаимная информация

Взаимная информация – описывает количество информации, содержащееся в

одном слове относительно другого. В NLP обычно используется Pointwise Mutual

Information (PMI)

Особенности

• Говорит о том, сколько добавляется информации о слове 𝑤2 , если видишь слово 𝑤1

• Может применяться не только с подряд стоящим словам

– Внутри предложения или документа

• Дает большой вес редким словосочетаниям

– из-за их низкой вероятности и, следовательно, большой меры информации

• Разумно использовать как меру независимости слов

• Мэннинг критикует, но в литературе популярна (для извлечения информации, information

extraction)

𝑃𝑀𝐼 𝑤1, 𝑤2 = log𝑃 𝑤1𝑤2𝑃 𝑤1 ∙ 𝑃 𝑤2

Church, Kenneth, et al. "6. using statistics in lexical analysis." Lexical acquisition: exploiting on-line resources to build a lexicon (1991): 115.

Page 23: Ulanov nlp-2

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

Статистики Название Для чего Плюс Минус Трудности

Частота+части речи Основные коллокации Работает с топ Х Не работает с топ Х+1 Надо знать части речи

«Странность» Характерные Простота Нужно два корпуса

Среднее и дисперсия Ранжирование

коллокаций (прямое)

Языки со свободным

порядком слов

Т-тест Ранжирование Предположение

нормальности

Хи-квадрат Ранжирование Не делается

предположений о виде

распределения

Вычисление общего

кол-ва коллокаций

Отношение

правдоподобия

Ранжирование Хорошо объясняется Редко применяется

Взаимная

информация

Обратное

ранжирование

Крайне ненадежна на

редких коллокациях

Page 24: Ulanov nlp-2

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

Поиск терминологии*

Подзадача лексикографии – составление словарей

Основные термины в тексте

Подходы

• PMI, хи-квадрат, частота

• C-value

• Weiredness (странность)

• Glossex

• Wikipedia

– Вычленение устоявшихся фраз или терминов

• Очень часто игнорируют однословные термины (а зря)

• Обычно комбинируют несколько подходов

– Можно произвести машинное обучение, используя различные подходы, как признаки

классификации

Page 25: Ulanov nlp-2

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

Поиск терминологии C value

C-value*

Алгоритм

• Предварительная фильтрация по лингвистическим паттернам

– (NN | JJ)+ NN

• a – коллокация-кандидат, b – коллокация, в которую входит a

– Ta – все коллокации типа b, P – их количество

• f – частота, логарифм нужен, чтобы придать меньший вес длинным коллокациям

• Стоплист, ограничение по частоте

• Результаты – точность выше на 8%, чем у частотного метода

Frantzi, Katerina, Sophia Ananiadou, and Hideki Mima. "Automatic recognition of multi-word terms:. the C-value/NC-value method." International Journal on Digital Libraries 3.2

(2000): 115-130.

Page 26: Ulanov nlp-2

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

Поиск терминологии GlossEx

GlossEx

Алгоритм

• Предварительная фильтрация по лингвистическим паттернам и длине (6 слов)

– [(JJ | NN)+ ((JJ | NN)* (PRP)?) (JJ | NN)*] NN

• Вес кандидата – линейная комбинация специфичности коллокации (term domain specificity) и

связности (term cohesion)

• Специфичность – «странность» коллокации, вычисленная по входящим в него словам

• Связность – модифицированная Dice Measure (мера похожести множеств)

Park, Youngja, Roy J. Byrd, and Branimir K. Boguraev. "Automatic glossary extraction: beyond terminology identification." Proceedings of the 19th international conference on

Computational linguistics-Volume 1. Association for Computational Linguistics, 2002.

Page 27: Ulanov nlp-2

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

Поиск терминологии HUMB

HUMB

Подход, на основе машинного обучения

Признаки

• Структурные

– В каком месте статьи содержится кандидат (заголовок, среди ссылок, заключение и т.д.)

– Как далеко от начала/конца статьи

• Лексические

– Связность (предыдущий слайд), TF-IDF, частота,

• Семантические

– Википедия (вероятность быть текстом ссылки)

• Классификатор

– SVM (не удалось настроить), деревья решений, персептрон

Lopez, Patrice, and Laurent Romary. "HUMB: Automatic key term extraction from scientific articles in GROBID." Proceedings of the 5th international workshop on

semantic evaluation. Association for Computational Linguistics, 2010.

Page 28: Ulanov nlp-2

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

Языковые модели

Language models

Мы рассматривали пары слов

Часто для анализа этого мало, т.к. язык – это больше, чем пары слов

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

• Задача: как угадать следующее слово, зная предыдущие (моделирование вероятностей

последовательностей слов в языке)

– Исторически связано с OCR

– Важно для распознавания речи, машинного перевода, определения смысла слова,

исправления ошибок, лексикографии

Page 29: Ulanov nlp-2

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

Языковые модели

N-gram language modeling

Вероятность последовательности слов (n-gram)

𝑝 𝑤1, 𝑤2, … , 𝑤𝑛

Здравый смысл подсказывает, что следующее слово как-то зависит от предыдущих

𝑝 𝑤1, 𝑤2, … , 𝑤𝑛 = 𝑝 𝑤1 ∙ 𝑝 𝑤2|𝑤1 ∙ ⋯ ∙ 𝑝 𝑤𝑛|𝑤1, … , 𝑤𝑛−1

Вероятность слова 𝑤𝑛 при условии предыдущих слов:

𝑝 𝑤𝑛|𝑤1, … , 𝑤𝑛−1

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

последовательности любой длины

• Очень сложно собрать статистику для длинных последовательностей. Давайте считать, что

текущее слово зависит только от m предыдущих слов (обычно берут 3 слова)

• Получается Марковская цепь порядка m

• 𝑝 𝑤𝑛|𝑤1, … , 𝑤𝑛−1 ≈ 𝑝 𝑤𝑛|𝑤𝑛−𝑚, … , 𝑤𝑛−1

Page 30: Ulanov nlp-2

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

Оценка по принципу максимального

правдоподобия Maximum likelihood estimator

Вероятность слова 𝑤𝑛 при условии предыдущих слов:

𝑝 𝑤𝑛|𝑤1, … , 𝑤𝑛−1 =𝑝 𝑤1, 𝑤2, … , 𝑤𝑛−1𝑝 𝑤1, 𝑤2, … , 𝑤𝑛

Воспользуется принципом максимального правдоподобия (данным). Функция

максимального правдоподобия – функция от параметров распределения

𝑝𝑀𝐿𝐸 𝑤𝑛|𝑤1, … , 𝑤𝑛−1 =𝑐𝑜𝑢𝑛𝑡 𝑤1, 𝑤2, … , 𝑤𝑛−1 𝑐𝑜𝑢𝑛𝑡 𝑤1, 𝑤2, …𝑤𝑤

=𝑐

𝑁

• Проблемы

– Плохие оценки для длинных последовательностей

– Для ненаблюдаемых событий – 0

• Решения

– Сглаживание, перераспределение вероятностей

Page 31: Ulanov nlp-2

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

Заключение

Введение

Статистики

Поиск терминологии в тексте

Языковые модели

Page 32: Ulanov nlp-2

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

Спасибо!

[email protected]