1. На каком языке этот текст?
Ответ математиков
Клышинский Э.С.
ИПМ им. М.В. Келдыша РАН
Санкт-Петербург
08.12.2012
2. Необходимость определения языка
Машинный Многоязыковой
перевод анализ текстов
Фактографический
Определение
анализ на основе
языка текста
новостей
Составление
Определение
подшивок
диалекта
документов
3. Существующие решения
Определение языка текста
• Словарные методы, основанные на
применении морфологического словаря.
• Решающие правила, учитывающие
особенности языка
• Методы, основанные на выделении
подстрок длины n (n-граммные методы).
4. Существующие решения
Определение языка текста
• Словарные методы
При наличии морфологических словарей
для всех языков можно попытаться
проанализировать небольшой фрагмент
текста. Язык, для которого разобралась
наибольшая часть фрагмента, выигрывает.
5. Существующие решения
Определение языка текста
• Словарные методы
Но есть нюанс.
Словарей не так много, как хотелось бы, а
интерфейсов к ним гораздо больше, чем
хотелось бы.
6. Существующие решения
Определение языка текста
• Словарные методы – характерные слова
Например, использование артиклей или
форм глагола «быть».
англ. the, фр. le, la, нем. die, der, das, ит. Il
англ. a, an, фр. un, une,, нем. ein, нидерл.
een, франц. un, исп. un, порт. um, тур. bir
7. Существующие решения
Определение языка текста
• Словарные методы – характерные слова
«Другие языки, такие как русский,
большинство других славянских языков (за
исключением болгарского и македонского),
санскрит, латинский, китайский, японский,
тамильский, тайский, формально не имеют
артиклей вовсе». (Википедия)
8. Существующие решения
Определение языка текста
• Словарные методы – характерные слова
Но есть top-100 слов, вероятность встретить
которые очень велика.
Этот словарь может быть составлен
автоматически по набору текстов на
заданном языке. tf*idf, только наоборот.
9. Существующие решения
Определение языка текста
• Решающие правила на основе
характеристичных букв и их сочетаний
dh – хинди
tsch – немецкий
ё – русский, албанский, таджикский
カタカナ – катакана (яп.)
10. Существующие решения
Определение языка текста
• Решающие правила на основе
характеристичных букв и их сочетаний
Но есть нюанс.
Стандарт ИКАО по оформлению
проездных документов. Счастье, что не
текстов! И японцы в латинице всё равно
характерны.
11. Существующие решения
Определение языка текста
• Методы основанные на построении
языковой модели на основе n-грамм
По заранее классифицированным текстам
рассчитывается вероятность встретить
данное сочетание.
12. Существующие решения
Определение языка текста
• Методы основанные на построении
языковой модели на основе n-грамм
Классическая задача классификации:
проводится обучение, после чего требуется
отнести объект к одному из классов.
15. Необходимость определения языка
Синтез речи Выделение
заимствований
Определение в тексте
языка
происхождения Транскрипция
имени имен
собственного собственных
Выделение
Идентификация
именованных
именованных
сущностей
сущностей
16. Выделение имени собственного
Есть несколько правил, которые серьезно
помогают.
1. Имя собственное пишется с большой
буквы.
Жаль не везде.
Мухаммед ибн Муса Хорезми
И не всё, что пишется с Большой Буквы есть
Имя Собственное.
17. Выделение имени собственного
Есть несколько правил, которые серьезно
помогают.
2. Префикс, указывающий на положение в
обществе, звание, должность…
dr, mr, mrs, г-н, директор <название>, озеро,
город, …
19. Выделение имени собственного
Вообще, этим много кто занимается.
Оставайтесь с нами!
Татьяна Ландо (Яндекс). Автоматическое
извлечение фактов из текста на примере
сервиса Яндекс.Пресс-портреты.
03 Апрель 2010, Семинар NLP, Санкт-Петербург
20. Идентификация носителя имени
Steinberger J., Lenkova P., Kabadjov M., Steinberger R., van der Goot E.
Multilingual Statistical News Summarisation: Preliminary Experiments
with English // In Proc. of the 8th International Conference Recent
Advances in Natural Language Processing
21. Идентификация носителя имени
Обучение КА производится с помощью:
• Алгоритма Дейкстры (для распознающего КА)
• EM-алгоритма (для преобразующих КА)
K. Knight and J. Graehl. 1998. Machine transliteration.
Computational Linguistics, 24(4):599–612.
22. Идентификация носителя имени
Другие алгоритмы идентификации:
• Транскрипция с последующим (не)четким
поиском;
• Алгоритм Левенштейна на базе имен;
• Применение методов l- и lk-грамм при поиске в
базе имен;
•…
23. Недостатки методов
определения языка текста
• Небольшая длина имени
• Отсутствие полных словарей
имен собственных
• Невозможность использования баз данных
(например, результатов переписи) в связи с
многонациональностью имен
26. Существующие решения
Определение языка имени собственного
• Словарные методы
Но в принципе можем использовать результаты
переписи.
«Выделено девять подвидов тигра, из которых к
началу XXI века сохранились лишь шесть — общее
поголовье порядка 4000—6500 особей, …»
«Согласно данным Ассоциации зоопарков и
аквариумов мира, примерно 12 000 особей тигров
содержится в США в качестве домашних
животных.» (Википедия)
27. Существующие решения
Определение языка имени собственного
• Словарные методы
Но в принципе можем использовать результаты
переписи.
Политкорректно
получилось,
да?
28. Существующие решения
Определение языка имени собственного
• Решающие правила на основе характерных
букв и их сочетаний
Вероятность обнаружить характеристичное
сочетание в отдельном имени невелика.
29. Существующие решения
Определение языка имени собственного
• Решающие правила на основе
характеристичных букв и их сочетаний
Зачастую приходится работать с именами,
записанными на чистой латинице.
30. Существующие решения
Определение языка имени собственного
• Методы основанные на построении
языковой модели на основе n-грамм
Метод применим при наличии
размеченной базы имен.
31. Существующие решения
Вероятностная модель
• p(ci, ci-1, ci-2) – вероятность встретить
триграмму;
• p(ci| ci-1, ci-2) – условная вероятность
появления символа ci при условии, что он
находится после символов ci-1, ci-2.
• p(ci| ci-1, ci-2) * p(ci| ci-1, ci+1) * p(ci| ci+1, ci+2) –
условная вероятность встретить символ ci с
учетом четырех соседних.
32. Существующие решения
Вероятностная модель
• p(ci, ci-1, ci-2) – вероятность встретить
триграмму;
• p(ci| ci-1, ci-2) – условная вероятность
появления символа ci при условии, что он
находится после символов ci-1, ci-2.
• p(ci| ci-1, ci-2) * p(ci| ci-1, ci+1) * p(ci| ci+1, ci+2) –
условная вероятность встретить символ ci с
учетом четырех соседних.
35. Зависимость от количества языков
Обратите внимание, произведение
вероятностей на достаточно большом тексте
обязательно даст ноль. Пользуйтесь
логарифмами. Или суммой.
36. Зависимость от метода расчета
Основной
БОЛГАРИЯ
Основной
ДАНИЯ
Основной ЕГИПЕТ
ИЗРАИЛЬ
Основной
ИРАН
Основной
ИРЛАНДИЯ
ИСПАНИЯ
Основной КИТАЙ
ЛИТВА
Основной
НИДЕРЛАНДЫ
Основной ПОРТУГАЛьский
ФИНЛЯНДИЯ
Основной
ФРАНЦИЯ
Основной ЯПОНИЯ
английский
Основной
немецкий
Основной Основной Основной Основной Основной Основной Основной Основной Основной Основной Основной
Сумма вероятностей, обучение
37. Зависимость от метода расчета
Основной
БОЛГАРИЯ
Основной ДАНИЯ
ЕГИПЕТ
Основной
ИЗРАИЛЬ
Основной ИРАН
ИРЛАНДИЯ
Основной
ИСПАНИЯ
Основной КИТАЙ
ЛИТВА
Основной
НИДЕРЛАНДЫ
Основной ПОРТУГАЛьский
ФИНЛЯНДИЯ
Основной ФРАНЦИЯ
Основной ЯПОНИЯ
английский
Основной немецкий
Основной Основной Основной Основной Основной Основной Основной Основной
Произведение вероятностей, обучение
38. Зависимость от метода расчета
Основной
БОЛГАРИЯ
Основной ЕГИПЕТ
Основной
ИЗРАИЛЬ
ИРАН
Основной
ИРЛАНДИЯ
Основной ИСПАНИЯ
КИТАЙ
Основной
ЛИТВА
Основной НИДЕРЛАНДЫ
ПОРТУГАЛьский
Основной
ФИНЛЯНДИЯ
Основной ФРАНЦИЯ
Основной
ЯПОНИЯ
английский
Основной
немецкий
Основной Основной Основной Основной Основной Основной Основной
Сумма вероятностей, тест
39. Зависимость от метода расчета
Основной
БОЛГАРИЯ
Основной
ДАНИЯ
Основной ЕГИПЕТ
ИЗРАИЛЬ
Основной ИРАН
Основной ИРЛАНДИЯ
ИСПАНИЯ
Основной КИТАЙ
ЛИТВА
Основной
НИДЕРЛАНДЫ
Основной ПОРТУГАЛьский
ФИНЛЯНДИЯ
Основной
ФРАНЦИЯ
Основной ЯПОНИЯ
английский
Основной немецкий
Основной Основной Основной Основной Основной Основной Основной
Произведение вероятностей, тест
40. Еще раз, для сравнения
Основной
БОЛГАРИЯ
Основной ДАНИЯ
ЕГИПЕТ
Основной
ИЗРАИЛЬ
Основной ИРАН
ИРЛАНДИЯ
Основной
ИСПАНИЯ
Основной КИТАЙ
ЛИТВА
Основной
НИДЕРЛАНДЫ
Основной ПОРТУГАЛьский
ФИНЛЯНДИЯ
Основной ФРАНЦИЯ
Основной ЯПОНИЯ
английский
Основной немецкий
Основной Основной Основной Основной Основной Основной Основной Основной
Произведение вероятностей, обучение
42. Нечеткая классификация (3 языка)
Основной
БОЛГАРИЯ
Основной ДАНИЯ
ЕГИПЕТ
Основной
ИЗРАИЛЬ
Основной ИРАН
ИРЛАНДИЯ
Основной
ИСПАНИЯ
Основной КИТАЙ
ЛИТВА
Основной
НИДЕРЛАНДЫ
Основной ПОРТУГАЛьский
ФИНЛЯНДИЯ
Основной
ФРАНЦИЯ
Основной ЯПОНИЯ
английский
Основной
Основной Основной Основной Основной Основной Основной немецкий
Основной
Произведение вероятностей, тест
43. А что про это думают те, кто лучше нас?
Vatanen T., Väyrynen J. J., Virpioja S. Language Identification of
Short Text Segments with N-gram Models // In Proceedings of
the Seventh conference on International Language Resources
and Evaluation (LREC'10), p. 3423–3430.
44. А что про это думают те, кто лучше нас?
Thomas S., Verma A. Language Identification of Person Names
using CF-IOF based Weighing Function // In Proc. of Annual
Conference of the International Speech Communication
Association - INTERSPEECH , pp. 1769-1772, 2007
45. А что про это думают те, кто лучше нас?
26 языков – это уже серьезно.
Chen S.F., Maison B. Using Place Name Data to Train Language
Identification Models // In Proc. of the 2012 Conference of the
North American Chapter of the Association for Computational
Linguistics: Human Language Technologies pp. 367-371
46. Выводы
• Лучший результат был получен с
использованием мультипликативного
критерия
• Неплохо себя показывают
комбинированные меры.
• Качество распознавания зависит от
количества языков логарифмически.
47. Еще Выводы
• На самом деле сильно влияет
используемый корпус. Все приведенные на
графиках результаты были получены при
полном отсутствии диакритических знаков.
• Чуть лучше получается идентифицировать
только фамилии, так как они реже
заимствуются.
• Сперва определить группу языков, а потом
язык иногда помогает.