AINLP-DBC GPU 云服务器租用平台建立,价格足够便宜

我用过不少深度学习服务器,也包括一些GPU云服务器,相对来说,GPU云服务器是比较贵的。最近深脑链的同学让我试用了通过DBC Token结算的GPU云服务器,感觉相当的便宜和好用,所以尝试推荐大家试用,我们和深脑链达成合作,建立了:https://gpu.ainlp.cn

需要提前说明的时候,基于深脑链技术提供的GPU服务平台是采用数字货币DBC Token结算的,对于这块儿我之前是比较犹豫的,不希望大家通过这个涉及“炒币”,只是希望大家可以通过一种比较便宜好用的方式尝试使用GPU云服务器。在完整的体验了整个使用流程之后,我觉得是可用推荐给大家使用的,特别是学习深度学习,又没有GPU机器的同学,或者打比赛的时候有临时GPU需求的同学。欢迎感兴趣的同学加入我们的种子用户交流群(群二维码见文末,或者添加微信id:AINLP2,注明GPU,邀请入群),深脑链的同学会给每位新用户提供2400DBC,约可以使用48小时的GPU云服务器,对于使用过程中的任何问题,深脑链的同学都会在群里进行及时的解答。
继续阅读

推荐两份NLP读书笔记和一份NLTK书籍代码中文注释版

推荐一下AINLP技术交流群里 zYx.tom 同学贡献给大家的两份NLP读书笔记和一份中文注释代码,包括:

《自然语言处理综论》中文版第二版学习笔记

《计算机自然语言处理》学习笔记

《Python自然语言处理》学习代码的中文注释版本:

作者博客:https://zhuyuanxiang.github.io/

由作者授权,我把2份pdf文件放到github上了,感兴趣的同学可以直接在github上下载:

自然语言处理综论》是NLP领域的经典著作,第一版、第二版国内都有中文翻译版,目前英文版第三版《Speech and Language Processing (3rd ed. draft)》正在撰写中,已完结的章节草稿可以直接从slp3官网下载: ,加了很多深度学习自然语言处理的相关章节,这里引用李纪为博士《初入NLP领域的一些小建议》中的一段描述,供计划学习这本书的同学参考:

了解NLP的最基本知识:Jurafsky和Martin的Speech and Language Processing是领域内的经典教材,里面包含了NLP的基础知识、语言学扫盲知识、基本任务以及解决思路。阅读此书会接触到很多NLP的最基本任务和知识,比如tagging, 各种parsing,coreference, semantic role labeling等等等等。这对于全局地了解NLP领域有着极其重要的意义。书里面的知识并不需要烂熟于心,但是刷上一两遍,起码对于NLP任务有基本认识,下次遇到了知道去哪里找还是非常有意义的。

《计算机自然语言处理》是哈工大王晓龙、关毅两位老师的中文NLP著作,我在刚入门NLP的时候读过,但是已经很久了,这本书在我早期的博文里记述过:《几本自然语言处理入门书》,唯一的印象就是第一次了解到本科母校HIT在中文NLP领域是非常厉害的。这本书貌似已经无法在电商网站买到,感兴趣的同学可以看看zYx.Tom同学的学习笔记。

NLTK是经典的Python NLP工具包,配套的书籍《》目前也有了中文翻译版本,感兴趣的同学可以参考zYx.Tom同学的这份《Python自然语言处理》学习代码的中文注释版本:。

最后,欢迎大家关注AINLP公众号,加入AINLP技术交流群,一起维护一个NLP技术交流环境。

Clause,开源的语义理解服务

Clause

Chatopera Language Understanding Service,Chatopera 语义理解服务

Clause 是帮助中小型企业快速而低成本的获得好用的语义理解服务的系统。
Clause 是 Chatopera 团队自主研发及使用其他商业友好的开源软件的方式实现的,Clause 为实现企业聊天机器人提供强大的大脑,包括客服、智能问答和自动流程服务。Clause 利用深度学习,自然语言处理和搜索引擎技术,让机器更加理解人。

