标签归档:词性标注

百度 LAC 2.0 极速体验,这是一个值得拥有的中文词法分析工具

关于中文词法分析(中文分词、词性标注、命名实体识别)相关的工具,我们在之前已经多次提到过百度LAChttps://github.com/baidu/lac),除了在易用性上稍弱外,其他方面,特别是NER在横向对比中还是很亮眼的。最近百度NLP发布了LAC2.0:开源!我知道你不知道,百度开源词法LAC 2.0帮你更懂中文,看完文章的第一感受就是易用性大大加强了,之前需要通过PaddleNLP或者PaddleHub调用lac,现在 "pip install lac" 后即可直接调用,相当方便。所以花了一点时间,把 LAC2.0 单独作为一个接口部署在AINLP公众号的自然语言处理工具测试平台了,感兴趣的同学可以关注AINLP公众号,通过公众号对话测试,输入"LAC 中文文本"直接获取百度LAC的中文文词、词性标注、NER识别结果: 继续阅读

中文命名实体识别工具(NER)哪家强?

自去年以来,在AINLP公众号上陆续给大家提供了自然语言处理相关的基础工具的在线测试接口,使用很简单,关注AINLP公众号,后台对话关键词触发测试,例如输入 “中文分词 我爱自然语言处理”,“词性标注 我爱NLP”,“情感分析 自然语言处理爱我","Stanza 52nlp" 等,具体可参考下述文章:

五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP
中文分词工具在线PK新增:FoolNLTK、LTP、StanfordCoreNLP
Python中文分词工具大合集:安装、使用和测试
八款中文词性标注工具使用及在线测试
百度深度学习中文词法分析工具LAC试用之旅
来,试试百度的深度学习情感分析工具
AINLP公众号新增SnowNLP情感分析模块
斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

既然中文分词、词性标注已经有了,那下一步很自然想到的是命名实体识别(NER,Named-entity recognition)工具了,不过根据我目前了解到的情况,开源的中文命名实体工具并不多,这里主要指的是一些成熟的自然语言处理开源工具,不是github上一些学习性质的代码。目前明确有NER标记的包括斯坦福大学的NLP组的Stanza,百度的Paddle Lac,哈工大的LTP,而其他这些测试过的开源NLP基础工具,需要从词性标注结果中提取相对应的专有名词,也算是一种折中方案。 继续阅读

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

众所周知,斯坦福大学自然语言处理组出品了一系列NLP工具包,但是大多数都是用Java写得,对于Python用户不是很友好。几年前我曾基于斯坦福Java工具包和NLTK写过一个简单的中文分词接口:Python自然语言处理实践: 在NLTK中使用斯坦福中文分词器,不过用起来也不是很方便。深度学习自然语言处理时代,斯坦福大学自然语言处理组开发了一个纯Python版本的深度学习NLP工具包:Stanza - A Python NLP Library for Many Human Languages,前段时间,Stanza v1.0.0 版本正式发布,算是一个里程碑: 继续阅读

哥伦比亚大学经典自然语言处理公开课,数学之美中盛赞的柯林斯(Michael Collins)教授授课

在我读书的时候,最早是从谷歌黑板报中吴军老师的《数学之美》里了解到 Michael Collins 教授的,在“数学之美 系列十五 繁与简 自然语言处理的几位精英”,是这样描述他的:

​柯林斯:追求完美

柯林斯从师于自然语言处理大师马库斯 (Mitch Marcus)(我们以后还会多次提到马库斯),从宾夕法利亚大学获得博士学位,现任麻省理工学院 (MIT) 副教授(别看他是副教授,他的水平在当今自然语言处理领域是数一数二的),在作博士期间,柯林斯写了一个后来以他名字命名的自然语言文法分析器 (sentence parser),可以将书面语的每一句话准确地进行文法分析。文法分析是很多自然语言应用的基础。虽然柯林斯的师兄布莱尔 (Eric Brill) 和 Ratnaparkhi 以及师弟 Eisnar 都完成了相当不错的语言文法分析器,但是柯林斯却将它做到了极致,使它在相当长一段时间内成为世界上最好的文法分析器。柯林斯成功的关键在于将文法分析的每一个细节都研究得很仔细。柯林斯用的数学模型也很漂亮,整个工作可以用完美来形容。我曾因为研究的需要,找柯林斯要过他文法分析器的源程序,他很爽快地给了我。我试图将他的程序修改一下来满足我特定应用的要求,但后来发现,他的程序细节太多以至于很难进一步优化。柯林斯的博士论文堪称是自然语言处理领域的范文。它像一本优秀的小说,把所有事情的来龙去脉介绍的清清楚楚,对于任何有一点计算机和自然语言处理知识的人,都可以轻而易举地读懂他复杂的方法。

