Русская Википедия:Обработка естественного языка
Обработка текстов на естественном языке (Natural Language Processing, NLP) — общее направление искусственного интеллекта и математической лингвистики. Оно изучает проблемы компьютерного анализа и синтеза текстов на естественных языках. Применительно к искусственному интеллекту анализ означает понимание языка, а синтез — генерацию грамотного текста.
Задачи и ограничения
Теоретически, построение естественно-языкового интерфейса для компьютеров — очень привлекательная цель. Ранние системы, такие как SHRDLU, работая с ограниченным «миром кубиков» и используя ограниченный словарный запас, выглядели чрезвычайно хорошо, вдохновляя этим своих создателей. Однако оптимизм быстро иссяк, когда эти системы столкнулись со сложностью и неоднозначностью реального мира.
Понимание естественного языка иногда считаютШаблон:Кто AI-полной задачей, потому как распознавание живого языка требует огромных знаний системы об окружающем мире и возможности с ним взаимодействовать. Само определение смысла слова «понимать» — одна из главных задач искусственного интеллекта Шаблон:Нет АИ.
Сложности понимания
В русском языке
Качество понимания зависит от множества факторов: от языка, от национальной культуры, от самого собеседника и т. д. Вот некоторые примеры сложностей, с которыми сталкиваются системы понимания текстов.
- Сложности с раскрытием анафор (распознаванием, что имеется в виду при использовании местоимений): предложения «Мы отдали бананы обезьянам, потому что они были голодные» и «Мы отдали бананы обезьянам, потому что они были перезрелые» похожи по синтаксической структуре. В одном из них местоимение они относится к обезьянам, а в другом — к бананам. Правильное понимание зависит от знаний компьютера, какими могут быть бананы и обезьяны.
- Свободный порядок слов может привести к совершенно иному толкованию фразы: «Бытие определяет сознание» — что определяет что?
- В русском языке свободный порядок компенсируется развитой морфологией, служебными словами и знаками препинания, но в большинстве случаев для компьютера это представляет дополнительную проблему.
- В речи могут встретиться неологизмы, например, глагол «Пятидесятирублируй» — то есть высылай 50 рублей. Система должна уметь отличать такие случаи от опечаток и правильно их понимать.
- Правильное понимание омонимов — ещё одна проблема. При распознавании речи, помимо прочих, возникает проблема фонетических омонимов. Во фразе «Серый волк в глухом лесу встретил рыжую лису» выделенные слова слышатся одинаково, и без знания, кто глухой, а кто рыжий, не обойтись (кроме того, что лиса может быть рыжей, а лес — глухим, лес также может быть рыжим (характеристика, в данном случае обозначающая преобладающий цвет листвы в лесу), в то время как лиса может быть глухой, что порождает дополнительную проблему, вытекающую из предыдущей, хотя и отчасти компенсируется морфологией — у прилагательных в данном предложении род явно разный).
Классификация задач
Шаблон:Список примеров Популярные задачи:[1][2][3]
Задачи анализа и синтеза в комплексе:
- Машинный перевод
- Автоматическое реферирование, аннотирование или упрощение текста
Общая классификация:
- Категоризация текстов
- Классификация последовательностей символов
- Распознавание именованных сущностей
- Определение частей речи слов
- Распознавание фраз
- Извлечение информации из текста
- Синтаксическая аннотация
- Семантическая аннотация
- Генерирование текста
- Генерация текста на основе распознанной речи
- Машинный перевод
- Обобщение текста
Программное обеспечение
- AlchemyAPI
- Expert System S.p.A.
- General Architecture for Text Engineering (GATE)
- Modular Audio Recognition Framework
- MontyLingua
- Natural Language Toolkit (NLTK)
См. также
Примечания
Ссылки
Шаблон:Выбор языка Шаблон:Обработка естественного языка Шаблон:Искусственный интеллект