标签归档:自然语言处理

你是如何了解或者进入NLP这个领域的?

Start your future on Coursera today.

每个NLPer都有自己的故事,每个故事都很精彩!

前两天在AINLP公众号上做了一期赠书活动:8本NLP书籍任你选,发起了一个话题留言活动:你是如何了解或者进入NLP这个领域的?没想到,活动发布后,大家参与的热情极高,收到了200多条留言,但是限于微信公众号留言只能精选100条放出,所以有些遗憾,很多后来的同学的留言虽然写得很好,但是没有办法放出来了。今天是周末,我又认真的从前到后读了一遍,感慨每个人都有自己的NLP故事,这里做一次汇总,尽量把留言都放出来,就不一一回复了,感谢大家的支持与参与。

从留言来看,很多同学是读书或者在实验室的时候“偶然”入了NLP这行,和很多同学一样,我也是读书时误打误撞进入了这个领域,我本身读得是数学系,研究生读得是自动化系模式识别与智能系统专业,实验室有好几个方向,刚好一个方向是统计机器翻译,老师觉得数学系的背景适合这个,就安排我做这个方向了,所以很感谢老师当年的安排,让我和NLP结缘。最后再留一个话题,感兴趣的同学可以参与:你做的第一个NLP任务或者课题是什么?

另外这次赠书活动原计划从留言中选择4名同学赠书,但是大家参与活动的积极性太高,让人感动的留言不少,所以综合大家的留言内容、关注的时间、互动的频率等各个因素,我额外再赠送6本书给参与活动的同学,但是依然僧多肉少,请没有获奖的同学见谅,以后还有机会,大家先混个脸熟。请以下10名的同学直接添加微信AINLP2选择书籍和留收件信息:

C.S. , 意犹未尽, 迷糊s啦, 锐, 少女情怀总是诗, 璐璐, 黄金金, Mr.NLP, 瓜子, 川上月

其中瓜子同学作为20考研党代表和求赞第一名,这里送个祝福;川上月同学是博客、微博以及公众号的老读者,也投过稿,这里作为老读者代表,送个感谢。另外赠书活动昨晚已经抽奖完毕,大家可查看中奖结果,请以下4名同学也请一并添加微信AINLP2,留相关信息:

Emotion. , 发局, Null, cf

另外我们还在微博举行了同样的抽奖活动,感兴趣的同学依然可以移步参与,活动到下周四结束。

https://weibo.com/2104931705/HlW4Q2XNK

以下选自各位NLPer的留言,再次感谢大家。
继续阅读

为了夸夸聊天机器人,爬了一份夸夸语料库

Start your future on Coursera today.

上周为了娱乐,写了一篇《一行Python代码实现夸夸聊天机器人》,虽然只有几十条人工整理的通用夸夸语料,但是貌似也能应付一些简单需求。不过这篇文章在微博、AINLP微信公众号、知乎专栏推送后,还是有很多同学强烈建议丰富语料库。这个建议其实是很不错的,所以周末认真调研了一番,决定从豆瓣上的夸夸小组入手,这里面有很多现成的语料,至于混进微信、QQ夸夸群,收集语料,我觉得不太现实。

豆瓣上有很多夸夸小组,貌似最大的莫过于“相互表扬小组”,最近因为这股夸夸风,据说这个小组已经开始限制加入新人了,我针对这个小组写了一个小爬虫,爬了一份夸夸语料,总计2万6千多个帖子,采集了标题、内容和回复的相关信息,保存为json格式,1个帖子1条,大概是这样的:

{"title": "因为没有男朋友,求夸", "url": "https://www.douban.com/group/topic/135844056/", "author": "71277500", "last_reply_time": "03-17 16:40", "content": "笨人原本一个人好好的,都单了两三年了,一直觉得挺开心的。最近不知道抽了什么风,突然特别想找个男朋友。但是但是,偏偏找不到靠谱的男朋友!现在一个人睡不着,没想明白这事,求夸。\n", "replies_num": "14", "replies": [{"content": "你这么可爱肯定会有一个很好很好的人在等你!", "post_id": "135844056", "comment_id": "1834208628", "user_id": "189783421", "pub_time": "2019-03-16 01:08:38"}, {"content": "最好的肯定要晚点出现哦", "post_id": "135844056", "comment_id": "1834208775", "user_id": "189783421", "pub_time": "2019-03-16 01:08:52"}, {"content": "“笨人”,刚看到开头就笑了", "post_id": "135844056", "comment_id": "1834282396", "user_id": "192799520", "pub_time": "2019-03-16 07:50:50"}, {"content": "一个好可耐的宝宝", "post_id": "135844056", "comment_id": "1834282931", "user_id": "192799520", "pub_time": "2019-03-16 07:52:24"}, {"content": "也许明天就出现了", "post_id": "135844056", "comment_id": "1834290527", "user_id": "185989534", "pub_time": "2019-03-16 08:11:38"}, {"content": "你知道有一个适合你的那个在等你吧", "post_id": "135844056", "comment_id": "1834308924", "user_id": "192597621", "pub_time": "2019-03-16 08:46:23"}, {"content": "如果没有男朋友,肯定是你太优秀", "post_id": "135844056", "comment_id": "1834313229", "user_id": "171520899", "pub_time": "2019-03-16 08:53:19"}, {"content": "没有男朋友多好,省钱", "post_id": "135844056", "comment_id": "1834320533", "user_id": "130379006", "pub_time": "2019-03-16 09:03:42"}, {"content": "哈哈,谢谢好可爱的你呀!", "post_id": "135844056", "comment_id": "1835717925", "user_id": "71277500", "pub_time": "2019-03-17 16:16:58"}, {"content": "有道理", "post_id": "135844056", "comment_id": "1835718260", "user_id": "71277500", "pub_time": "2019-03-17 16:17:22"}, {"content": "也许吧,哈哈哈", "post_id": "135844056", "comment_id": "1835718395", "user_id": "71277500", "pub_time": "2019-03-17 16:17:32"}, {"content": "原本想写本人,一不小心错别字,看样子还是很符合的", "post_id": "135844056", "comment_id": "1835719069", "user_id": "71277500", "pub_time": "2019-03-17 16:18:17"}, {"content": "没有,只是单纯地觉得很可爱,很符合你写一段话的文风😄ཽ……退一步讲,古人讲究谦辞,称呼自己要自谦,本人要说鄙人,你用“笨人”活泼可爱,也能称得上是一种自谦,还是你自创的,有趣", "post_id": "135844056", "comment_id": "1835734308", "user_id": "192799520", "pub_time": "2019-03-17 16:35:21"}, {"content": "哈哈,有道理,我懂了", "post_id": "135844056", "comment_id": "1835738373", "user_id": "71277500", "pub_time": "2019-03-17 16:40:00"}]}

写到这里,估计还是会有同学准备留言索要数据了,因为即使上次区区几十条语料,随便google一下就可以得到的“夸夸语料”都有同学留言索取,所以这里准备多说几句,关于夸夸聊天机器人,关于夸夸语料库。

上个周,在看到清华刘知远老师的评论后,我是用娱乐的心态写了上周的那篇文章:《一行Python代码实现夸夸聊天机器人》,没想到,反响还不错,甚至有一些同学提了很好的建议。所以当周末认真思考这件事的可行性时,突然觉得,夸夸聊天机器人是一个绝好的机器学习实践项目:仅从一个idea出发,怎样做一个不错的夸夸聊天机器人?