柯林斯毕业后,在 AT&T 实验室度过了三年快乐的时光。在那里柯林斯完成了许多世界一流的研究工作诸如隐含马尔科夫模型的区别性训练方法,卷积核在自然语言处理中的应用等等。三年后,AT&T 停止了自然语言处理方面的研究,柯林斯幸运地在 MIT 找到了教职。在 MIT 的短短几年间,柯林斯多次在国际会议上获得最佳论文奖。相比其他同行,这种成就是独一无二的。柯林斯的特点就是把事情做到极致。如果说有人喜欢“繁琐哲学”,柯林斯就是一个。

继续阅读

斯坦福大学自然语言处理经典入门课程-Dan Jurafsky 和 Chris Manning 教授授课

这门课程录制于深度学习爆发前夕,授课是斯坦福教授 Dan JurafskyChristopher Manning 教授,两位都是自然语言处理领域的神牛:前者写了《Speech and Language Processing》(中文译名:自然语言处理综论),目前第三版SLP3还在更新中;后者写了《Foundations of Statistical Natural Language Processing》(中文译名:统计自然语言处理)和《Introduction to Information Retrieval》(中文译名:信息检索导论),这几本书几乎是NLPer的必读书。这门课程适合NLP入门学习,可以了解基本的自然语言处理任务和早期经典的处理方法,以及和信息检索相关的一些方法。我把这门课程整理了一下按章节放在了B站,感兴趣的同学可以关注。

斯坦福自然语言处理经典入门课程-第一讲课程介绍及第二讲正则表达式

https://www.bilibili.com/video/av95374756/

斯坦福自然语言处理经典入门课程-第三讲编辑距离

https://www.bilibili.com/video/av95620839/

斯坦福自然语言处理经典入门课程-第四讲语言模型

https://www.bilibili.com/video/av95688853/

斯坦福自然语言处理经典入门课程-第五讲拼写纠错

https://www.bilibili.com/video/av95689471/

斯坦福自然语言处理经典入门课程-第六讲文本分类

https://www.bilibili.com/video/av95944973/

斯坦福自然语言处理经典入门课程-第七讲情感分析

https://www.bilibili.com/video/av95951080/

斯坦福自然语言处理经典入门课程-第八讲生成模型判别模型最大熵模型分类器

https://www.bilibili.com/video/av95953429/

斯坦福自然语言处理经典入门课程-第九讲命名实体识别NER

https://www.bilibili.com/video/av96298777/

斯坦福自然语言处理经典入门课程-第十讲关系抽取

https://www.bilibili.com/video/av96299315/

斯坦福自然语言处理经典入门课程-第十一讲最大熵模型进阶

https://www.bilibili.com/video/av96314351/

斯坦福自然语言处理经典入门课程-第十二讲词性标注

https://www.bilibili.com/video/av96316377/

斯坦福自然语言处理经典入门课程-第十三讲句法分析

https://www.bilibili.com/video/av96675221/

斯坦福自然语言处理经典入门课程-第十四、十五讲概率句法分析

https://www.bilibili.com/video/av96675891/

斯坦福自然语言处理经典入门课程-第十六讲词法分析

https://www.bilibili.com/video/av96676532/

斯坦福自然语言处理经典入门课程-第十七讲依存句法分析

https://www.bilibili.com/video/av96676976/

斯坦福自然语言处理经典入门课程-第十八讲信息检索

https://www.bilibili.com/video/av96736911/

斯坦福自然语言处理经典入门课程-第十九讲信息检索进阶

https://www.bilibili.com/video/av96738129/

斯坦福自然语言处理经典入门课程-第二十讲语义学

https://www.bilibili.com/video/av96738928/

斯坦福自然语言处理经典入门课程-第二十一讲问答系统

https://www.bilibili.com/video/av96739766/

