i 和 j 之间的距离由分隔两个名词短语的句子数



i 和 j 之间的距离,由分隔两个名词短语的句子数。首先我搜索了 i 和 j,现在如何计算它们之间的停止标记数量。我使用的正则表达式找不到停止标记。 这是数据集:

در
همین
حال
،
<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,它们之间的句子数,如果它们在同一句子中,它应该返回 0,否则返回 1,2。

i_NP = []
j_NP = []
find_coref = re.findall(r'<coref.*?coref_coref_class="set.*?>(.*?)</coref>[.!?]', read_dataset, re.S)
coref_list = list(map(lambda x: x.replace('n', ' '), find_coref))
for i in range(0,len(coref_list)-1,2):
i_NP.append(coref_list[i])
j_NP.append(coref_list[i+1])
count = 0
for dot in i_NP and j_NP:
if dot == '.':
count = count +1

print(i_NP, j_NP)

我已经解决了ij之间的距离问题。首先,我计算数据集中的句子数,然后根据从while loop获取的索引测试两个变量。

def distance_feature():
tok = sent_tokenize(str(read_dataset))
ln = len(tok)
i = 1
k = 1
while i<=ln:
if k == i:
if any(elem in (i_NP[k-1] and j_NP[k-1]) for elem in read_dataset):
i = i + 1
k = k + 1
return 0
else:
return 1

最新更新