欢迎

认真推荐一份深度学习笔记:简约而不简单

认真推荐一份深度学习笔记: ,作者是我的师兄朱鉴,很多年前,他也给过我一份《无约束最优化》的笔记,在这里发布过。这份文件虽然被他命名为:一份简短的深度学习笔记,但是我读完后的第一反应是:简约而不简单。师兄在工作上一直是我的偶像,他在腾讯深耕自然语言处理相关方向6年,之后又一直在小米打拼,作为技术专家,现在主要负责对话系统相关的工作。他在工作上兢兢业业,但是工作之余也一直在学习,前两天他把这份笔记给我,说这是工作之余学习的一个总结,希望分享给大家。这份深度学习笔记共有150多页,从基础的微积分、线性代数、概率论讲起,再到数值计算、神经网络、计算图、反向传播、激活函数、参数优化、损失函数、正则化等概念,最后落笔于网络架构,包含前向网络、卷积网络、递归网络以及Transformer和Bert等,涵盖的内容非常系统全面。强烈推荐给大家,个人觉得这是一份极好的深度学习中文材料,可用于深度学习入门或者平时工作参考,当然也可以基于这份笔记的任何一个章节做深度扩展阅读和学习。

以下是这份笔记的完整目录:


继续阅读

Rasa入坑指南一:初识Rasa

最近对 产生了浓厚的兴趣,准备用Rasa打磨一下聊天机器人,所以做了一些调研和学习,准备记录一下,这是第一篇,感兴趣的同学可以参考。

Rasa是一套开源机器学习框架,用于构建基于上下文的AI小助手和聊天机器人。Rasa有两个主要模块:Rasa NLU 用于对用户消息内容的语义理解;Rasa Core 用于对话管理(Dialogue management)。Rasa官方还提供了一套交互工具 RasaX 帮助用户提升和部署由Rasa框架构建的AI小助手和聊天机器人。

学习一套东西最好的方法是从官方文档开始,Rasa官方文档相当贴心,我们从 走起。

一、安装Rasa及RasaX

我是在Ubuntu16.04, Python3 的 virtualenv 环境下测试安装的:

virtualenv -p python3 venv
source venv/bin/activate
pip install rasa-x --extra-index-url https://pypi.rasa.com/simple

如果一切正常,rasa 及 rasa x 将同时被安装,如果你不希望使用 RasaX,那么安装时直接"pip install rasa"即可,当然还可以继续安装 Rasa NLU 文本分析时所需的一些依赖,此处暂时忽略。

二、运行官方示例

Rasa 官方 示例相当贴心,即使你没有安装rasa,也可以在这个页面通过浏览器运行示例代码,如果已经安装了,可以在自己的电脑上通过命令行follow整个流程。

1. 创建默认的初始项目

在终端运行:

rasa init --no-prompt

这个过程将有一个很快速的 Rasa 相关模型训练过程展示,最终提示:

...
NLU model training completed.
Your Rasa model is trained and saved at '/home/textminer/rasa/default/models/20190821-205211.tar.gz'.
If you want to speak to the assistant, run 'rasa shell' at any time inside the project directory.

如果不加 --no-prompt,会有几个问题提示。你也可以直接通过浏览器在执行“run”按钮,结果是这样的:

这个命令将在当前目录下新建以下文件:

__init__.py 空文件
actions.py 可以自定义 actions 的代码文件
config.yml ‘*’ Rasa NLU 和 Rasa Core 的配置文件
credentials.yml 定义和其他服务连接的一些细节,例如rasa api接口
data/nlu.md ‘*’ Rasa NLU 的训练数据
data/stories.md ‘*’ Rasa stories 数据
domain.yml ‘*’ Rasa domain 文件
endpoints.yml 和外部消息服务对接的 endpoins 细则,例如 fb messenger
models/<timestamp>.tar.gz 初始训练的模型数据