斯坦福自然语言处理经典入门课程-第二十二讲文本摘要二十三讲完结篇

https://www.bilibili.com/video/av96740680/

中文自然语言处理相关的开放任务,数据集, 以及当前最佳结果

强烈推荐一个项目:Chinese NLP ,这是由滴滴人工智能实验室所属的自然语言处理团队创建并维护的,该项目非常细致的整理了中文自然语言处理相关任务、数据集及当前最佳结果,相当完备。

项目主页:https://chinesenlp.xyz

Github: https://github.com/didi/ChineseNLP

这个项目里面目前包含了18个中文自然语言处理任务,以及一个其他类别:

每个子任务下面,会详细介绍相关的任务背景、示例、评价指标、相关数据集及当前最佳结果。以中文分词为例,除了我们熟悉的backoff2005数据集外,还有一些其他数据来源:

再看一下机器翻译任务,关于评价指标,描述的相当详细:

直接评估(人工评判)。Amazon Mechnical Turk上的标注人员会看到一个系统生成的翻译和一个人工翻译,然后回答这样一个问题:“系统翻译有多么精确的表达了人工翻译的含义?”

Bleu score (Papineni et al 02 ).

大小写敏感 vs. 大小写不敏感

Brevity penalty 触发条件: 当机器翻译结果短于最短的参考译文 (reference) 或者短于最接近的参考译文 (reference)。

brevity penalty: 一个系数,用来惩罚长度短于参考翻译的机器翻译结果。

标准的Bleu计算流程会先对参考译文和机器翻译结果进行符号化 (tokenizition)。

如果中文是目标 (target) 语言, 则使用字符级别 {1,2,3,4}-gram匹配。

当只有1条人工参考翻译译文时使用Bleu-n4r1评估。

Bleu-n4r4: 词级别 {1,2,3,4}-gram 匹配, 与4条人工参考翻译译文比较

标准Bleu有很多重要的变种:

NIST. Bleu的一种变体,赋予少见的n-gram更高的权重。

TER (Translation Edit Rate). 计算机器翻译与人工参考译文之间的编辑距离 (Edit distance)。

