标签归档:深度学习

百度深度学习中文词法分析工具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公众号上线的8款中文分词模块或者工具,发现它们都是支持中文词性标注的,这里面唯一的区别,就是各自用的词性标注集可能有不同:

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

Python中文分词工具大合集:安装、使用和测试

这篇文章事实上整合了前面两篇文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考。

首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AINLP公众号后台在线测试,严格的说,它们不完全是纯粹的中文分词工具,例如SnowNLP, Thulac, HanLP,LTP,CoreNLP都是很全面的(中文)自然语言处理工具。安装这些模块其实很简单,只要按官方文档的方法安装即可,以下做个简单介绍,在Python3.x的环境下测试,Ubuntu16.04 或 MacOS 测试成功。

再附加介绍12款其他的中文分词工具或者中文分词模块,最后的两款fnlp和ansj是比较棒的java中文分词工具,貌似还没有python接口,记录一下。这些中文分词工具我没有测试,感兴趣的同学可以动手试试。
继续阅读

斯坦福大学深度学习自然语言处理课程CS224N 2019 全20个视频分享

近期一直关注着斯坦福大学深度学习自然语言处理课程CS224N在油管上的视频更新情况,直到昨天看到他们分享了第20个视频资源:

Stanford CS224N: NLP with Deep Learning | Winter 2019 | Lecture 20 – Future of NLP + Deep Learning

结合斯坦福大学CS224n官网课程Schedule,大概率这门课程的视频官方应该分享完了:CS224n: Natural Language Processing with Deep Learning Stanford / Winter 2019

通过youtube-dl以及bypy两个神器这里再次更新一下CS224n的20个课程视频,感兴趣的同学可以关注我们的公众号AINLP,回复'cs224n'获取全部视频合集:

最后列一下cs224N的相关资源:

课程主页:
http://web.stanford.edu/class/cs224n/index.html

官方课程视频网站:
http://onlinehub.stanford.edu/cs224

官方油管视频List:
https://www.youtube.com/playlist?list=PLoROMvodv4rOhcuXMZkNm7j3fVwBBY42z

课程除视频以为的相关资料都可以从schedule下载,包括ppt等:
http://web.stanford.edu/class/cs224n/index.html#schedule

课程优秀项目网站:
http://web.stanford.edu/class/cs224n/project.html

B站视频链接:
https://www.bilibili.com/video/av46216519

参考:
2019斯坦福CS224n深度学习自然语言处理课程视频和相关资料分享

中文分词文章索引和分词数据资源分享

昨天在AINLP公众号上分享了乐雨泉同学的投稿文章:《分词那些事儿》,有同学留言表示"不过瘾",我想了想,其实我爱自然语言处理博客上已经积攒了不少中文分词的文章,除了基于深度学习的分词方法还没有探讨外,“古典”机器学习时代的中文分词方法都有涉及,从基于词典的中文分词(最大匹配法),到基于统计的分词方法(HMM、最大熵模型、条件随机场模型CRF),再到Mecab、NLTK中文分词,都有所涉及。回头看,这些文章最早的大概有10年了,现在看有些稚嫩,可能不适宜再放到公众号上推了,但是这里做个索引,感兴趣的同学可以在博客上阅读,基本上都是有代码可以参考的。

中文分词入门系列

rickjin老大的两篇日文翻译文档,很有帮助

其他同学在52nlp博客上分享的中文分词相关文章,感谢大家

最后关于中文分词的数据资源,多说两句,中文分词的研究时间比较长,方法比较多,从实际经验看,好的词库资源可能更重要一些,最后提供一份中文分词的相关资源,包括中文分词字标注法全文pdf文档,以及web上其他同学分享的词库资源,感兴趣的同学可以关注AINLP,回复“fenci"获取:

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

本文链接地址:中文分词文章索引和分词数据资源分享 http://www.52nlp.cn/?p=11408

