当前位置: 首页 > 面试题库 >

NLTK将实体识别命名为Python列表

孔鸿哲
2023-03-14
问题内容

我使用NLTKne_chunk从文本中提取命名实体:

my_sent = "WASHINGTON -- In the wake of a string of abuses by New York police officers in the 1990s, Loretta E. Lynch, the top federal prosecutor in Brooklyn, spoke forcefully about the pain of a broken trust that African-Americans felt and said the responsibility for repairing generations of miscommunication and mistrust fell to law enforcement."


nltk.ne_chunk(my_sent, binary=True)

但是我不知道如何将这些实体保存到列表中?例如–

print Entity_list
('WASHINGTON', 'New York', 'Loretta', 'Brooklyn', 'African')

谢谢。


问题答案:

nltk.ne_chunk返回嵌套nltk.tree.Tree对象,因此您必须遍历Tree对象才能到达网元。

看看带有正则表达式的命名实体识别:NLTK

>>> from nltk import ne_chunk, pos_tag, word_tokenize
>>> from nltk.tree import Tree
>>> 
>>> def get_continuous_chunks(text):
...     chunked = ne_chunk(pos_tag(word_tokenize(text)))
...     continuous_chunk = []
...     current_chunk = []
...     for i in chunked:
...             if type(i) == Tree:
...                     current_chunk.append(" ".join([token for token, pos in i.leaves()]))
...             if current_chunk:
...                     named_entity = " ".join(current_chunk)
...                     if named_entity not in continuous_chunk:
...                             continuous_chunk.append(named_entity)
...                             current_chunk = []
...             else:
...                     continue
...     return continuous_chunk
... 
>>> my_sent = "WASHINGTON -- In the wake of a string of abuses by New York police officers in the 1990s, Loretta E. Lynch, the top federal prosecutor in Brooklyn, spoke forcefully about the pain of a broken trust that African-Americans felt and said the responsibility for repairing generations of miscommunication and mistrust fell to law enforcement."
>>> get_continuous_chunks(my_sent)
['WASHINGTON', 'New York', 'Loretta E. Lynch', 'Brooklyn']


>>> my_sent = "How's the weather in New York and Brooklyn"
>>> get_continuous_chunks(my_sent)
['New York', 'Brooklyn']


 类似资料:
  • 问题内容: 我正在寻找Java的简单但“足够好”的命名实体识别库(和字典),我正在处理电子邮件和文档并提取一些“基本信息”,例如:名称,地点,地址和日期 我一直在环顾四周,大多数似乎都是沉重的一面和完整的NLP项目。 有什么建议吗? 问题答案: 顺便说一句,我最近遇到了OpenCalais,它似乎具有我要照顾的功能。

  • 我想使用NLP工具从意大利文本中提取名称和数字。 遗憾的是,斯坦福德NLP和Apache OpenNLP都没有为意大利人提供模型。 我能找到一个,或者找到训练数据来制造一个吗?(至少15000句)

  • 我正在尝试使用自定义NE(命名实体)字典在印度训练NER模型以进行分块。我分别引用NLTK和Stanford NER: NLTK 我找到了NEChunkParser能够在自定义语料库上进行训练。然而,文档或源代码注释中没有指定训练语料库的格式。 在哪里可以找到NLTK中NER的自定义语料库指南? 根据这个问题,斯坦福大学NER的FAQ给出了如何训练定制NER模型的方向。 主要问题之一是默认的斯坦福

  • 我是文本挖掘和NLP的新手。我正在尝试使用命名实体识别(NER)(斯坦福命名实体标记)从给定文本中提取日期。我正在使用斯坦福NLPhttp://nlp.stanford.edu:8080/ner/process和GATE ANNIE中提供的在线演示http://services.gate.ac.uk/annie/ 此演示无法将完整的“上周日”、“下周一”、“本月底”、“直到本周日晚上”等文本识别为

  • 我正在尝试使用这个简短的实体识别教程来学习NER。但我无法成功运行代码。我在现场提供了一个入口。这里提到的txt文件。 我收到错误。 请帮帮我。先谢谢你。

  • 我正在进行我目前的毕业项目,名为“土耳其实体识别”。当我使用人名和地点(有时地点可以是不同的语言,例如塔克西姆/伊斯坦布尔的希尔顿酒店)时,识别器应该捕捉到土耳其语单词。我需要在我的数据集中添加“Hotel”,该数据集充满了特定的位置标签,如Hotel、Restaurant或Mall。但说到组织名称标签。我需要找到一个关于乐队、产品、公司名称的好数据集,但我不知道如何找到或收集这个数据集 在斯坦福