其中标志有 ‘*’ 的文件是比较重要的文件,以下我们来详细的了解。
继续阅读

通过Docker部署深度学习项目环境

深度学习环境部署的方法有很多种,其中Docker化深度学习环境和项目是一个很不错的选择。这里写过一些深度学习主机安装和部署的文章,这篇文章记录一下相关的通过Docker来部署和测试深度学习项目的一些经验,以下是在一台4卡1080TI,Ubutu16.04的机器上的记录。

一、安装Docker:

关于Docker的相关介绍资料比较多,这里就不多说了,感兴趣的同学可以自行Google或者看一下参考资料。

1)使用APT安装:

$ sudo apt-get update

$ sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
            software-properties-common

2) 使用国内源:

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

3) 向source_list添加Docker源:

$ sudo add-apt-repository \
            "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu
            \
                $(lsb_release -cs) \
                stable"

# 官方源
# $ sudo add-apt-repository \
#    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
#    $(lsb_release -cs) \
#    stable"

4)更新 apt 软件包缓存,并安装 docker-ce:

$ sudo apt-get update
$ sudo apt-get install docker-ce

5) 添加用户组(安装后貌似这个组已经存在了):

sudo groupadd docker

6) 将当期用户添加到这个组里并退出重新登录:

sudo usermod -aG docker $USER

7) 测试Docker:

docker run hello-world

8) 添加过内镜像代理:

sudo vim /etc/docker/daemon.json
{
    "registry-mirrors": [
        "https://registry.docker-cn.com"
    ]
}

9)重启Docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

二、安装nvidia-docker:

单独安装Docker之后还无法使用带GPU的深度学习机器,需要再安装一下英伟达出品的Nvidia-docker。

1)安装:

# Add the package repositories
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

$ sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
$ sudo systemctl restart docker

继续阅读

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

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

项目主页:

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相关任务的参考点,感谢建设和维护该项目的同学。

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

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

推荐一份中文数据,再试试汉字、词语、成语、歇后语在线检索

前段时间给公众号新增了一个成语接龙功能:AINLP公众号对话接口新增成语接龙,这个里面提到的项目用到了一份成语数据,包含了2万多条成语数据和释义。不过这个数据之外,推荐一个更棒的Github项目:

https://github.com/pwxcoo/chinese-xinhua

这个项目收录了收录了 14032 条歇后语,16142 个汉字,264434 个词语,31648 个成语,并且以json格式提供了相关数据,非常方便:

项目结构:

chinese-xinhua/
|
+- data/ <-- 数据文件夹
|  |
|  +- idiom.json <-- 成语
|  |
|  +- word.json <-- 汉字
|  |
|  +- xiehouyu.json <-- 歇后语
|  |
|  +- ci.json <-- 词语

汉字例子:

    {
        "word": "吖",
        "oldword": "吖",
        "strokes": "6",
        "pinyin": "ā",
        "radicals": "口",
        "explanation": "喊叫天~地。\n 形容喊叫的声音高声叫~~。\n\n 吖ā[吖啶黄](-dìnghuáng)〈名〉一种注射剂。\n ────────────────—\n \n 吖yā 1.呼;喊。",
        "more": "吖 a 部首 口 部首笔画 03 总笔画 06  吖2\nyā\n喊,呼喊 [cry]\n不索你没来由这般叫天吖地。--高文秀《黑旋风》\n吖\nyā\n喊声\n则听得巡院家高声的叫吖吖。--张国宾《合汗衫》\n另见ā\n吖1\nā\n--外国语的音译,主要用于有机化学。如吖嗪\n吖啶\nādìng\n[acridine] 一种无色晶状微碱性三环化合物c13h9n,存在于煤焦油的粗蒽馏分中,是制造染料和药物(如吖啶黄素和奎吖因)的重要母体化合物\n吖1\nyā ㄧㄚˉ\n(1)\n喊叫天~地。\n(2)\n形容喊叫的声音高声叫~~。\n郑码jui,u5416,gbkdfb9\n笔画数6,部首口,笔顺编号251432\n吖2\nā ㄚˉ\n叹词,相当于呵”。\n郑码jui,u5416,gbkdfb9\n笔画数6,部首口,笔顺编号251432"
    }

