使用Python和Spacy进行命名实体识别

使用Python和Spacy的命名实体识别。

微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩

图片

命名实体识别(Named Entity Recognition,简称NER)是一种自然语言处理(NLP)方法,用于检测和分类文本中的命名实体,包括人物、组织、地点、日期、数量和其他可识别的现实世界实体。

Spacy是一个基于Python的开源自然语言处理库,提供广泛的功能,包括标记化、POS标签、句法分析、命名实体识别、文本分类等。它具有预训练模型和灵活的API,受到自然语言处理专业人士和研究人员的广泛青睐。

如何安装spacy?如需深入了解,请访问此页面(https://spacy.io/usage)。

'''
Prefix the install statements with an exclamation if you are using 
Jupyter Notebook or Google Collab interface.
'''
!pip install -U pip setuptools wheel
# 使用pip安装gpu版本的spacy(有关cpu版本的安装,请参考spacy文档)
!pip install -U 'spacy[cuda-autodetect]'
# 安装基于Transformer的预训练语言模型(英语)
!python -m spacy download en_core_web_trf
# 安装基于CPU优化的管道(英语)
!python -m spacy download en_core_web_sm

如果你正在使用Google Colab或配备GPU的计算机,则后续操作将涉及将运行时类型切换为GPU。否则,如果你使用的是基于CPU的安装,则可以继续使用CPU运行时类型。让我们在以下示例文本上执行NER。

用作示例的输入文本:

“Artificial Intelligence (AI), an ever-evolving field, has witnessed remarkable growth since its inception. Dating back to the Dartmouth Conference in 1956, AI has emerged as a multidisciplinary domain encompassing machine learning, natural language processing (NLP), computer vision, and robotics. Recent breakthroughs, like the introduction of deep learning techniques in the early 2010s, have accelerated AI advancements. Tech giants like Google, IBM, and Microsoft have invested heavily in AI research and development. Significant milestones include the landmark victory of IBM’s Deep Blue over Garry Kasparov in 1997 and the emergence of voice assistants like Apple’s Siri in 2011. AI continues to shape industries across healthcare, finance, and transportation, fueling innovation and transforming the way we live and work.”

我们将使用两个不同的模型,每个模型都有特定的目的。其中一个模型(“en_core_web_sm”)注重效率,另一个模型(“en_core_web_trf”)注重准确性

# 导入依赖项
import spacy
sample_text = "Artificial Intelligence (AI), an ever-evolving field, has witnessed remarkable growth since its inception. Dating back to the Dartmouth Conference in 1956, AI has emerged as a multidisciplinary domain encompassing machine learning, natural language processing (NLP), computer vision, and robotics. Recent breakthroughs, like the introduction of deep learning techniques in the early 2010s, have accelerated AI advancements. Tech giants like Google, IBM, and Microsoft have invested heavily in AI research and development. Significant milestones include the landmark victory of IBM's Deep Blue over Garry Kasparov in 1997 and the emergence of voice assistants like Apple's Siri in 2011. AI continues to shape industries across healthcare, finance, and transportation, fueling innovation and transforming the way we live and work."
# 加载用于更好效率的普通模型。
nlp = spacy.load("en_core_web_sm")
# 预测实体
text = nlp(sample_text)
# 在jupyter模式下显示文本和突出的实体
spacy.displacy.render(text, style="ent", jupyter=True)

输出:

图片

使用Spacy的可视化工具和en_core_web_sm模型的实体可视化输出

# 使用基于Transformer的模型进行NER
# 使用spaCy加载基于Transformer的管道(roberta-base)
nlp_trf = spacy.load('en_core_web_trf')
# 对模型进行推断
text = nlp_trf(sample_text)
# 使用jupyter模式显示文档
spacy.displacy.render(text, style="ent", jupyter=True)

图片

使用Spacy的可视化工具和en_core_web_trf模型的实体可视化输出

基于Transformer的模型在对比中显示出更低的错误率,因为它将“AI”和“NLP”准确识别为“ORG”实体,将“Siri”识别为“PRODUCT”,将“The Dartmouth Conference”识别为“EVENT”。这验证了Transformer的卓越性能。

NER广泛适用于不同行业中,可以提取洞察信息并促进决策制定。以下是具体的用例:

  1. 医疗保健:NER从临床记录中提取医学实体(疾病、症状),帮助信息检索、诊断和治疗规划。

  2. 金融业:NER从文章和报告中识别实体(公司名称、金融术语),支持市场分析和投资决策。

  3. 电子商务:NER从评论中提取产品名称、品牌和属性,增强情感分析和个性化推荐。

  4. 媒体和出版:NER对文章和社交媒体中的实体(人物、地点)进行分类,实现内容分类和趋势分析。

  5. 法律:NER在文件中识别法律实体(案件名称、法规),简化研究和合同分析。

  6. 旅游和酒店业:NER从评论中提取位置名称、地标,支持情感分析和个性化推荐。

  7. 政府:NER在文件和社交媒体中识别实体(机构、地点),协助政策分析和情感监测。

  8. CRM:NER从互动中提取客户详细信息,增强客户画像、潜在客户生成和销售管理。

这些案例展示了NER的广泛适用性,提供了洞察信息,并增强了运营效率。。

推荐书单

秋日阅读企划icon-default.png?t=N7T8https://pro.m.jd.com/mall/active/3yzSCnrymNQEzLmwtZ868xFeytT7/index.html

《Python从入门到精通(微课精编版)》

《Python从入门到精通(微课精编版)》使用通俗易懂的语言、丰富的案例,详细介绍了Python语言的编程知识和应用技巧。全书共24章,内容包括Python开发环境、变量和数据类型、表达式、程序结构、序列、字典和集合、字符串、正则表达式、函数、类、模块、异常处理和程序调试、进程和线程、文件操作、数据库操作、图形界面编程、网络编程、Web编程、网络爬虫、数据处理等,还详细介绍了多个综合实战项目。其中,第24章为扩展项目在线开发,是一章纯线上内容。全书结构完整,知识点与示例相结合,并配有案例实战,可操作性强,示例源代码大都给出详细注释,读者可轻松学习,快速上手。本书采用O2O教学模式,线下与线上协同,以纸质内容为基础,同时拓展更多超值的线上内容,读者使用手机微信扫一扫即可快速阅读,拓展知识,开阔视野,获取超额实战体验。

Python从入门到精通(微课精编版)icon-default.png?t=N7T8https://item.jd.com/13524355.html

精彩回顾

《Python性能分析,使用cProfile可视化并解决性能瓶颈问题》

《事半功倍,掌握12个在VSCode中进行Python开发的小技巧》

《使用Scikit-Learn,快速掌握机器学习预测方法》

《快来体验PandasAI数据分析,将Pandas和ChatGPT结合起来》

《掌握这18个Pandas知识点,快速入门数据分析》

《GPT4ALL:终极开源大语言模型解决方案》

微信搜索关注《Python学研大本营》,加入读者群

访问【IT今日热榜】,发现每日技术热点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值