python Name Entity Recognition(NER) extract company name 命名实体识别 提取公司名

命名实体识别(NER)可能是信息提取的第一步,该过程旨在将文本中的命名实体定位和分类为预定义类别,例如人员名称,组织,位置,时间表达,数量,货币价值,百分比,等等。NER在自然语言处理(NLP)的许多领域中使用,它可以帮助回答许多现实世界中的问题,例如:
新闻中提到了哪些公司?
在投诉或评论中是否提到了特定产品?
该推文中是否包含一个人的名字?该推文中是否包含此人的位置?

1.安装相应依赖


pip3 install stanza

# ModuleNotFoundError: No module named '_lzma'
pip3 install backports.lzma

# vim /usr/local/python3/lib/python3.xxx/lzma.py

# 修改
try:
    from _lzma import *
    from _lzma import _encode_filter_properties, _decode_filter_properties
except ImportError:
    from backports.lzma import *
    from backports.lzma import _encode_filter_properties, _decode_filter_properties

2.实现中,英文公司名提取

import stanza

stanza.download('en')
# stanza.download('zh')
nlp = stanza.Pipeline(lang='en', processors='tokenize,ner')
# nlp = stanza.Pipeline(lang='zh', processors='tokenize,ner')
# doc = nlp("©1999-2021北京创新乐知网络技术有限公司版权与免责声明")
doc = nlp("Copyright © 2020-2021 Contemporary Amperex Technology Co., Limited. All Rights Reserved.闽ICP备14008486号-3")
print(*[f'entity: {ent.text}\ttype: {ent.type}' for ent in doc.ents], sep='\n')

在这里插入图片描述
在这里插入图片描述

参考:https://stanfordnlp.github.io/stanza/ner.html

Guess you like

Origin blog.csdn.net/Cocktail_py/article/details/116457235