限制标记词的输出范围

时间:2019-04-19 05:46:39

标签: python nltk stanford-nlp

我想提取文档中的所有名称(名字,中间名称,姓氏)并分别显示前两个完整名称。

我已经尝试过嵌套的for循环和all,但是我无法弄清楚。

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

1 个答案:

答案 0 :(得分: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