1
2
Илья Сегалович
и лингвистика в Яндексе
Михаил Маслов, Алексей Зобнин
3
Лингвистические проекты Ильи
Участие Яндекса в проекте НКРЯ
Морфологический анализ и синтез для неизвестных слов
Снятие морфологической омонимии
Практическая транскрипция имен собственных
Расстановка ударений и определение размера стиха
4
Морфологический
анализ и синтез для
неизвестных слов
5
Морфологический анализ и синтез
1995-
96: поисковая система и конкорданс для ЭНИ
«Грибоедов», «Информ
-
Норматив»
Обработка несловарных слов
– Поиск в словаре слова с максимальной длиной совпавшего
«хвоста»
– Генерация гипотез моделей словоизменения
– Попытка выбрать лучшую модель по статистике корпуса
ЭНИ
(И. Сегалович, М. Маслов. Диалог
-1998)
6
Морфологический анализ и синтез
1995-
96: поисковая система и конкорданс для ЭНИ
«Грибоедов», «Информ
-
Норматив»
Обработка несловарных слов
– Поиск в словаре слова с максимальной длиной совпавшего
«хвоста»
– Генерация гипотез моделей словоизменения
– Попытка выбрать лучшую модель по статистике корпуса
ЭНИ
(И. Сегалович, М. Маслов. Диалог
-1998)
7
Морфологический анализ и синтез
глокая
{глокать? глокий?}
куздра
{куздра?}
штеко
{штекий? штеко?}
будланула {будланул? будланула? будлануть?}
бокра
{бокр? бокра? бокрый?}
и
{и}
кудрячит
{кудрячит? кудрячита? кудрячитый? кудрячить?}
бокренка
{бокренк? бокренка? бокренок?}
8
Национальный корпус
русского языка
10
Размер НКРЯ
2004 год:
– корпус со снятой омонимией: ≈700 тыс. словоуп.
– основной корпус: ≈11 млн словоуп.
Сейчас:
– корпус со снятой омонимией : ≈6 млн. словоуп.
– основной корпус: ≈250 млн. словоуп.
– всего ≈
500
млн. словоуп.
11
Снятие
морфологической
омонимии
12
Снятие омонимии
:
постановка задачи
Цели
– поисковый конкорданс (для поиска по Вебу не нужен)
– увеличение точности поиска
– уменьшение объема индекса
Задача
– построить алгоритм выбора правильного текста леммы с
высокой точностью и высокой производительностью
(10
3
–
10
4
слов в секунду)
13
Снятие омонимии
:
подходы
Детерминированные методы (ЭТАП, Диалинг)
– Недостаточная точность
– Небольшая производительность
«Вероятностные» методы (HMM и т.п.)
– Нужен размеченный корпус
14
Идеи метода
На входе: результат морфоразбора (mystem)
начала {начинать=V,пе=прош,ед,изъяв,жен,сов}
{начало=S,сред,неод,(им,мн|род,ед|вин,мн)}
Базовая единица словаря контекстов:
<омоним, элемент_контекста, лемма>
Вариант «очевидного» представления контекста
V,пе,…|S,сред,неод,…
<.>+2
начало
p1
V,пе,…|S,сред,неод,…
<.>+2
начинать p2
(Ю. Зеленков, И. Сегалович, В. Титов, Диалог
-2005)
15
Ключевая идея метода
Нормализующие подстановки!
начала => ала(1о|3инать)
Не только
начала
, но и
гнала
знала
ужинала
вспоминала
окунала
…
(Ю. Зеленков, И. Сегалович, В. Титов, Диалог
-2005)
(Ю. Зеленков, И. Сегалович, В. Титов, Диалог
-2005)
16
Пример из словаря контекстов
ала(1о|3инать) <.>+2 1о 0.67
ала(1о|3инать) <.>+2 3инать 0.33
(Ю. Зеленков, И. Сегалович, В. Титов, Диалог
-2005)
17
Используемые корпуса
Корпус со снятой омонимией НКРЯ
-2004
700 тыс. словоуп.
Веб
-
корпус «трудных омонимов»
2 млн. словоуп.
(Ю. Зеленков, И. Сегалович, В. Титов, Диалог
-2005)
18
Сравнение методов снятия
омонимии
*
*
Зеленков Ю.Г.
19
Практическая
транскрипция
собственной лексики
20
Постановка задачи
Личные имена, географические названия, названия групп,
брендов и т. д.
Применение в 200
9
– запросы к «большому» поиску
– запросы Я.Музыке
и т.п.
– поиск по адресной книге книге
в Я.Почте
21
Постановка задачи
Задача
– Построить универсальный вероятностный метод
автоматической транскрипции
Данные
– 100 тыс. билингв (из Википедии и т.п.) для 17 языков
22
Методы практической транскрипции
(Ю. Зеленков)
Триграммы
Марковские модели
Байесовский подход
Метод сегментов
» Сегмент –
группа рядом стоящих гласных
или рядом стоящих согласных букв
И т.п. (всего методов –
штук 8)
23
Методы практической транскрипции
(выбор Ильи)
Триграммы
Марковские модели
Байесовский подход
Метод сегментов!
» Сегмент –
группа рядом стоящих гласных
или рядом стоящих согласных букв
И т.п. (всего методов –
штук 8)
24
Практическая транскрипция: метод
сегментов
Обучение
– Выравниваем билингвы по сегментам
– Строим список пар
-
переводов сегментов
:
1.
учитываем левый и правый контекст
2.
Вычисляем вероятности
Применение
Из всех вариантов переводов выбирается вариант с
наибольшей суммой вероятностей
25
Выравнивание сегментов
Выравниванием побуквенно:
s t a - t e m e n t
с т е й т - м е н т
26
Выравнивание сегментов
Собираем сегменты, убираем пропуски в оригинале:
st a t e m e nt
cт ей т - м е нт
27
Выравнивание сегментов
Убираем пропуски в «переводе»:
st a tem e nt
cт ей тм е нт
28
Метод сегментов
:
пример
[
r
e n au lt] => [
р
е н о *] (язык fr)
r =>
р(0.95) *(0.03) рь(0.01) ж(0.01)
(^)r =>
р(0.99)
ж(0.01)
r(e) =>
р(0.98)
ж(0.02)
r(e n) =>
р(0.95)
ж(0.05)
29
Метод сегментов
:
пример
[r
e
n au lt] => [р
е
н о *] (язык fr)
e =>
е(0.49)*0.40 э(0.07) а(0.02) и(0.02)
(r)e =>
е(0.69)*0.25
э(0.03) а(0.02) и(0.01)
e(n) =>
е(0.90)
э(0.06) а(0.02)*0.02
(^ r)e =>
е(0.93)
э(0.04) ё(0.02) ей(0.01)
e(n au) =>
е(1.00)
30
Метод сегментов
:
пример
[r e
n
au lt] => [р е
н
о *] (язык fr)
n =>
н(0.95)
нь(0.04)*0.01
(e)n =>
н(0.95)
нь(0.03)*0.02
n(au) =>
н(1.00)
(r e)n =>
н(0.92)
нь(0.07)*0.01
n(au lt)
- отсутствует в выборке
31
Метод сегментов
:
пример
[r e n
au
lt] => [р е н
о
*] (язык fr)
au => о(0.54) ау(0.40)
а(0.03) яу(0.02) оу(0.01)
(n)au => ау(0.54) о(0.38)
ай(0.08)
au(lt) =>
о(0.96)
ай(0.04)
(e n)au => ау(0.50) о(0.50)
au(lt $) => о(0.96)
ай(0.04)
32
Метод сегментов
:
пример
[r e n au
lt
] => [р е н о
*
] (язык fr)
lt => льт(0.43)
лт(0.39)*0.16 лть(0.01) ль(0.01)
(au)lt =>
λ(0.85)
ть(0.06) л(0.03) лт(0.03) льт(0.03)
lt($) => λ(0.48) льт(0.33) лт(0.16)
л(0.02) ль(0.01)
(n au)lt =>
λ(0.80)
л(0.20)
33
Обратная транскрипция
на русский язык
Проблема
– Метод с вероятностями переводов работает плохо,
точность ≈0.5
Решение
:
яндексология
– Яндексология всех вариатов работает тоже плохо
– Выбираем 2
-
3 самых вероятных варианта
– Применяем к ним яндексологию
– Точность ≈
0.9-0.95
34
Обратная транскрипция: примеры
милен демонжо => Mylene Demongeot
марион котияр => Marion Cotillard
марион котийяр => Marion Cotillard
марион котийар => Marion Cotillard
марион котилар => Marion Cotilard
Эйяфьятлайокудль => Eyjafjallajokull
Эйяфья длай ёкюдль => Eyjaf jya dlajokull
Эйяфьядлайёкудль => Eyjafjyadlajokull
35
Новое применение 2012
-13
–
карты
всего мира по
-
русски (В. Титов)
36
Расстановка ударений
и определение размера
стиха
37
Постановка задачи
Автоматическая расстановка ударений и определение
размера стиха в проекте «Стихолюб»
(2009)
Решение:
Автоматическая расстановка ударений, фонетическая
транскрипция
Определение схемы стиха:
– размер (6 силлабо
-
тонических и 3 тонических размера)
– клаузула
Анализ строфы в целом на основе внутренней симметрии,
т.е. выбор схемы с наименьшей энтропией
38
Постановка задачи
Автоматическая расстановка ударений и определение
размера стиха в проекте «Стихолюб»
(2009)
Решение:
Автоматическая расстановка ударений, фонетическая
транскрипция
Определение схемы стиха:
– размер (6 силлабо
-
тонических и 3 тонических размера)
– клаузула
Анализ строфы в целом на основе внутренней симметрии,
т.е. выбор схемы с наименьшей энтропией
39
Определение размера стиха
ВАРИАНТ 1
(AAbb)
Шв
е́
д, р
у́
сск
и
й — к
о́
л
е
т, р
у́
б
и
т, р
е́
ж
е
т.
⌣՛−́⌣−́⌣−́⌣−́⌣
Я4ж
Б
о
й б
а
р
а
б
а́
нн
ы
й, кл
и́
к
и
, скр
е́
ж
е
т,
⌣−⌣−́⌣−́⌣−́⌣
Я4ж
Гр
о
м п
у́
ш
е
к, т
о́
п
о
т, рж
а́
нь
е
, ст
о́
н,
⌣−́⌣−́⌣−́⌣−́
Я4м
И
см
е́
рть,
и
а́
д с
о
вс
е́
х ст
о
р
о́
н.
⌣−́⌣−́⌣−́⌣−́
Я4м
ВАРИАНТ 2
(AAbb)
Шв
е́
д, р
у́
сск
и
й — к
о́
л
е
т, р
у́
б
и
т, р
е́
ж
е
т.
(0)−0−1−1−1−(1)
Дл5
Б
о
й б
а
р
а
б
а́
нн
ы
й, кл
и́
к
и
, скр
е́
ж
е
т,
⌣−⌣−́⌣−́⌣−́⌣
Я4ж
Гр
о
м п
у́
ш
е
к, т
о́
п
о
т, рж
а́
нь
е
, ст
о́
н,
⌣−́⌣−́⌣−́⌣−́
Я4м
И
см
е́
рть,
и
а́
д с
о
вс
е́
х ст
о
р
о́
н.
⌣−́⌣−́⌣−́⌣−́
Я4м
40
Определение размера стиха: новые
применения
Найдено 60
тыс. ошибок в поэтическом корпусе НКРЯ
Автопоэт
–
составление стихов из поисковых запросов,
твитов, заголовков новостей и т.п.
41
Пример творчества Автопоэта
курить бамбук что это значит
зачем коту усы и хвост
егэ по химии задачи
тамбов мужчина средний рост
куда пойти в москве в июне
иван тургенев накануне
чикаго платье с бахромой
кальян купить курить домой
все сериалы межсезонья
сломался кухонный комбайн
малифисента фильм онлайн
значенье имени хавронья
редиска перец лук морковь
зачем топтать мою любовь
http://autopoet.yandex.ru
43
Программа MyStem: новая версия
MyStem
—
свободно распространяемый морфологический
анализатор для русского языка
http://api.yandex.ru/mystem/
Первая версия программы была написана Ильёй
Сегаловичем в 1997 году
Мы представляем версию MyStem 3.0
Её основные отличия:
– ранжирование разборов,
– поддержка фикслистов,
– разные форматы вывода
.
44
Ранжирование разборов
Задача №1 —
ранжировать разборы без учета контекста:
есть
есть
= V,
несов,
пе
есть
= INTJ
быть
= V,
нп
45
Ранжирование разборов
Задача №1 —
ранжировать разборы без учета контекста:
есть
есть
= V,
несов,
пе
есть
= INTJ
быть
= V,
нп
айпад
айпада ?= S, муж, неод = вин, ед | им, ед
айпад ?= ADV =
айпад ?= S, муж, од = вин, мн | род, мн
айпада ?= S, жен, неод = род, мн
46
Ранжирование разборов
Должно получиться примерно так:
есть
2.
есть
= V,
несов,
пе
=
инф
3.
есть
= INTJ =
1.
быть
= V,
нп
= (...)
есть
айпада
?= S,
муж,
од
= (
вин,
мн
|
род,
мн
)
айпад
?= ADV=
1.
айпад
?= S,
муж,
неод
= (
вин,
ед
|
им,
ед
)
айпада
?= S,
жен,
неод
=
род,
мн
47
Частоты для ранжирования
Берем из корпуса со снятой омонимией (НКРЯ)
Учитываем частоты слов из веба
Однако корпус не полный, и запоминать частоты для каждой
словоформы расточительно.
Поэтому мы «факторизуем» эти частоты, настраивая их
отдельно для
‒ окончаний каждой схемы,
‒ основ каждой схемы,
‒ самих морфологических схем.
48
Более формально
Пусть зафиксирована схема морфологического разбора
s,
и в слове
w
выделены основа
stem
и окончание
flex.
Считаем, что события «встретить основу слова» и
« встретить окончание слова» в рамках этой схемы
независимы
.
.
word
P
scheme
P
scheme
|
flex
P
scheme
|
stem
P
=
=
word
P
scheme
P
scheme
|
word
P
=
=
word
|
scheme
P
49
Оценка качества
Тестировали на подкорпусе НКРЯ со снятой омонимией
,
выбирая самый вероятную лемму из предложенных.
Стратегии:
‒ первая лемма:
90%;
‒ первая по алфавиту лемма:
89%;
‒ самая вероятная лемма в новой модели:
95,5%!
50
Снятие омонимии
Опция –d включает переранжирование разборов с учётом
контекста.
Модель обучена с помощью технологии MatrixNet.
В качестве факторов используются в том числе
«нормализующие подстановки» из модели Ю. Зеленкова, И.
Сегаловича и В. Титова (Диалог
-2005).
Точность первого разбора (по тексту леммы) составляет
97,8%.
51
Дополнительные опции
Опция --generate-all
строит все гипотезы для
неизвестных слов, а не только те, где совпадение с
образцом максимально
Опция --filter-gram
разрешает строить только разборы
с указанными грамматическими тегами
mystem --filter-gram V
батарея
{
батареть
?= V, ipf, intr = Inpraes, ger }
Достарыңызбен бөлісу: |