作为自然语言处理四大难题之一的自动问答,个人觉得目前还远远不够“智能”,虽然市面上有很多聊天机器人,但是观察来看,以娱乐的心态来对话是可以的,或者完成一些简单的任务是没有问题的,例如询问天气,但是如果抱着很高的期望,很多轮对话下来,基本可以认为这个聊天机器人“不靠谱”, “答非所问”,甚至是个“智障”。虽然通用领域的智能问答或者聊天机器人还有很长的路要走,但是如果把这个问题限定在垂直领域或者很小的需求范围,那么问题可能就有解了,例如夸夸聊天机器人,需求就很简单:做啥都夸。简单的就是随便夸,复杂一点或者个性化的就是夸某个点、某件事、某个人,前者吗,就是上次《一行Python代码实现夸夸聊天机器人》做得事情,准备一些通用夸奖的语料,然后随机夸;后者,需要准备一些夸夸规则和夸夸语料库。

开个玩笑,二十一世纪什么最贵?当然是数据了,确切的说,是面向特定任务的特定数据。现在不缺机器学习框架,不缺算法,不缺机器,甚至不缺“人”,缺什么,就缺数据。这段时间,因为夸夸群的兴起,很多人看到了商机,说不定哪一天你的老板把你找来,直接给扔给你一个任务:做一个夸夸聊天机器人?怎么办,当然要调研啦。花了大半天时间,你了解了聊天机器人的前世今生,发现了人工智能标记语言AIML,知道了Chatbot的种种玩法,基于规则的、基于机器学习模型的、基于知识图谱的等等等等,甚至还有很多智能问答开源框架可以直接套用,最后,当你兴高采烈的准备动手实践的时候,你突然发现,还没有数据,你需要数据,需要夸夸语料库。
继续阅读

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

Start your future on Coursera today.

斯坦福大学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"获取,这份视频会持续更新,直到完整版,欢迎关注:


继续阅读

一行Python代码实现夸夸聊天机器人

Start your future on Coursera today.

来,做个标题党,娱乐一下。

前两天通过国内NLP才俊清华刘知远老师的朋友圈了解到有个清华夸夸群:

然后今天在知乎又看到他在这个帖子下的评论:如何评价清华夸夸群

实测疗效颇佳!都有种冲动要开发个夸夸聊天机器人,个性化夸人,终生陪伴左右。

我想这个功能AINLP双语聊天机器人无名可以有啊,虽然还做不到高级的个性化,但是最简单的起码是可以做到的,所以说干就干,用一行Python代码实现了这个功能:

print(random.choice(zan_list))

来,看看效果,其中 zan_list 是我随手整理得“中文夸夸语料库”:

In [1]: import random
 
In [2]: from util import zan_list
 
In [3]: print(random.choice(zan_list))
您目光深邃,一看您就是一位有思想的人。
 
In [4]: print(random.choice(zan_list))
从您的言谈中可以看出,我今天遇到的是很有修养的人。
 
In [5]: print(random.choice(zan_list))
别开玩笑了,看您的容貌,肯定不到二十岁。
 
In [6]: print(random.choice(zan_list))
这么魁梧的身材,潇洒的外表,不是大老板才怪了呢!
 
In [7]: print(random.choice(zan_list))
您一看就是大富大贵的人
 
In [8]: print(random.choice(zan_list))
我真佩服您的头脑,多少别人办不成的事,您一到便迎刃而解。
 
In [9]: print(random.choice(zan_list))
您的语调独特,言谈话语中充满了感染力。
 
In [10]: print(random.choice(zan_list))
听君一席话,胜读十年书,今天与您交谈,我受益匪浅。
 
In [11]: print(random.choice(zan_list))
您一看就是大富大贵的人
 
In [12]: print(random.choice(zan_list))
您真幽默,话从您口中说出来就是不一样。
 
In [13]: print(random.choice(zan_list))
这么魁梧的身材,潇洒的外表,不是大老板才怪了呢!

“科学研究”表明,经常被夸奖小朋友学习更好,年轻人更帅更漂亮,老年人更健康,所以大家赶紧关注AINLP公众号,后台对话试试聊天机器人无名的夸夸聊天功能:


关注AINLP后可后台直接对话聊天机器人无名,提供中英双语聊天,可以直接使用中英机器翻译,可以调戏对联机器人,也可以查询相似词,欢迎来撩,欢迎关注:

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

本文链接地址:一行Python代码实现夸夸聊天机器人 http://www.52nlp.cn/?p=11276

