限制标记单词的输出范围

问题描述 投票:0回答:1

我想提取文档中的所有名称(第一个,中间的,最后一个)并分别显示前两个完整的名称。

我已经尝试过嵌套for循环,但我无法理解。

for result in classified_text:
    tag_value= result[0],
    tag_name= result[1]
    if tag_name=='PERSON':
           print(''.join([tup for tup in tag_value]))


预期成绩 :

Steven.K.Lamberson

Steve.I.Blanton

实际结果 :

Briazz
Steven
K.
Lamberson
Steve
I.
Blanton
Briazz
Briazz
Proto
Briazz
Moulder
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Cess
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
python nltk stanford-nlp
1个回答
0
投票

你可以尝试:

import re

person=''
last_tag=''
for result in classified_text:
    tag_value= result[0],
    tag_name= result[1]
    if tag_name=='PERSON':
        if last_tag == 'PERSON':
           person += ' ' + tag_value
        else:
           person = tag_value
    else if last_tag == 'PERSON' and re.match('\w+\ \w+\. \w+', person):
           print(person)
    last_tag = tag_value
© www.soinside.com 2019 - 2024. All rights reserved.