2019斯坦福CS224n深度学习自然语言处理课程视频和相关资料分享

斯坦福大学2019年新一季的CS224n深度学习自然语言处理课程(CS224n: Natural Language Processing with Deep Learning-Stanford/Winter 2019)1月份已经开课,不过视频资源一直没有对外放出,直到前几天官方在油管上更新了前5节视频:CS224n: Natural Language Processing with Deep Learning | Winter 2019

这门自然语言处理课程是值得每个NLPer学习的NLP课程,由 Christopher Manning 大神坐镇主讲,面向斯坦福大学的学生,在斯坦福大学已经讲授很多年。此次2019年新课,有很多更新,除了增加一些新内容外,最大的一点大概是代码由Tensorflow迁移到PyTorch:

这几年,由于深度学习、人工智能的概念的普及和推广,NLP作为AI领域的一颗明珠也逐渐广为人知,很多同学由此进入这个领域或者转行进入这个领域。Manning大神在第一堂课的视频开头之处给学生找位子(大概还有很多同学站着),同时开玩笑的说他在斯坦福大学讲授自然语言处理课程的第一个十年,平均每次选课的学生大约只有45个。

这门课程的主要目标是希望学生:能学到现代深度学习相关知识,特别是和NLP相关的一些知识点;能从宏观上了解人类语言以及理解和产生人类语言的难度;能理解和用代码(PyTorch)实习NLP中的一些主要问题和人物,例如词义理解、依存句法分析、机器翻译、问答系统等。

关于课程视频,目前官方只放出了前5节课程视频,我下载了一份放到了百度网盘里,感兴趣的同学可以关注AINLP,回复"cs224n"获取,这份视频会持续更新,直到完整版,欢迎关注:


继续阅读

Geoffrey Hinton 大神面向机器学习的神经网络公开课及相关视频资料

Geoffrey Hinton 大神的"面向机器学习的神经网络(Neural Networks for Machine Learning)"公开课早在2012年就在 Coursera 上开过一轮,之后一直沉寂,直到 Coursera 新课程平台上线,这门经典课程已开过多轮次,之前我们在《深度学习课程资源整理》隆重推荐过。

1月15日,Geoffrey Hinton 大神在twitter上宣布:

My Coursera MOOC "Neural Networks for Machine Learning" was prepared in 2012 and is now seriously out of date so I have asked them to discontinue the course. But the lectures are still a good introduction to many of the basic ideas and are available at https://www.cs.toronto.edu/~hinton/coursera_lectures.html

大意是这门在Coursera上的MOOC课程是在2012年准备的,现在有点过时了,所以要求他们(Coursera)停止提供这门课程。但是这门深度学习课程依然是介绍神经网络相关基础概念的好资料,所以课程视频依然保留在多伦多大学hinton大神的主页下,感兴趣的同学可以直接观看:https://www.cs.toronto.edu/~hinton/coursera_lectures.html

我试了一下Coursera,发现如果之前注册过,还能打开这门课程,但是一旦是非登录状态后,这门课程已经无法在Coursera上找到了:

https://www.coursera.org/learn/neural-networks

这样稍微有点遗憾,不能在Coursera上做相关的Quiz,感兴趣的同学可以参考课程图谱上早期关于这门课程的评论:

http://coursegraph.com/coursera_neuralnets

“宗派大师+开拓者直接讲课,秒杀一切二流子!”

“巨牛级别的人物来开课,我也不说啥了。”

“还有什么好说的呢?Deep Learning必修课程啊!”

该课程最后在Coursera上开课的时间大概在2018年11月份:

http://coursegraph.com/coursera-neural-networks

最后,如果你觉得访问多伦多Hinton教授主页那个教程页面不方便,这里提供早期从Coursera上下载的课程版本,包括视频、PPT、英文字幕等,关注AINLP公众号,回复“hinton"获取:

注:本文首发于“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:Geoffrey Hinton 大神面向机器学习的神经网络公开课及相关视频资料 http://blog.coursegraph.com/?p=985

风云三尺剑,花鸟一床书---对联数据集和自动对联机器人

很多年前看到过微软的自动对联工具,写了一篇《机器翻译与微软对联》博文,赞了MSRA用统计机器翻译(SMT)的思路做自动对联系统,当时开玩笑的说:

微软研究院的这个“对联语料库”的规模是67万对,所采用的技术是他们自己的web语料库自动获取技术。开玩笑的说,如果周明老师能给我这个语料库,我也能几天之内构建一个简单的“52nlp自动对联系统”。

前段时间看到了一份对联语料:couplet-dataset

https://github.com/wb14123/couplet-dataset

这份数据包含70万条对联数据,按字切分,作者很用心的给大家准备了训练集、测试集还有词汇表;同时还开源了一个基于Tensorflow的深度学习工具来训练自动对联模型: seq2seq-couplet

https://github.com/wb14123/seq2seq-couplet

感兴趣的同学可以直接上手操作,作者甚至还提供了Demo供大家把玩,不过目前貌似需要科学上网才能访问:

https://ai.binwang.me/couplet/

对我来说,看到这份数据的第一想法就是用神经网络机器翻译(NMT)的思路来尝试自动对联系统,这里NMT开源工具可选择的范围很广,我还是选择了Marian,跑了一个简单的对联“翻译”模型,现在接入AINLP公众号聊天机器人,感兴趣的朋友可以一试。具体方法请关注AINLP公众号,然后后台和AINLP聊天机器人互动:

回复“上联 输入上联内容” ,AINLP机器人将自动回复“下联 自动对联内容”,例如:

例子1:
上联 风云三尺剑
自动回复:
下联 花鸟一床书

注意上图来自微软亚洲研究院电脑对联页面:https://duilian.msra.cn/

其他例子可参考:

关于AINLP公众号相关信息,可参考:AINLP公众号索引、关键字和其他相关资源

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

本文链接地址:风云三尺剑,花鸟一床书---对联数据集和自动对联机器人 http://www.52nlp.cn/?p=11145

AI Challenger 2018 简记

这两天在北京参加了 AI Challenger 2018 总决赛,这次又有点小幸运拿到了英中机器翻译决赛第5名,不过整个过程和去年的《AI Challenger 2017 奇遇记》有所不同。去年参加比赛的定位是“学”,学习NMT的相关知识和调研相关工具;今年参加比赛的定位是“用”,用熟悉的NMT工具。

与去年相比,今年的 AI Challenger 机器翻译赛道做了“优化”,首先没有了同传赛道,这个赛道去年因为有了“同传”二字吓走了一批人,其次最高奖金也降了,降到了20万,所以感觉相比于其他两个文本挖掘赛道,英中文本机器翻译赛道要冷清一些,另外一个原因可能是机器翻译的千万中英双语句对语料对机器资源的要求要高一些。

另外今年 AI Challenger 英中文本机器翻译大赛虽然语料还是口语领域的,但是额外增加了Document上下文语料,也是本次比赛新的命题点和关注点:
继续阅读

谷歌云平台上基于TensorFlow的高级机器学习专项课程

Coursera近期推了一门新专项课程:谷歌云平台上基于TensorFlow的高级机器学习专项课程(Advanced Machine Learning with TensorFlow on Google Cloud Platform Specialization),看起来很不错。这个系列包含5门子课程,涵盖端到端机器学习、生产环境机器学习系统、图像理解、面向时间序列和自然语言处理的序列模型、推荐系统等内容,感兴趣的同学可以关注:Learn Advanced Machine Learning with Google Cloud. Build production-ready machine learning models with TensorFlow on Google Cloud Platform.

课程链接:http://coursegraph.com/coursera-specializations-advanced-machine-learning-tensorflow-gcp
继续阅读