Как получить предмет, глагол и объект из сложного предложения, состоящего из более чем одного глагола и предлога? - PullRequest
0 голосов
/ 12 ноября 2018

Ранее я дифференцировал, используя (NOUN) (VERB) (NOUN) RELATIONSHIP ,

Например, он хорошо работает с:

(John) (went) (to the market)

Мой источниккод:

str = John went to the market
splited_str = str.split(" ")
String subject, verb, object;
Boolean flag = true;
for i=0 to i<splited_str.length
  if (!isVerb(splited_str[i]) && flag)
     subject += splited_str[i] + " "
  if (isVerb)
     flag = false
     verb = splited_str[i]
  else
     object += splited_str[i] + " "

Но мой код не работает, для сложных предложений, как этот:

It is up to us to find the answer.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 28 декабря 2018

Вы можете использовать OpenIE Stanford CoreNLP для извлечения триплета этого типа.

Когда вы используете OpenIE в Java, просто добавьте openie аннотатора в ваши свойства.

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

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

...