分类目录归档:自然语言处理

词向量游戏:一些有意思的例子

自从把腾讯词向量对接到AINLP公众号后台后,发现相似词相关的查询需求是逐渐增大的,已经不止一次有非CS专业的同学通过后台查询相似词或者相似度来做课程设计,这让我觉得这个事情有一些意义,当然,通过微信(公众号)后台快速查询相似词(同义词、近义词、反义词)这个需求应该是更普遍的,欢迎推荐给有需求的朋友。关于词向量、相似词、相似度、词语加减,这里写了一些文章:

相似词查询:玩转腾讯 AI Lab 中文词向量
玩转腾讯词向量:词语相似度计算和在线查询
腾讯词向量实战:通过Annoy进行索引和快速查询
玩转腾讯词向量:Game of Words(词语的加减游戏)

特别是最后一篇文章,在这篇文章发布后,很多同学通过AINLP的公众号后台对话玩得很嗨,并且在微博、微信平台留言,这里基于大家的群体智慧,提供一些有意思的词(类比)加减例子,这些例子可以直接在AINLP公众号后台测试:

=======不错的词类比(Word Analogy)例子======

机场-飞机+火车=高铁站

Windows-microsoft+google=android

老婆-老公+丈夫=妻子

北京-中国+法国=巴黎

天安门-北京+巴黎=艾菲尔铁塔

渣男-男朋友+女朋友=小三

渣男-男+女=渣女

很快-快+慢=缓慢

马云-互联网+房地产=恒大许家印

北京-中国+美国=华盛顿特区

范冰冰-李晨+刘恺威=大幂幂

射雕英雄传-郭靖+杨过=神雕侠侣

姜文-中国+美国=史泰龙

上海-中国+美国=旧金山

小龙女-杨过+郭靖=黄蓉

梅西-阿根廷+葡萄牙=C罗

梅西-阿根廷+意大利=皮耶罗

飞机场-飞机+火车=火车路

汽车-轮胎+翅膀=飞翔
继续阅读

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

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

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

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

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

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

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

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

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

对叙打击是一次性行为?

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

一位友好的哥谭市民

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

过几天天天天气不好

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

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

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

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

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

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

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

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

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

Docker 部署Python项目

Docker 部署Python项目

导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装。只有它们都正确,软件才能运行。如果从一种操作系统里面运行另一种操作系统,通常我们采取的策略就是引入虚拟机,比如在 Windows 系统里面运行 Linux 系统。这种方式有个很大的缺点就是资源占用多、冗余步骤多、启动慢。目前最流行的 Linux 容器解决方案之一就是Docker,它最大优点就是轻量、资源占用少、启动快。本文从什么是Docker?Docker解决什么问题?有哪些好处?如何去部署实现去全面介绍。

0 引言

设想这样一个真实案例,假如我们要部署一个Python应用程序,要做哪些工作?

  • 首先需要python运行环境,比如部署的是python3,而机器上是python2。先装个python3,还要装各种依赖包,机器一些可能的冲突。

  • 装完python之后,发现还要装mysql或者redis。继续下载安装配置。

  • 啥?服务器不用了,需要换一台服务器?那重新来一遍吧。

  • 啥?基础应用做的太好要进行推广,需要指导其他厂商部署?这怎么办?

可以看出,在 Docker 之前软件行业的运维存在着以下这些痛点:

  • 软件的发布和部署低效又繁琐,而且总是需要人工介入

  • 环境的一致性难移保证

  • 在不同环境之间迁移的成本较高

在完成Docker部署安装之前,我们还是先认识下Docker的优点:

  • 软件构建容易,分发简单

  • 应用得到隔离,依赖被解除

  • 可以完美地用于 CI/CD

  • 快速部署,测试完以后销毁也方便

继续阅读

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

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

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

Philipp Koehn大神的神经网络机器翻译学习资料:NMT Book

上午有同学在AINLP交流群里询问机器翻译书籍,看到后第一想到的就是Philipp Koehn大神,我读书的时候他活跃在统计机器翻译的一线,特别是他领导开源的Moses机器翻译工具,成了统计机器翻译时代的标配;现在他活跃在神经网络机器翻译的一线,这种一线,不仅仅指paper,还有代码,关注他的github,你会发现他还在为开源的神经网络机器翻译工具贡献代码。

2010年他出过一本SMT的专著:Statistical Machine Translation,这本书也有中文翻译版,个人觉得应该是机器翻译入门必读材料。这几年神经网络机器翻译风声水起,NMT伴随着深度学习的发展攻城略地,Koehn大神也为本书补充了一个专门的NMT章节,或者可以单独成书,关于这个章节,可以在这里找到和下载:https://arxiv.org/abs/1709.07809

