Обнаружение предложения - в первом предложении найдите два NP, а затем перейдите к следующему предложению - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть аннотированный набор данных, сначала я использовал sent_tokenizer из nltk, чтобы определить предложение.Теперь мне нужно определить такую ​​функцию, как проверка того, находятся ли i и j (фразы существительные) в первом предложении, и выполнить какую-то работу, затем она должна перейти к следующему предложению, снова определить i и j и выполнить ту же работу.Как это сделать на python?

Это первое предложение, которое я обнаружил из набора данных:

در
همین
حال
،
<coref coref_coref_class="set_0" coref_mentiontype="ne" markable_scheme="coref" coref_coreftype="ident">
 نجیب
 الله
 خواجه
 عمری
،
</coref>
<coref coref_coref_class="set_0" coref_mentiontype="np" markable_scheme="coref" coref_coreftype="ident">

سرپرست
وزارت
تحصیلات
عالی
افغانستان
</coref>
گفت
که
در
سه
ماه
گذشته
در
۳۳
ولایت
کشور
.

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

 for sentence in sent_tokenize(text):
    print(sentence) # it will print all the sentences
    if i_NP ... and j_NP:
         return True

1 Ответ

0 голосов
/ 25 сентября 2018

Похоже, вы действительно хотите yield результат, а не return его.Возврат прерываний из функции, тогда как yield будет возвращать вам элемент за раз.Может быть что-то вроде этого:

if all([x in sentence for x in [i_NP, j_NP]]):
    yield sentence

, если оператор проверяет, все ли слова в предложении, и если они есть, выдает предложение из функции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...