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

2024-09-28 22:19:37 发布

您现在位置:Python中文网/ 问答频道 /正文

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)

Tags: 标记recountnpfindlistclass句子
1条回答
网友
1楼 · 发布于 2024-09-28 22:19:37

我已经解决了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

相关问题 更多 >