Я пытаюсь реализовать приложение, которое может определять смысл предложения, деля его на более мелкие куски. Поэтому мне нужно знать, какие слова являются предметом, объектом и т.д., Чтобы моя программа могла знать, как обрабатывать это предложение.
Как определить предмет, объект и другие слова?
Ответ 1
Это открытая исследовательская проблема. Вы можете получить обзор в Википедии, http://en.wikipedia.org/wiki/Natural_language_processing. Рассмотрим такие фразы, как "Время летит как стрела, плод летает как банан" - однозначно классифицировать слова непросто.
Ответ 2
Вы должны посмотреть на Natural Language Toolkit, который подходит именно для этого.
См. этот раздел руководства: Категоризация и маркировка слов - здесь выдержка:
>>> text = nltk.word_tokenize("And now for something completely different")
>>> nltk.pos_tag(text)
[('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'),
('completely', 'RB'), ('different', 'JJ')]
"Здесь мы видим, что и - CC, координирующий союз; теперь и полностью - RB или наречия; для - это IN, предлог, что-то - это NN, существительное, а другое - JJ, прилагательное.
Ответ 3
Я думаю, что нет простого способа сделать это. Вы должны создать лингвистический анализатор (что вполне возможно), однако, язык как много исключительных случаев. И это затрудняет реализацию лингвистического анализатора.
Ответ 4
Конкретная проблема, которую вы упомянули, идентификация объекта и объектов предложения, выполняется синтаксический синтаксический анализ. Вы можете получить представление о том, как работает синтаксический анализ, используя эту демонстрацию программного обеспечения для разбора, разработанного Стэнфордским университетом.
Однако синтаксический синтаксический анализ не определяет подтекст предложения, а только его структуру. Определение смысла (семантика) - очень сложная проблема в целом, и нет технологии, которая действительно может "понять" предложение так же, как человек. Хотя общего решения нет, вы можете сделать что-то в очень ограниченной предметной области. Например, данные, которые вы хотите проанализировать по узкой теме с ограниченным набором "вещей", о которых говорят люди?
Ответ 5
StompChicken дал правильный ответ на этот вопрос, но я хотел бы добавить, что понятия предмета и объекта известны как грамматические отношения, а Бриско и Кэрролл RASP - это синтаксический анализатор, который может выполнить дополнительный шаг вывода списка отношений из синтаксического анализа.
Здесь приведен пример из демонстрационной страницы . Это выдержка из вывода для предложения, которое начинается "Мы описываем надежный точный независимый от домена подход..." :
(| ncsubj | | описываем: 2_VV0 | | Мы: 1_PPIS2 | _)
(| dobj | | описывают: 2_VV0 | | подход: 7_NN1 |)