BLEU-SBP ((Chiang et al 08)[http://aclweb.org/anthology/D08-1064] ). 解决了Bleu的解耦(decomposability) 问题,在Bleu和单词错误率取得一个折中。

HTER. 修改为一个良好的翻译所需要的人工编辑次数 (the number of edits)。

机器翻译相关语料资源方面,也包括我们比较熟悉的联合国语料库和AI Challenger:

其他相关任务感兴趣的同学可以自行参考,这是一个相当不错的了解当前中文NLP相关任务的参考点,感谢建设和维护该项目的同学。

注:原创文章,转载请注明出处及保留链接“我爱自然语言处理”:https://www.52nlp.cn

本文链接地址:中文自然语言处理相关的开放任务,数据集, 以及当前最佳结果 https://www.52nlp.cn/?p=12099

百度深度学习中文词法分析工具LAC试用之旅

之前在调研中文分词词性标注相关工具的时候就发现了百度的深度学习中文词法分析工具:baidu/lac(https://github.com/baidu/lac),但是通过这个项目github上的文档描述以及实际动手尝试源码编译安装发现非常繁琐,缺乏通常中文分词工具的易用性,所以第一次接触完百度lac之后就放弃了:

LAC是一个联合的词法分析模型,整体性地完成中文分词、词性标注、专名识别任务。LAC既可以认为是Lexical Analysis of Chinese的首字母缩写,也可以认为是LAC Analyzes Chinese的递归缩写。

LAC基于一个堆叠的双向GRU结构,在长文本上准确复刻了百度AI开放平台上的词法分析算法。效果方面,分词、词性、专名识别的整体准确率95.5%;单独评估专名识别任务,F值87.1%(准确90.3,召回85.4%),总体略优于开放平台版本。在效果优化的基础上,LAC的模型简洁高效,内存开销不到100M,而速度则比百度AI开放平台提高了57%。

本项目依赖Paddle v0.14.0版本。如果您的Paddle安装版本低于此要求,请按照安装文档中的说明更新Paddle安装版本。如果您使用的Paddle是v1.1以后的版本,请使用该项目的分支for_paddle_v1.1。注意,LAC模块中的conf目录下的很多文件是采用git-lfs存储,使用git clone时,需要先安装git-lfs。

为了达到和机器运行环境的最佳匹配,我们建议基于源码编译安装Paddle,后文也将展开讨论一些编译安装的细节。当然,如果您发现符合机器环境的预编译版本在官网发布,也可以尝试直接选用。

最近发现百度将自己的一些自然语言处理工具整合在PaddleNLP下,文档写得相对清楚多了:

PaddleNLP是百度开源的工业级NLP工具与预训练模型集,能够适应全面丰富的NLP任务,方便开发者灵活插拔尝试多种网络结构,并且让应用最快速达到工业级效果。

PaddleNLP完全基于PaddlePaddle Fluid开发,并提供依托于百度百亿级大数据的预训练模型,能够极大地方便NLP研究者和工程师快速应用。使用者可以用PaddleNLP快速实现文本分类、文本匹配、序列标注、阅读理解、智能对话等NLP任务的组网、建模和部署,而且可以直接使用百度开源工业级预训练模型进行快速应用。用户在极大地减少研究和开发成本的同时,也可以获得更好的基于工业实践的应用效果。

继续阅读

自然语言理解太难了之中文分词八级测试

前几天在微博看到了一个例子:无线电法国别研究

赶紧用AINLP公众号后台的中文分词和词性标注测试功能试了一下八款中文分词词性标注)工具或者模块:

结果如预期一样,大部分中文分词工具翻车了,不过这个例子别说对于中文分词工具,即使人工分词也需要反应一下。这也让我想起了之前转载的杨洋同学整理,刘群老师在微博上发起的#自然语言理解太难了#话题:NLP is hard! 自然语言处理太难了系列

这里基于这个系列以及记录的一些有意思的测试case做个整理,感兴趣的同学可以试试:

来到杨过曾经生活过的地方,小龙女动情地说:“我也想过过过儿过过的生活。”

来到儿子等校车的地方,邓超对孙俪说:“我也想等等等等等过的那辆车。”

赵敏说:我也想控忌忌己不想无忌。

你也想犯范范范玮琪犯过的错吗

对叙打击是一次性行为?

《绿林俊杰》--林俊杰做错了什么?为什么要绿他

一位友好的哥谭市民

校长说衣服上除了校徽别别别的

过几天天天天气不好

看见西门吹雪点上了灯,叶孤城冷笑着说:“我也想吹吹吹雪吹过的灯”,然后就吹灭了灯。

今天多得谢逊出手相救,在这里我想真心感谢“谢谢谢逊大侠出手”

灭霸把美队按在地上一边摩擦一边给他洗脑,被打残的钢铁侠说:灭霸爸爸叭叭叭叭儿的在那叭叭啥呢

姑姑你估估我鼓鼓的口袋里有多少谷和菇!!

“你看到王刚了吗”“王刚刚刚刚走”

张杰陪俩女儿跳格子:俏俏我们不要跳跳跳跳过的格子啦

骑车出门差点摔跤,还好我一把把把把住了

我朋友问父亲:我大大大(大大爷)和我姑姑谁年龄大?朋友爸爸说:你大大大大!

我背有点驼,麻麻说“你的背得背背背背佳
继续阅读

八款中文词性标注工具使用及在线测试

结束了中文分词工具的安装、使用及在线测试,开启中文词性标注在线测试之旅,一般来说,中文分词工具大多数都附带词性标注功能的,这里测试了之前在AINLP公众号上线的8款中文分词模块或者工具,发现它们都是支持中文词性标注的,这里面唯一的区别,就是各自用的词性标注集可能有不同:

以下逐一介绍这八个工具的中文词性标注功能的使用方法,至于安装,这里简要介绍,或者可以参考之前这篇文章:Python中文分词工具大合集:安装、使用和测试,以下是在Ubuntu16.04 & Python3.x的环境下安装及测试。
继续阅读

HMM学习最佳范例全文PDF文档及相关文章索引

HMM学习最佳范例系列大概翻译于10年前,是52nlp上早期访问量较高的一批文章,这里提供一个全文PDF下载,关注AINLP公众号,回复'HMM'获取网盘链接:

另外将博客上的隐马尔可夫模型相关文章做个索引,仅供参考:

HMM学习最佳范例

HMM相关文章

HMM应用