python 自然语言处理 chat python 自然语言处理发票科目_python 自然语言处理 chat

作者:Paco Nathan

翻译:笪洁琼

校对:和中华


本文简要介绍了如何使用spaCy和Python中的相关库进行自然语言处理(有时称为“文本分析”)。以及一些目前最新的相关应用。

介绍

本文与配套的Domino项目,简要介绍了如何使用spaCy和相关库在Python中处理自然语言(有时称为“文本分析”)。业界的数据科学团队时常处理大量文本数据,这也是机器学习中使用的四大数据类别之一,通常是人为生成的文本,但也不全是这样。

想想看:商业世界的“操作系统”是如何运行的? 通常,有合同(销售合同、工作协议、合作关系),发票,保险单,规章制度和其他法律条文等等。所有这些都被表示为文本。

你可能会遇到一些缩写词:自然语言处理(NLP),自然语言理解(NLU),自然语言生成(NLG),简单地说,分别是“阅读文本”、“理解意义”、“输出文本”。这些任务越来越多地重叠,而且很难分类。

spaCy框架——以及越来越多的插件和其他集成(包)——为各种各样的自然语言任务提供了支持。它已经成为Python中最广泛使用的工业级自然语言库之一,并且拥有相当大的社区,因此,随着该领域的快速发展,它为科研进展进展的商业化提供了足够地支持。

开始

我们已经在Domino中配置了默认的软件环境,以包含本教程所需的所有包、库、模型和数据。请查看Domino项目以运行代码。


python 自然语言处理 chat python 自然语言处理发票科目_文本分析_02


python 自然语言处理 chat python 自然语言处理发票科目_python 自然语言处理 chat_03


如果您对Domino的计算环境如何工作感兴趣,请查看说明页面。

说明页面

https://support.dominodatalab.com/hc/en-us/articles/115000392643-Environment-management

现在让我们加载spaCy并运行一些代码:

import spacynlp = spacy.load("en_core_web_sm")

该nlp变量现在是您通向所有spaCy的入口,并装载了en_core_web_sm英文模型。接下来,让我们通过自然语言解析器来运行一个小“文档”:

text = "The rain in Spain falls mainly on the plain."doc = nlp(text)for token in doc: print(token.text, token.lemma_, token.pos_, token.is_stop)
The the DET Truerain rain NOUN Falsein in ADP TrueSpain Spain PROPN Falsefalls fall VERB Falsemainly mainly ADV Falseon on ADP Truethe the DET Trueplain plain NOUN False. . PUNCT False

首先,我们从文本创建一个doc(注:spaCy中的一种数据结构)文档,它是一个容器,存放了文档以及文档对应的标注。然后我们遍历文档,看看spaCy解析了什么。

由于信息有点多,读起来有点困难。让我们将这个句子的用spaCy解析结果重新格式化为pandas库的 dataframe:

import pandas as pdcols = ("text