Классификация отношений в словах? - PullRequest
1 голос
/ 08 марта 2010

Я не уверен, какой алгоритм лучше всего использовать для классификации отношений в словах. Например, в случае такого предложения, как «Желтое солнце», существует связь между желтым и солнцем. Методы машинного обучения, которые я рассматривал до сих пор, - это бейнсовская статистика, грубые множества, нечеткая логика, модель скрытого маркова и искусственные нейронные сети.

Есть предложения, пожалуйста?

спасибо:)

Ответы [ 4 ]

5 голосов
/ 09 марта 2010

Звучит так, будто вы ищете анализатор зависимостей. Такой синтаксический анализатор даст вам связь между любым словом в предложении и его смысловой или синтаксической головой.

MSTParser использует онлайн-метод максимальной маржи, известный как MIRA , для классификации отношений между словами. Пакет MaltParser делает то же самое, но использует SVM для принятия решений об анализе. Обе системы обучаемы и обеспечивают одинаковую классификацию и характеристики крепления, см. Таблицу 1 здесь .

2 голосов
/ 10 марта 2010

Stanford Parser делает именно то, что вы хотите. Есть даже онлайн демо . Вот результаты для вашего примера.

Your sentence
The yellow sun.

Tagging
The/DT yellow/JJ sun/NN ./.

Parse
(ROOT
  (NP (DT The) (JJ yellow) (NN sun) (. .)))

Typed dependencies
det(sun-3, The-1)
amod(sun-3, yellow-2)

Typed dependencies, collapsed
det(sun-3, The-1)
amod(sun-3, yellow-2)

Из вашего вопроса звучит так, как будто вы заинтересованы в типизированных зависимостях.

2 голосов
/ 09 марта 2010

Как указал пользователь dmcer, парсеры зависимостей помогут вам. Вы можете прочитать множество литературы по разбору зависимостей. Эта книга и Эти конспекты лекций являются хорошей отправной точкой для введения традиционных методов.

Анализатор грамматики ссылок, который как бы разбирает зависимости, использует синтаксис Sleator и Temperley для создания связей между словами и словами. Вы можете найти дополнительную информацию на исходной странице грамматики ссылок и на более новой странице Abiword (Abiword поддерживает реализацию в настоящее время).

Для нетрадиционного подхода к разбору зависимостей вы можете прочитать эту статью , которая моделирует отношения слово-слово, аналогичные взаимодействиям субатомных частиц в химии / физике.

1 голос
/ 08 марта 2010

Ну, никто не знает, каков лучший алгоритм для обработки языка, потому что он не был решен. Чтобы понять человеческий язык, нужно создать полноценный ИИ.

Однако, конечно, были попытки обработать естественные языки, и это может быть хорошей отправной точкой для такого рода вещей:

Теория X-Bar

Правила структуры фраз

Ноам Хомский проделал большую работу по обработке естественного языка, поэтому я бы порекомендовал посмотреть некоторые из его работ.

...