相似词查询:玩转腾讯 AI Lab 中文词向量

Start your future on Coursera today.

周末闲来无事,给AINLP公众号聊天机器人加了一个技能点:中文相似词查询功能,基于腾讯 AI Lab 之前公布的一个大规模的中文词向量,例如在公众号对话窗口输入"相似词 自然语言处理",会得到:自然语言理解、计算机视觉、自然语言处理技术、深度学习、机器学习、图像识别、语义理解、语音识别、自然语言识别、语义分析;输入"相似词 文本挖掘",会得到:数据挖掘、文本分析、文本数据、自然语言分析、语义分析、文本分类、信息抽取、数据挖掘算法、语义搜索、文本挖掘技术。如下图所示:

关于这份腾讯中文词向量 Tencent_AILab_ChineseEmbedding.txt ,解压后大概16G,可参考去年10月份腾讯官方的描述:腾讯AI Lab开源大规模高质量中文词向量数据,800万中文词随你用

从公开描述来看,这份词向量的质量看起来很不错:

腾讯AI Lab此次公开的中文词向量数据包含800多万中文词汇,其中每个词对应一个200维的向量。相比现有的中文词向量数据,腾讯AI Lab的中文词向量着重提升了以下3个方面,相比已有各类中文词向量大大改善了其质量和可用性:

⒈ 覆盖率(Coverage):

该词向量数据包含很多现有公开的词向量数据所欠缺的短语,比如“不念僧面念佛面”、“冰火两重天”、“煮酒论英雄”、“皇帝菜”、“喀拉喀什河”等。以“喀拉喀什河”为例,利用腾讯AI Lab词向量计算出的语义相似词如下:

墨玉河、和田河、玉龙喀什河、白玉河、喀什河、叶尔羌河、克里雅河、玛纳斯河

⒉ 新鲜度(Freshness):

该数据包含一些最近一两年出现的新词,如“恋与制作人”、“三生三世十里桃花”、“打call”、“十动然拒”、“供给侧改革”、“因吹斯汀”等。以“因吹斯汀”为例,利用腾讯AI Lab词向量计算出的语义相似词如下:

一颗赛艇、因吹斯听、城会玩、厉害了word哥、emmmmm、扎心了老铁、神吐槽、可以说是非常爆笑了

⒊ 准确性(Accuracy):

由于采用了更大规模的训练数据和更好的训练算法,所生成的词向量能够更好地表达词之间的语义关系,如下列相似词检索结果所示:

得益于覆盖率、新鲜度、准确性的提升,在内部评测中,腾讯AI Lab提供的中文词向量数据相比于现有的公开数据,在相似度和相关度指标上均达到了更高的分值。在腾讯公司内部的对话回复质量预测和医疗实体识别等业务场景中,腾讯AI Lab提供的中文词向量数据都带来了显著的性能提升。

当然官方的说法归官方,我还是遇到了一些bad case,例如输入官方例子 "相似词 兴高采烈" 和输入"相似词 腾讯",我们会发现一些"bad case":

另外这里用到的这份腾讯词向量数据的词条数总计8824330,最长的一个词条是:关于推进传统基础设施领域政府和社会资本合作(ppp)项目资产证券化相关工,查询的结果是:

很像一些文章标题,可能预处理的时候没有对词长做一些限制,感兴趣的同学可以详细统计一下这份词向量的词长分布。当然,少量的 bad case 不会降低这份难得的中文词向量的质量,也不会降低我们玩转这份词向量的兴趣,继续测试一些词或者短语。例如输入"相似词 马化腾"、"相似词 马云",会得到:

输入"相似词 深度学习"、"相似词 人工智能"会得到:

输入"相似词 AI"、"相似词 NLP"会得到:

当然,要是输入的"词条"没有在这份词库中,AINLP的聊天机器人无名也无能为力了,例如输入"词向量","AINLP",那是没有的:

需要说明的是,这里的查询功能间接借助了gensim word2vec 的相关接口,在腾讯这份词向量说明文档的主页上也有相关的用法提示:Tencent AI Lab Embedding Corpus for Chinese Words and Phrases,可能一些同学早就试验过了。不过对于那些机器资源条件有限的同学,或者不了解词向量、word2vec的同学,这个微信接口还是可以供你们随时查询相近词的,甚至可以给一些查询同义词、近义词或者反义词的同学提供一些线索,当然,从统计学意义上来看这份词向量的查询结果无法做到语言学意义上的准确,但是很有意思,需要自己去甄别。

最后感兴趣的同学可以关注我们的微信公众号AINLP,随时把玩腾讯 AI Lab 的这份词向量:

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

本文链接地址:相似词查询:玩转腾讯 AI Lab 中文词向量 http://www.52nlp.cn/?p=11234

Python自然语言处理工具NLTK学习导引及相关资料

Start your future on Coursera today.

NLTK 大概是最知名的Python自然语言处理工具了,全称"Natural Language Toolkit", 诞生于宾夕法尼亚大学,以研究和教学为目的而生,因此也特别适合入门学习。NLTK虽然主要面向英文,但是它的很多NLP模型或者模块是语言无关的,因此如果某种语言有了初步的Tokenization或者分词,NLTK的很多工具包是可以复用的。

关于NLTK,网上已经有了很多介绍资料,当然首推的NLTK学习资料依然是官方出的在线书籍 NLTK Book:Natural Language Processing with Python – Analyzing Text with the Natural Language Toolkit ,目前基于Python 3 和 NLTK 3 ,可以在线免费阅读和学习。早期的时候还有一个基于Python 2 的老版本:http://www.nltk.org/book_1ed/ ,被 O'Reilly 正式出版过,2012年的时候,国内的陈涛同学无偿翻译过一个中文版,我还在这里推荐过:推荐《用Python进行自然语言处理》中文翻译-NLTK配套书 ,后来才有了基于此版本的更正式的中文翻译版:《Python自然语言处理》。不过如果英文ok的话,优先推荐看目前官方的最新版本:http://www.nltk.org/book/

几年前我尝试写英文博客,觉得可以从NLTK的入门介绍开始,所以写了一个英文系列:Dive into NLTK,基于Python 2,感兴趣的同学可以关注:

Part I: Getting Started with NLTK
Part II: Sentence Tokenize and Word Tokenize
Part III: Part-Of-Speech Tagging and POS Tagger
Part IV: Stemming and Lemmatization
Part V: Using Stanford Text Analysis Tools in Python
Part VI: Add Stanford Word Segmenter Interface for Python NLTK
Part VII: A Preliminary Study on Text Classification
Part VIII: Using External Maximum Entropy Modeling Libraries for Text Classification
Part IX: From Text Classification to Sentiment Analysis
Part X: Play With Word2Vec Models based on NLTK Corpus
Part XI: From Word2Vec to WordNet

这个过程中使用了NLTK中嵌入的斯坦福大学文本分析工具包,发现少了斯坦福中文分词器,所以当时动手加了一个:Python自然语言处理实践: 在NLTK中使用斯坦福中文分词器

斯坦福大学自然语言处理组是世界知名的NLP研究小组,他们提供了一系列开源的Java文本分析工具,包括分词器(Word Segmenter),词性标注工具(Part-Of-Speech Tagger),命名实体识别工具(Named Entity Recognizer),句法分析器(Parser)等,可喜的事,他们还为这些工具训练了相应的中文模型,支持中文文本处理。在使用NLTK的过程中,发现当前版本的NLTK已经提供了相应的斯坦福文本处理工具接口,包括词性标注,命名实体识别和句法分析器的接口,不过可惜的是,没有提供分词器的接口。在google无果和阅读了相应的代码后,我决定照猫画虎为NLTK写一个斯坦福中文分词器接口,这样可以方便的在Python中调用斯坦福文本处理工具。

后来,这个版本在 NLTK 3.2 官方版本中被正式引入:stanford_segmenter.py ,我也可以小自豪一下为NLTK做过一点微小的贡献:

使用NLTK来处理中文是很多同学想干的事情,这方面,在NLTK中调用斯坦福大学的中文工具包刚好是一个切入点,关于NLTK中如何使用斯坦福大学工具包进行中文信息处理,推荐两篇文章:

在 NLTK 中使用 Stanford NLP 工具包http://www.zmonster.me/2016/06/08/use-stanford-nlp-package-in-nltk.html

以及白宁超同学的系列文章:

干货!详述Python NLTK下如何使用stanford NLP工具包http://www.cnblogs.com/baiboy/p/nltk1.html

关于NLTK的书籍,其实还有一本很不错:Python Text Processing with NLTK 2.0 Cookbook ,我之前看过这本,不过现在已经更新到Python 3了:Python 3 Text Processing with NLTK 3 Cookbook 。最后提供一个NLTK相关资料的打包下载,包括早期的中文翻译版和这个Cookbook,仅供个人学习使用,感兴趣的同学可以关注我们的公众号: AINLP, 回复'NLTK'获取相关下载链接:

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

本文链接地址:Python自然语言处理工具NLTK学习导引及相关资料 http://www.52nlp.cn/?p=11190

AINLP公众号索引、关键字和其他相关资源

Start your future on Coursera today.

前段时间,我在公众号发了一篇文章叫做《改个名,抽个奖》,正式宣告此前以 NLPJob 为主体的公众号改名为 AINLP ,同时承载 我爱自然语言处理, NLPJob课程图谱 三个网站的主题:

关注AI、NLP相关技术,关注人工智能、文本挖掘相关算法研发职位,关注MOOC和相关的公开课、在线课程;回复"文章"获取历史文章汇总;中英双语聊天机器人"无名",普通聊天请直接输入中英文,使用中英翻译机器人,请输入:#需要翻译的内容

很早之前就基于 WeRobot 和 Flask框架为这个微信后台混搭了一个“聊天机器人”,除了日常搭讪外,还负责回复用户的日常查询,所以为一些关注度比较高的文章做了关键字和索引,分散在以前的一些文章介绍里,这里再统一贴出来:

1、关注AINLP公众号,后台回复 “文章、历史消息、历史、history、存档” 任一关键字获取历史文章存档消息。

2、回复“正态分布,rickjin, 正态分布前世今生, 正态分布文章, 正太分布, 正太, 正态”任一关键字获取Rickjin正态分布前世今生系列:

正态分布系列文章索引

3、回复“nlp, 自然语言处理,学习自然语言处理,学习nlp, 如何学习nlp,如何学习自然语言处理” 任一关键字获取文章:如何学习自然语言处理

4、回复"slp" 获取:斯坦福NLP书籍和课程网盘链接和密码

5、回复"slp3" 获取:自然语言处理综论英文版第三版及斯坦福NLP课程链接和密码

6、回复"ng" 获取:Andrew Ng老师课程相关资料链接和密码

7、回复"aic" 获取:AI Challenger 2018 文本挖掘类竞赛相关代码及解决方案汇总
博客版本持续更新,欢迎提供线索:http://www.52nlp.cn/?p=10998

8、回复"bert" 获取:BERT相关论文、文章和代码资源汇总
博客版本持续更新:http://www.52nlp.cn/?p=10870

AI Challenger 2018 简记

Start your future on Coursera today.

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

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

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

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

Start your future on Coursera today.

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
继续阅读

BERT相关论文、文章和代码资源汇总

Start your future on Coursera today.

BERT最近太火,蹭个热点,整理一下相关的资源,包括Paper, 代码和文章解读。

1、Google官方:

1) BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

一切始于10月Google祭出的这篇Paper, 瞬间引爆整个AI圈包括自媒体圈: https://arxiv.org/abs/1810.04805

2) Github: https://github.com/google-research/bert

11月Google推出了代码和预训练模型,再次引起群体亢奋。

3) Google AI Blog: Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing

