Я хочу написать что-то, что берет предложение и идентифицирует каждое слово, которое оно содержит, и определяет, какой частью речи является каждое слово.
Например
Hello World, я предложение
вернул бы это
verb noun, pronoun verb adjective noun
В идеале я хотел бы в конечном итоге сделать еще один шаг вперед, сделать предложение и программно дать ему понять, что он пытается интерпретировать, и, возможно, что-то с этим сделать.
Итак, мой вопрос: кто-нибудь слышал что-то подобное?
Ответы:
Это называется обработка естественного языка, и это огромное, сложное поле. То, что вы описываете, является монументальным достижением, и даже самые лучшие решения, такие как Watson , далеко не идеальны.
Такие вещи усложняют задачу: «Буффало Буффало Буффало Буффало Буффало Буффало Буффало Буффало»
источник
Хотя разделение предложения и определение грамматической правильности наряду с решением вашей первой проблемы проще, чем вашей второй проблемы, многие сложности, такие как существительные глаголов или герунды, такие как плавание, программирование и т. Д., И другие подобные сложности, все же являются проблемой - см. Моронс ответ.
Но ваша вторая проблема - люди приложили огромные усилия, чтобы найти идеальное решение, но действительно идеальный алгоритм «интерпретации» практически не реализуется для любого естественного языка, такого как английский, - есть варианты, которые испортят ваш алгоритм. Эта область - гибрид ИИ, информатики и лингвистики, известная как НЛП . Учтите это: даже Google Translate не идеален при «интерпретации» предложений.
Но, тем не менее, это очень интересное поле для игры.
источник
Я думаю, что вы должны начать читать эту статью в Википедии:
http://en.wikipedia.org/wiki/Part-of-speech_tagging
(это область исследований, не ожидайте легкого решения для нее.)
источник
Дешевый способ сделать это - создать базу данных словаря (я почти уверен, что кто-то это сделал).
Нужно два поля в таблице:
word
иusage
Преврати фразу в массив строк (каждое слово является строкой) и независимо:
Это тяжелое решение, но я использовал его в прошлом.
источник