Draft of textbook chapter on neural machine translation. a comprehensive treatment of the topic, ranging from introduction to neural networks, computation graphs, description of the currently dominant attentional sequence-to-sequence model, recent refinements, alternative architectures and challenges. Written as chapter for the textbook Statistical Machine Translation. Used in the JHU Fall 2017 class on machine translation.

或者可以在他维护的一个机器翻译课程相关页面上下载,这个主页上有很多已经开过的和再开的机器翻译课程信息:

http://mt-class.org/

最后,如果你觉得麻烦,欢迎关注AINLP公众号,后台回复 nmt 下载:

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

本文链接地址:Philipp Koehn大神的神经网络机器翻译学习资料:NMT Book http://www.52nlp.cn/?p=11835

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

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

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

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

中文分词工具在线PK新增:FoolNLTK、HITLTP、StanfordCoreNLP

继续中文分词在线PK之旅,上文《五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP》我们选择了5个中文分词开源工具,这次再追加3个,分别是FoolNLTK、哈工大LTP(pyltp, ltp的python封装)、斯坦福大学的CoreNLP(stanfordcorenlp is a Python wrapper for Stanford CoreNLP),现在可以在AINLP公众号测试一下:中文分词 我爱自然语言处理

以下是在Python3.x & Ubuntu16.04 的环境下测试及安装这些中文分词器:
继续阅读

五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP

最近玩公众号会话停不下来:玩转腾讯词向量:Game of Words(词语的加减游戏),准备把NLP相关的模块搬到线上,准确的说,搬到AINLP公众号后台对话,所以,趁着劳动节假期,给AINLP公众号后台聊天机器人添加了一项新技能:中文分词线上PK,例如在AINLP公众号后台对话输入:中文分词 我爱自然语言处理,就可以得到五款分词工具的分词结果:

现在的开源中文分词工具或者模块已经很丰富了,并且很多都有一些在封闭测试集上的效果对比数据,不过这仅仅只能展现这些分词工具在这个封闭测试集上的效果,并不能全面说明问题,个人觉得,选择一个适合自己业务的分词器可能更重要,有的时候,还需要加一些私人定制的词库。

这次首先选了5款中文分词工具,严格的来说,它们不完全是纯粹的中文分词工具,例如SnowNLP, Thulac, HanLP都是很全面的中文自然语言处理工具,这次,先试水它们的中文分词模块。安装这些模块其实很简单,只要按官方文档的方法安装即可,以下做个简单介绍,在Python3.x的环境下测试,Ubuntu16.04 或 MacOS 测试成功。
继续阅读

AI技术内参:关于数据科学的9个分享

最近被安利了一个极客时间的专栏:《AI技术内参》,作者是洪亮劼老师,美国Etsy工程总监,前雅虎研究院高级研发经理。选了一些章节试读,觉得可以安利一下这个专栏,好东西要分享,希望你能耐心看完这篇文章。通过这个专栏大概可以一窥工业界的一些玩法,工业界和学术界的碰撞,另外从目录来看这个专栏覆盖的范围也很广,包括自然语言处理、计算机视觉、数据科学、推荐系统、广告系统、搜索核心技术的传统机器学习方法和新的深度学习方法。这个专栏目前已经完结,稍微花一些时间大概就可以看完或者听完,从现在开始到5月4日24时,79元,大概一本书的价格,感兴趣的同学可以参与:《AI技术内参

前十讲主要是关于数据科学的一些经验,分享一下打动我的9个点,关于数据科学,个人觉得这些对于还没有进入工业界的同学特别是想进入人工智能行业的同学来说很有参考意义,AI相关技术的算法工程师不仅仅玩算法,玩框架,更需要有数据科学思维、系统闭环思维、以及面向产品思维:


继续阅读

来,试试语音(识别)聊天(机器人)

周末娱乐一下,解锁AINLP公众号聊天机器人无名的语音(识别)聊天技能,不过只有语音识别,没有语音合成,这个目前基于微信公众号本身提供的语音识别接口,目前只能识别中文语音,感兴趣的同学可以先关注AINLP公众号,然后后台语音或者文字对话即可:

基于AINLP公众号的聊天机器人功能点,可以基于语音玩一些有趣的事情,例如中英翻译功能:

通过AINLP公众号的中文语音识别功能可以瞬间把手机变成一个中到英语音翻译助手,例如:

这里中括号里显示的是中文语音识别结果,供大家参考(调试)。
继续阅读