词典例子:

{
    "ci": "总计", 
    "explanation": "1.总共计算。 \n2.犹统计。"}

成语例子:

{
    "derivation": "清·嬴宗季女《六月霜·恤纬》劝夫人省可闲愁绪,足食丰衣无所虑,何况俺爷贵胄都时誉。”", 
    "example": "无", 
    "explanation": "丰衣足食。形容生活富裕。", 
    "pinyin": "zú shí fēng yī", 
    "word": "足食丰衣", "abbreviation": 
    "zsfy"
}

歇后语例子:

   {
        "riddle": "正月十五云遮月",
        "answer": "不露脸"
    },
    {
        "riddle": "正月十五贴门神",
        "answer": "晚了半月"
    },
    {
        "riddle": "正月十五贴春联",
        "answer": "晚了半月了"
    },
    {
        "riddle": "正月十五卖元宵",
        "answer": "抱成团"
    },
    {
        "riddle": "正月十五看花灯",
        "answer": "走着瞧"
    },
    {
        "riddle": "正月十五赶庙会",
        "answer": "随大流"
    }

我把这份数据放到了Elasticsearch里,并且通过ES的Python接口elasticsearch-py提供后端检索服务,现在可以通过AINLP公众号对话接口检索了,感兴趣的同学可以一试,包括:

汉字检索:

词语检索:

成语检索:

歇后语检索:

感兴趣的同学可以关注AINLP公众号,直接公众号对话测试,更多功能可以参考:
一个有趣有AI的NLP公众号

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

本文链接地址:推荐一份中文数据,再试试汉字、词语、成语、歇后语在线检索 /?p=12087

AINLP公众号对话接口新增成语接龙

成语接龙很有意思,原本计划找一些成语语料自己做一个,不过Google一圈后发现Github上有一个现成的项目:

Github链接:https://github.com/WangYihang/IdiomsSolitaire

这个项目自带2万多条成语数据,用法也很简单:

API Usage

>>> import IdiomsSolitaire
>>> IdiomsSolitaire.init()
>>> print IdiomsSolitaire.guess("一心一意")

Script Usage

# Install it first
pip install -r requirements.txt
# Use it in your termianl
$ python IdiomsSolitaire.py
Usage : 
        python IdiomsSolitaire.py [Idioms]
Example : 
        python IdiomsSolitaire.py '一心一意'
Author : 
        WangYihang <wangyihanger@gmail.com>
$ python IdiomsSolitaire.py '一心一意'
[+] Init finished! [23594] words.
[一语破的] : [一句话就击中要害。的,箭靶的中心,比喻要害之处。]
$ python IdiomsSolitaire.py '一心一意'
[+] Init finished! [23594] words.
[一至於此] : [竟到如此地步。]

所以很快把这个接口接入了AINLP的对话功能中,感兴趣的同学可以关注AINLP公众号直接测试:

也可以直接尝试语音输入,不过个别地方识别确实有点歪打正着:

最后,欢迎关注我们的公众号AINLP,可以对对联,自动作诗,查询相似词,玩词语加减游戏等:

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

本文链接地址:AINLP公众号对话接口新增成语接龙 /?p=12067

欢迎关注AINLP:一个有趣有AI的NLP公众号

我们的公众号AINLP,致力于做一个有趣有AI的NLP公众号,作者是我爱自然语言处理博客博主,NLPJob、课程图谱网站"保姆",曾在腾讯从事文本挖掘相关工作。AINLP 关注自然语言处理、机器学习、深度学习相关技术,关注人工智能、文本挖掘相关算法研发职位,关注MOOC相关课程和公开课。公众号直接对话双语聊天机器人、调戏夸夸机器人、尝试自动对联、作诗机,使用中英机器翻译,查询相似词,计算相似度,玩词语加减游戏,测试NLP相关工具包,欢迎来聊,欢迎关注。

