Создайте модель естественного языка, которая исправляет ошибки - PullRequest
9 голосов
/ 10 февраля 2010

Что такое книги о том, как создать программу синтаксического анализа на естественном языке, например:

input: I got to TALL you
output: I got to TELL you

input: Big RAT box
output: Big RED box

in: hoo un thum zend three
out: one thousand three

Он должен иметь языковую модель, позволяющую предсказать, какие слова написаны с ошибками!

Каковы лучшие книги о том, как создать такой инструмент ??

p.s. Существуют ли бесплатные веб-сервисы для проверки правописания? Может быть из Google? ..

Ответы [ 5 ]

7 голосов
/ 10 февраля 2010

Питер Норвиг написал потрясающую проверку орфографии . Может быть, это может помочь вам.

4 голосов
/ 10 февраля 2010

У вас есть как минимум три варианта

  1. Вы можете написать программу, которая понимает язык (то есть, что означает слово). Это тема для исследования сегодня. Ожидайте первых результатов, когда вы сможете купить компьютер, который будет достаточно быстрым для запуска такой программы (вероятно, через 10 лет, когда компьютеры станут в 1000 раз быстрее, чем сегодня).

  2. Используйте огромный корпус (текстовые документы) для обучения Скрытой модели Маркова .

  3. Используйте огромный корпус и генерируйте статистику о четверках n-граммах, т.е. как часто появляется кортеж из N слов. У меня нет удобной ссылки для этого, но идея в том, что некоторые слова всегда появляются в контексте других слов. Поэтому, когда вы анализируете свой текст в 4 грамма и просматриваете его в своей базе данных, а вы не можете его найти, есть вероятность, что с текущим кортежем что-то не так. Следующий шаг - найти все возможные совпадения (другие 4 грамма с небольшим звуковым индексом или схожим расстоянием до текущего) и попробовать тот, который имеет наибольшую частоту.

    У Google есть эти данные для нескольких языков, и вы можете найти больше об этом в лабораториях Google.

[РЕДАКТИРОВАТЬ] После некоторого поиска, я наконец-то нашел ссылку: На этой странице вы можете купить английский от 1 до 5 граммов, который Google собирал по всему Интернету на 6 DVD.

Поиск в Google "статистики грамматики Google n-грамм" также вызовет некоторые интересные ссылки.

2 голосов
/ 10 февраля 2010

Существует довольно много библиотек Java для обработки естественного языка, которые помогут вам реализовать корректор орфографии. Но вы спросили о книге. Основы статистической обработки естественного языка Кристофера Д. Мэннинга и Генриха Шютце выглядит хорошим вариантом. Первый автор - профессор Стэнфордского университета, возглавляющий группу, которая занимается обработкой естественного языка и разрабатывает библиотеки Java и ресурсы NLP, которые используют многие люди.

2 голосов
/ 10 февраля 2010

soundex ( wiki ) - один вариант

1 голос
/ 10 февраля 2010

В Dev Days London Майкл Спаркс представил сценарий Python, специально разработанный для этого. Это было на удивление очень просто! Смотрите, если вы можете найти в Google. Может быть, у кого-то здесь будет ссылка.

...