2、第三方解读:
1) 张俊林博士的解读, 知乎专栏:从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史

我们在AINLP微信公众号上转载了这篇文章和张俊林博士分享的PPT,欢迎关注:

2) 知乎: 如何评价 BERT 模型?

3) 【NLP】Google BERT详解

4) [NLP自然语言处理]谷歌BERT模型深度解析

5) BERT Explained: State of the art language model for NLP

6) BERT介绍

7) 论文解读:BERT模型及fine-tuning

8) NLP突破性成果 BERT 模型详细解读

9) 干货 | BERT fine-tune 终极实践教程: 奇点智能BERT实战教程,在AI Challenger 2018阅读理解任务中训练一个79+的模型。

10) 【BERT详解】《Dissecting BERT》by Miguel Romero Calvo
Dissecting BERT Part 1: The Encoder
Understanding BERT Part 2: BERT Specifics
Dissecting BERT Appendix: The Decoder

11)BERT+BiLSTM-CRF-NER用于做ner识别

12)AI赋能法律 | NLP最强之谷歌BERT模型在智能司法领域的实践浅谈

3、第三方代码:

1) pytorch-pretrained-BERT: https://github.com/huggingface/pytorch-pretrained-BERT
Google官方推荐的PyTorch BERB版本实现,可加载Google预训练的模型:PyTorch version of Google AI's BERT model with script to load Google's pre-trained models

2) BERT-pytorch: https://github.com/codertimo/BERT-pytorch
另一个Pytorch版本实现:Google AI 2018 BERT pytorch implementation

3) BERT-tensorflow: https://github.com/guotong1988/BERT-tensorflow
Tensorflow版本:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

4) bert-chainer: https://github.com/soskek/bert-chainer
Chanier版本: Chainer implementation of "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding"

5) bert-as-service: https://github.com/hanxiao/bert-as-service
将不同长度的句子用BERT预训练模型编码,映射到一个固定长度的向量上:Mapping a variable-length sentence to a fixed-length vector using pretrained BERT model
这个很有意思,在这个基础上稍进一步是否可以做一个句子相似度计算服务?有没有同学一试?

6) bert_language_understanding: https://github.com/brightmart/bert_language_understanding
BERT实战:Pre-training of Deep Bidirectional Transformers for Language Understanding: pre-train TextCNN

7) sentiment_analysis_fine_grain: https://github.com/brightmart/sentiment_analysis_fine_grain
BERT实战,多标签文本分类,在 AI Challenger 2018 细粒度情感分析任务上的尝试:Multi-label Classification with BERT; Fine Grained Sentiment Analysis from AI challenger

8) BERT-NER: https://github.com/kyzhouhzau/BERT-NER
BERT实战,命名实体识别: Use google BERT to do CoNLL-2003 NER !

9) BERT-keras: https://github.com/Separius/BERT-keras
Keras版: Keras implementation of BERT with pre-trained weights

10) tbert: https://github.com/innodatalabs/tbert
PyTorch port of BERT ML model

11) BERT-Classification-Tutorial: https://github.com/Socialbird-AILab/BERT-Classification-Tutorial

12) BERT-BiLSMT-CRF-NER: https://github.com/macanv/BERT-BiLSMT-CRF-NER
Tensorflow solution of NER task Using BiLSTM-CRF model with Google BERT Fine-tuning

13) bert-Chinese-classification-task
bert中文分类实践

14) bert-chinese-ner: https://github.com/ProHiryu/bert-chinese-ner
使用预训练语言模型BERT做中文NER

15)BERT-BiLSTM-CRF-NER
Tensorflow solution of NER task Using BiLSTM-CRF model with Google BERT Fine-tuning

16) bert-sequence-tagging: https://github.com/zhpmatrix/bert-sequence-tagging
基于BERT的中文序列标注

持续更新,BERT更多相关资源欢迎补充,欢迎关注我们的微信公众号:AINLP

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

本文链接地址:BERT相关论文、文章和代码资源汇总 http://www.52nlp.cn/?p=10870