以下是一些文章和资源的相关索引:

自动对联及作诗机

自动对联活动获奖结果以及机器对联赏析

腾讯词向量和相似词、相似度、词语游戏系列
相似词查询:玩转腾讯 AI Lab 中文词向量

腾讯词向量实战:通过Annoy进行索引和快速查询

词向量游戏:梅西-阿根廷+葡萄牙=?

NLP相关工具及在线测试(公众号对话测试)

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

中文分词工具评估:chinese-segmentation-evaluation

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

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

AINLP公众号新增SnowNLP情感分析模块

聊天机器人相关

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

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

如何学习NLP和NLP相关资源
如何学习自然语言处理:一本书和一门课

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

李纪为博士:初入NLP领域的一些小建议
老宋同学的学习建议和论文:听说你急缺论文大礼包?

NLP研究入门之道:自然语言处理简介

NLP研究入门之道:如何通过文献掌握学术动态

NLP研究入门之道:本科生如何开始科研训练

NLP is hard! 自然语言处理太难了系列

BERT相关文章

张俊林博士系列解读:
放弃幻想,全面拥抱Transformer:自然语言处理三大特征抽取器(CNN/RNN/TF)比较

从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史

效果惊人的GPT 2.0模型:它告诉了我们什么

高开远同学系列:
BERT源码分析PART I

BERT源码分析PART III

站在BERT肩膀上的NLP新秀们(PART II)

Nvidia League Player:来呀比到天荒地老

老宋的茶书会系列:

Bert 改进: 如何融入知识

张贵发同学系列:

最新语言表示方法XLNet

艾力亚尔同学的文章:

NLP - BERT/ERNIE 文本分类和部署

SunYanCN同学的文章:

简单高效的Bert中文文本分类模型开发和部署

其他相关:

谷歌BERT模型深度解析

【Github】BERT-train2deploy:BERT模型从训练到部署

资源关键字
AINLP聊天机器人除了日常搭讪外,还负责回复用户的日常查询,所以为一些关注度比较高的文章和NLP资源做了关键字和索引,分散在以前的一些文章介绍里,这里再统一贴出来:

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

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

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

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

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

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

7、回复"aic" 获取:
博客版本持续更新,欢迎提供线索:/?p=10998

8、回复"bert" 获取:
博客版本持续更新:/?p=10870

9、回复"HMM" 获取:HMM学习最佳范例全文PDF
HMM学习最佳范例全文PDF文档及相关文章索引

10、回复"Hinton" 获取:面向机器学习的神经网络公开课视频及课件
Geoffrey Hinton 大神面向机器学习的神经网络公开课及相关视频资料

11、回复"NLTK" 获取: NLTK相关资料
Python自然语言处理工具NLTK学习导引及相关资料

12、回复"youhua"获取:优化相关资料
凸优化及无约束最优化相关资料

13、回复"xiandai"获取:线性代数相关资料
那些值得推荐和收藏的线性代数学习资源

14、回复"cs224n"获取:深度学习自然语言处理课程最新视频:
2019斯坦福CS224n深度学习自然语言处理课程视频和相关资料分享
斯坦福大学深度学习自然语言处理课程CS224N 2019 全20个视频分享

15、回复"kuakua"获取:夸夸语料库(500条)
为了夸夸聊天机器人,爬了一份夸夸语料库

16、回复"fenci"获取:中文分词相关资源
中文分词文章索引和分词数据资源分享

17、回复”tongjixuexi”获取:李航老师统计学习方法第一版PPT(清华大学深圳研究生院袁春老师精心制作)

18、回复"nmt"获取:Philipp Koehn大神的神经网络机器翻译学习资料:NMT Book

另外我们建立了几个微信群,围绕招聘、求职、技术、竞赛交流相关主题,感兴趣的同学可以添加微信AINLP2或者扫描以下二维码,注明关键字,拉你入群: