spacy

对命名实体识别进行基准测试:StanfordNLP,IBM,spaCy,Dialogflow和TextSpace

天大地大妈咪最大 提交于 2020-08-20 09:00:17
作者|Felix Laumann 编译|VK 来源|Towards Data Science NER是信息提取的一个子任务,它试图定位并将非结构化文本中提到的指定实体划分为预定义的类别,如人名、组织、位置、医疗代码、时间表达式、数量、货币。 我们创建了我们自己的小型测试数据集,其中11个示例来自谷歌的Taskmaster 2数据集,该数据集于2020年2月刚刚发布。我们将此数据集视为NER解决方案中未来研究和产品的基准数据集。我们用该数据集来探索TextSpace。 这个数据集中的句子可能在长度和包含的信息上有所不同,但是我们选择了其中包含大量实体的句子,因此我们可以根据最新的NER解决方案来区分优劣。我们测试集中的句子来自不同的领域,因为我们想看看我们在这篇文章中比较的解决方案有多灵活。请注意,这些示例中使用了Dialogflow聊天机器人,因此我们也希望Dialogflow在这些例子上能够执行得很好。 我们将首先详细地看两个例子,最后会有一个总结。 机票预订 让我们以一个想要预订航班的用户的句子为例: "So, I would like to fly out sometime tonight and fly back in the evening in 4 days. From I’m looking to go to Denver. I’m flying out of San

NLP的文本分析与特征工程

做~自己de王妃 提交于 2020-08-16 03:42:32
作者|Mauro Di Pietro 编译|VK 来源|Towards Data Science 摘要 在本文中,我将使用NLP和Python解释如何为机器学习模型分析文本数据和提取特征。 自然语言处理(NLP)是人工智能的一个研究领域,它研究计算机与人类语言之间的相互作用,特别是如何对计算机进行编程以处理和分析大量自然语言数据。 NLP常用于文本数据的分类。文本分类是根据文本数据的内容对其进行分类的问题。文本分类最重要的部分是特征工程:从原始文本数据为机器学习模型创建特征的过程。 在本文中,我将解释不同的方法来分析文本并提取可用于构建分类模型的特征。我将介绍一些有用的Python代码。 这些代码可以很容易地应用于其他类似的情况(只需复制、粘贴、运行),并且我加上了注释,以便你可以理解示例(链接到下面的完整代码)。 https://github.com/mdipietro09/DataScience_ArtificialIntelligence_Utils/blob/master/deep_learning_natural_language_processing/text_classification_example.ipynb 我将使用“新闻类别数据集”(以下链接),其中向你提供从赫芬顿邮报获得的2012年至2018年的新闻标题,并要求你使用正确的类别对其进行分类。 https:

构建知识图谱-初学

佐手、 提交于 2020-08-11 20:45:18
本文内容源自 medium文章 A Knowledge Graph understanding and implementation tutorial for beginners[1] 目录 什么是知识图谱? 如何搭建一个简单的知识图谱? 什么是知识图谱? 知识图谱的内容通常以三元组形式存在, Subject-Predicate-Object (spo)。 举个栗子: Leonard Nimoy was an actor who played the character Spock in the science-fiction movie Star Trek 对上面的句子可以抽取到如下三元组: 以知识图谱形式可以表示为: 上述由节点和关系组成的图,就是一个简单的知识图谱。 如何搭建一个简单的知识图谱? 可以分为以下两大步骤: 知识提取 信息抽取,获取三元组 实体识别、实体链接、实体消歧(Disambiguation)、实体统一(Entity Resolution) 图构建 存储 查询 知识提取步骤是构建知识图谱的关键,三元组可以通过依存分析得到。 动手构建一个简单知识图谱 此处只显示代码执行过程与结果,完整代码请见 github . 1. 三元组提取 借助spacy inputText = 'Startup companies create jobs and innovation.

fastHan: 基于BERT的中文NLP集成工具

心不动则不痛 提交于 2020-08-07 07:32:29
简介 fastHan是基于 fastNLP 与pytorch实现的中文自然语言处理工具,像spacy一样调用方便。 其内核为基于BERT的联合模型,其在13个语料库中进行训练,可处理 中文分词、词性标注、依存句法分析、命名实体识别 四项任务。fastHan共有base与large两个版本,分别利用BERT的前四层与前八层。base版本在总参数量150MB的情况下各项任务均有不错表现,large版本则接近甚至超越SOTA模型。 项目地址为: https:// github.com/fastnlp/fast Han 安装 fastHan的安装非常简便。它存在如下包的依赖: fastNLP>=0.5.0 pytorch>=1.0.0 执行指令 pip install fastHan 即可安装。 使用 fastHan的使用非常简单,只需要两步,加载模型、输入句子。 加载模型 :执行以下代码即可加载模型: 用户首次初始化模型时模块将自动从服务器下载参数。模型默认初始化base版本,可修改model_type参数值为’large’加载large版本。 输入句子 :输入模型的可以是单独的字符串,也可是由字符串组成的列表。如果输入的是列表,模型将一次性处理所有输入的字符串,所以请自行控制 batch size。模型对句子进行依存分析、命名实体识别的简单例子如下: 其中,target参数可在

##好好好好###开源的标注工具

纵饮孤独 提交于 2020-08-04 19:10:16
## 开源的标注工具 自然语言处理标记工具汇总 https://blog.csdn.net/wangyizhen_nju/article/details/94559607 spacy原来有两个标注工具,displaCy-ent和displaCy,一个ner一个依赖关系. Annotator for Chinese Text Corpus (UNDER DEVELOPMENT) 中文文本标注工具 自然语言处理的大部分任务是监督学习问题。序列标注问题如中文分词、命名实体识别,分类问题如关系识别、情感分析、意图分析等,均需要标注数据进行模型训练。深度学习大行其道的今天,基于深度学习的 NLP 模型更是数据饥渴。 最前沿的 NLP 技术往往首先针对英文语料。英文 NLP 的生态很好,针对不同有意思的问题都有不少大规模语料公开供大家研究,如斯坦福的 SQuAD 阅读理解语料。中文方面开源语料就少得多,各种英文 NLP 上的犀利模型和前沿技术都因为中文语料的匮乏很难迁移过来。 另一方面,对于一些垂直领域,如医疗、金融、法律、公安等等,专有名词和特有需求甚多,很难将比较 general 的比如在 wikipedia dump 上面训练的模型直接拿过来用。 传统人工标注数据的过程往往是繁琐和低效率的。刚标了一个“联想”是公司名,又来一个“联想集团”,再标一次又来一个“联想集团有限公司”

Spacy's BERT model doesn't learn

≯℡__Kan透↙ 提交于 2020-08-03 09:25:32
问题 I've been trying to use spaCy 's pretrained BERT model de_trf_bertbasecased_lg to increase accuracy in my classification project. I used to build a model from scratch using de_core_news_sm and everything worked fine: I had an accuracy around 70%. But now I am using BERT pretrained model instead and I'm getting 0% accuracy. I don't believe that it's working so bad, so I'm assuming that there is just a problem with my code. I might have missed something important but I can't figure out what. I

Spacy's BERT model doesn't learn

孤人 提交于 2020-08-03 09:23:47
问题 I've been trying to use spaCy 's pretrained BERT model de_trf_bertbasecased_lg to increase accuracy in my classification project. I used to build a model from scratch using de_core_news_sm and everything worked fine: I had an accuracy around 70%. But now I am using BERT pretrained model instead and I'm getting 0% accuracy. I don't believe that it's working so bad, so I'm assuming that there is just a problem with my code. I might have missed something important but I can't figure out what. I

How to calculate the overall accuracy of custom trained spacy ner model with confusion matrix?

元气小坏坏 提交于 2020-08-03 03:04:20
问题 I'm trying to evaluate my custom trained Spacy NER model. How to find the overall accuracy with confusion matrix for the model. I tried evaluating the model with spacy scorer which gives precision, recall and token accuracy with the below reference, Evaluation in a Spacy NER model I expect the output in confusion matrix instead of individual precision, recall and token accuracy. 回答1: Here is a good read for creating Confusion Matrices for Spacy NER models. It is based on the BILOU format used

构建知识图谱-初学

孤街醉人 提交于 2020-07-27 01:17:21
本文内容源自 medium文章 A Knowledge Graph understanding and implementation tutorial for beginners[1] 目录 什么是知识图谱? 如何搭建一个简单的知识图谱? 什么是知识图谱? 知识图谱的内容通常以三元组形式存在, Subject-Predicate-Object (spo)。 举个栗子: Leonard Nimoy was an actor who played the character Spock in the science-fiction movie Star Trek 对上面的句子可以抽取到如下三元组: 以知识图谱形式可以表示为: 上述由节点和关系组成的图,就是一个简单的知识图谱。 如何搭建一个简单的知识图谱? 可以分为以下两大步骤: 知识提取 信息抽取,获取三元组 实体识别、实体链接、实体消歧(Disambiguation)、实体统一(Entity Resolution) 图构建 存储 查询 知识提取步骤是构建知识图谱的关键,三元组可以通过依存分析得到。 动手构建一个简单知识图谱 此处只显示代码执行过程与结果,完整代码请见 github . 1. 三元组提取 借助spacy inputText = 'Startup companies create jobs and innovation.

Extract entity from dataframe using spacy

我怕爱的太早我们不能终老 提交于 2020-07-23 09:15:11
问题 I read contents from excel file using pandas:: import pandas as pd df = pd.read_excel("FAM_template_Update 1911274_JS.xlsx" ) df While trying to extract entities using spacy:: import spacy nlp = spacy.load("en_core_web_sm") doc = nlp(df) for enitity in doc.ents: print((entity.text)) Got Error:: TypeError: Argument 'string' has incorrect type (expected str, got DataFrame) On line(3)-----> doc = nlp(df) 回答1: This is expected as Spacy is not prepared to deal with a dataframe as-is. You need to