Nlp 如何使用Stanford Nertager从python列表中识别命名实体
我是NLP的初学者,也是第一次使用斯坦福德·纳塔格。为了学习,我和斯坦福·纳塔格一起玩。我有一个国家名称的python列表Nlp 如何使用Stanford Nertager从python列表中识别命名实体,nlp,nltk,stanford-nlp,Nlp,Nltk,Stanford Nlp,我是NLP的初学者,也是第一次使用斯坦福德·纳塔格。为了学习,我和斯坦福·纳塔格一起玩。我有一个国家名称的python列表 ['France', 'India', 'Bangladesh', 'England', 'Germany', 'Brazil', 'Egypt', 'Bhutan', 'Srilanka'] 我想得到属于NERTagger的“位置”实体,但我得到的是“组织”实体 [(“法国”、“组织”), (“印度”、“组织”), (“孟加拉国”、“组织”), (“英格兰”、“组织”)
['France', 'India', 'Bangladesh', 'England', 'Germany', 'Brazil', 'Egypt', 'Bhutan', 'Srilanka']
我想得到属于NERTagger的“位置”实体,但我得到的是“组织”实体
[(“法国”、“组织”),
(“印度”、“组织”),
(“孟加拉国”、“组织”),
(“英格兰”、“组织”),
(“德国”、“组织”),
(“巴西”、“组织”),
(“埃及”、“组织”),
(“不丹”、“组织”),
(“斯里兰卡”、“组织”)]
可能是我这里遗漏了什么首先,您需要在您的公司上安装Stanford NER。根据操作系统的不同,这两个过程如何 现在看一下这个示例代码
import nltk
from nltk.tokenize.toktok import ToktokTokenizer
from nltk.tag import StanfordNERTagger
stanford_classifier = os.environ.get('STANFORD_MODELS').split(':')[0]
stanford_ner_path = os.environ.get('CLASSPATH').split(':')[0]
st = StanfordNERTagger(stanford_classifier, stanford_ner_path, encoding='utf-8')
查克街
<nltk.tag.stanford.StanfordNERTagger at 0x7f897c44e6d8>
结果
[('France', 'LOCATION'),
('is', 'O'),
('the', 'O'),
('biggest', 'O'),
('county', 'O'),
('in', 'O'),
('EU', 'LOCATION')]
因为标记是上下文相关的,所以NER标记者很难处理单个单词。如果你给它一个完整的句子,包含一个国家的名称,我希望它能更好地工作。你要求的是一个县列表中的实体。NER在标记化句子上标记实体。
[('France', 'LOCATION'),
('is', 'O'),
('the', 'O'),
('biggest', 'O'),
('county', 'O'),
('in', 'O'),
('EU', 'LOCATION')]