![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动手做聊天机器人
jiangjingxuan
这个作者很懒,什么都没留下…
展开
-
五、自然语言处理中的文本分类
文本分类是机器学习在自然语言处理中的最常用也是最基础的应用,机器学习相关内容可以直接看我的有关scikit-learn相关教程,本节直接涉及nltk中的机器学习相关内容请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址先来一段前戏机器学习的过程是训练模型和使用模型的过程,训练就是基于已知数据做统计学习,使用就是用统计学习好的模型来计算未知的数据。机器转载 2017-01-25 12:04:43 · 5797 阅读 · 0 评论 -
二十一、比TF-IDF更好的隐含语义索引模型是个什么鬼
我曾经的一篇文章曾说到0字节存储海量语料资源,那么从海量语料资源中找寻信息需要依赖于信息检索的方法,信息检索无论是谷歌还是百度都离不开TF-IDF算法,但TF-IDF是万能的吗?并不是,它简单有效但缺乏语义特征,本节介绍比TF-IDF还牛逼的含有语义特征的信息检索方法请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址TF-IDFTF(term frequ转载 2017-01-25 13:51:59 · 1314 阅读 · 0 评论 -
二十三、用CNN做深度学习
自动问答系统中深度学习的应用较多是RNN,这归因于它天然利用时序建模。俗话说知己知彼百战不殆,为了理解RNN,我们先来了解一下CNN,通过手写数字识别案例来感受一下CNN最擅长的局部感知能力请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址卷积神经网络(CNN)卷积神经网络(Convolutional Neural Network,CNN)是将二维离散卷转载 2017-01-25 13:53:04 · 580 阅读 · 0 评论 -
二十四、将深度学习应用到NLP
由于语言相比于语音、图像来说,是一种更高层的抽象,因此不是那么适合于深度学习,但是经过人类不断探索,也发现无论多么高层的抽象总是能通过更多底层基础的累积而碰触的到,本文介绍如何将深度学习应用到NLP所必须的底层基础请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址词向量自然语言需要数学化才能够被计算机认识和计算。数学化的方法有很多,最简单的方法是为每个词转载 2017-01-25 13:53:40 · 451 阅读 · 0 评论 -
二十二、神奇算法之人工神经网络
深度学习是机器学习中较为流行的一种,而深度学习的基础是人工神经网络,那么人工神经网络的功能是不是像它的名字一样神奇呢?答案是肯定的,让我们一起见证一下这一神奇算法请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址人工神经网络人工神经网络是借鉴了生物神经网络的工作原理形成的一种数学模型,有关人工神经网络的原理、公式推导以及训练过程请见我的文章《机器学习教程转载 2017-01-25 13:52:29 · 553 阅读 · 0 评论 -
二十五、google的文本挖掘深度学习工具word2vec的实现原理
词向量是将深度学习应用到NLP的根基,word2vec是如今使用最广泛最简单有效的词向量训练工具,那么它的实现原理是怎样的呢?本文将从原理出发来介绍word2vec请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址你是如何记住一款车的问你这样一个问题:如果你大脑有很多记忆单元,让你记住一款白色奥迪Q7运动型轿车,你会用几个记忆单元?你也许会用一个记忆单元转载 2017-01-25 13:54:52 · 2907 阅读 · 0 评论 -
二十六、图解递归神经网络(RNN)
聊天机器人是需要智能的,而如果他记不住任何信息,就谈不上智能,递归神经网络是一种可以存储记忆的神经网络,LSTM是递归神经网络的一种,在NLP领域应用效果不错,本节我们来介绍RNN和LSTM请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址递归神经网络递归神经网络(RNN)是两种人工神经网络的总称。一种是时间递归神经网络(recurrent neural转载 2017-01-25 13:55:21 · 6605 阅读 · 0 评论 -
二十七、用深度学习来做自动问答的一般方法
聊天机器人本质上是一个范问答系统,既然是问答系统就离不开候选答案的选择,利用深度学习的方法可以帮助我们找到最佳的答案,本节我们来讲述一下用深度学习来做自动问答的一般方法请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址语料库的获取方法对于一个范问答系统,一般我们从互联网上收集语料信息,比如百度、谷歌等,用这些结果构建问答对组成的语料库。然后把这些语料库分转载 2017-01-25 13:55:48 · 2728 阅读 · 0 评论 -
二十九、重磅:近1GB的三千万聊天语料供出
经过半个月的倾力打造,建设好的聊天语料库包含三千多万条简体中文高质量聊天语料,近1G的纯文本数据。此语料库全部基于2万部影视剧字幕,经由爬取、分类、解压、语言识别、编码识别、编码转换、过滤清洗等一系列繁琐过程。把整个建设过程分享出来供大家玩耍。请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址注意:本文提到的程序和脚本都分享在https://github.c转载 2017-01-25 13:56:55 · 2063 阅读 · 3 评论 -
三十、第一版聊天机器人诞生——吃了字幕长大的小二兔
在上一节中我分享了建设好的影视剧字幕聊天语料库,本节基于这个语料库开发我们的聊天机器人,因为是第一版,所以机器人的思绪还有点小乱,答非所问、驴唇不对马嘴得比较搞笑,大家凑合玩请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址第一版思路首先要考虑到我的影视剧字幕聊天语料库特点,它是把影视剧里面的说话内容一句一句以回车换行罗列的三千多万条中国话,那么相邻的第转载 2017-01-25 13:57:41 · 904 阅读 · 1 评论 -
三十一、如何把网站流量导向小二兔机器人
自小二兔机器人上线5天以来,接受了来自100多位客官的激情调戏,虽然答非所问驴唇不对马嘴情况经常有,但是我家小二兔的话还是滔滔不绝的,不管你问什么,它总有要说的话,那么对于shareditor这种日均数千流量的网站来说小二兔还想接受更多的调戏,怎么办,我开始导流啦请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址小二兔漏两招为了先给各位客官热热身,我们找转载 2017-01-25 13:58:24 · 542 阅读 · 0 评论 -
三十二、用三千万影视剧字幕语料库生成词向量
利用搜索引擎的原理实现的聊天机器人效果差强人意,为了对庞大的语料库进一步运用,打算利用LSTM-RNN来做训练,第一步需要把中文语料转成算法可以识别的向量形式,最强大的word embedding工具莫过于word2vec了,本节跟大家分享我是怎么用三千万影视剧字幕语料库生成词向量的请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址对语料库切词因为wor转载 2017-01-25 13:59:04 · 2248 阅读 · 0 评论 -
三十三、两套代码详解LSTM-RNN——有记忆的神经网络
不管是什么样的神经网络算法,总能找到各种语言的库帮助你实现你的需求,但是我们总是看不清那个黑盒子里到底是怎样的一种存在,如果想真正掌握一种算法,最实际的方法就是完全手写出来,本节我就通过两套LSTM的简单实现来分享掌握LSTM的快乐请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址掌握LSTM有什么用在读代码之前我们要先知道我们读这段代码的意义是什么。L转载 2017-01-25 13:59:39 · 12565 阅读 · 9 评论 -
三十四、最快的深度学习框架torch
上节介绍了lstm的简单实现,为了能进一步应用到中文自动问答,我们需要了解一些开源的实现,考虑到基于torch实现的lstm应用较多,我们来熟悉一下torch请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址torch是什么torch就是诸多深度学习框架中的一种业界有几大深度学习框架:1)tensorflow,谷歌主推,时下最火,小型试验和大型计算都转载 2017-01-25 14:00:14 · 1310 阅读 · 0 评论 -
三十八、原来聊天机器人是这么做出来的
tensorflow自带的seq2seq模型基于one-hot的词嵌入,每个词用一个数字代替不足以表示词与词之间的关系,word2vec通过多维向量来做词嵌入,能够表示出词之间的关系,比如:男-女≈王子-公主。基于seq2seq的思想,利用多维词向量来实现模型,预期会有更高的准确性。请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址seq2seq模型原理转载 2017-01-25 14:02:13 · 5946 阅读 · 0 评论 -
三十七、一张图了解tensorflow中的线性回归工作原理
用梯度下降求解线性回归问题是tensorflow最简单的入门例子(10行关键代码),本节结合上一节讲到的tensorflow中的graph来更加形象地了解tensorflow中的线性回归工作原理请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址10行关键代码实现的线性回归# -*- coding: utf-8 -*-import numpy as n转载 2017-01-25 14:01:42 · 814 阅读 · 0 评论 -
三十六、深入理解tensorflow的session和graph
tensorflow作为一个基于图结构的深度学习框架,内部通过session实现图和计算内核的交互,那么这个图是什么样的结构,session的工作原理又是什么样的呢?我们通过几段代码来深入理解一下请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址tensorflow中的基本数学运算用法import tensorflow as tfsess = tf.转载 2017-01-25 14:01:07 · 13186 阅读 · 0 评论 -
二十、语义角色标注的基本方法
浅层语义标注是行之有效的语言分析方法,基于语义角色的浅层分析方法可以描述句子中语义角色之间的关系,是语义分析的重要方法,也是篇章分析的基础,本节介绍基于机器学习的语义角色标注方法请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址语义角色举个栗子:“我昨天吃了一块肉”,按照常规理解“我吃肉”应该是句子的核心,但是对于机器来说“我吃肉”实际上已经丢失了非常多转载 2017-01-25 13:51:05 · 7100 阅读 · 0 评论 -
十九、机器人是怎么理解“日后再说”的
日后再说这个成语到了当代可以说含义十分深刻,你懂的,但是如何让计算机懂得可能有两种含义的一个词到底是想表达哪个含义呢?这在自然语言处理中叫做词义消歧,从本节开始我们从基本的结构分析跨入语义分析,开始让计算机对语言做深层次的理解请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址词义消歧词义消歧是句子和篇章语义理解的基础,是必须解决的问题。任何一种语言都有大转载 2017-01-25 13:50:32 · 723 阅读 · 0 评论 -
四、何须动手?完全自动化对语料做词性标注
全人工对语料做词性标注就像蚂蚁一样忙忙碌碌,是非常耗费声明的,如果有一个机器能够完全自动化地,给它一篇语料,它迅速给你一片标注,这样才甚好,本节就来讨论一下怎么样能无需动手对语料做自动化的词性标注请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址先插入个tips:英文词干提取器>>> import nltk>>> porter = nltk.Por转载 2017-01-25 12:04:11 · 4564 阅读 · 0 评论 -
三、语料与词汇资源
当代自然语言处理都是基于统计的,统计自然需要很多样本,因此语料和词汇资源是必不可少的,本节介绍语料和词汇资源的重要性和获取方式请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址NLTK语料库NLTK包含多种语料库,举一个例子:Gutenberg语料库,执行:nltk.corpus.gutenberg.fileids()返回Gutenberg语料库转载 2017-01-25 12:03:41 · 1874 阅读 · 0 评论 -
二、初识NLTK库
NLTK是一个比较优秀的自然语言处理工具包,是我们聊天机器人需要的比较重要的一个工具,本节介绍它的安装和基本使用请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址NLTK库安装pip install nltk执行python并下载书籍:[root@centos #] pythonPython 2.7.11 (default, Jan 22 20转载 2017-01-25 12:03:15 · 7138 阅读 · 0 评论 -
一、涉及知识
人工智能一直以来是人类的梦想,造一台可以为你做一切事情并且有情感的机器人,像哆啦A梦一样,现在这已经不是一个梦了:iPhone里会说话的siri、会下棋的阿法狗、小度机器人、大白......,他们都能够具有智能,和人类交互,帮人类解决问题,这听起来非常神奇,实际上我们自己也可以做一个这样的机器人,从今天开始分享我将我学习和制作的过程智能机器人可以做到的事情可以很复杂:文字、语音、视频识别与合成转载 2017-01-25 12:02:27 · 725 阅读 · 0 评论 -
六、教你怎么从一句话里提取出十句话的信息
按照之前理解的内容,对一句话做处理,最多是切成一个一个的词,再标注上词性,仅此而已,然而事实并非如此,一句话还可以做更多的文章,我们本节见分晓请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址什么?还能结构化?任何语言的每一句话之所以称为“话”,是因为它有一定的句子结构,除了一个个独立的词之外,他们之间还存在着某种关系。如果任何一句话可以由任何词构成,可转载 2017-01-25 12:05:36 · 1800 阅读 · 0 评论 -
七、文法分析还是基于特征好啊
语法分析固然重要,但要想覆盖语言的全部,需要进一步扩展到文法分析,文法分析可以基于规则,但是工作量难以想象,基于特征的文法分析不但可穷举,而且可以方便用计算机存储和计算,本节简单做一个介绍,更深层次的内容还需要继续关注后面的系列文章请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址语法和文法还记得上一节中的这个吗?(S (NP 小明)转载 2017-01-25 12:06:05 · 860 阅读 · 0 评论 -
八、重温自然语言处理
别误会,前面几节不是逗你玩,我总结了,计算机领域的知识得倒着学,不管三七二十一先用起来,然后再系统地学习,这不,前几节先给你们展示了几个常见知识和工具,从这一节开始步入主题,自然语言处理与问答系统请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址自然语言处理怎么学?先学会倒着学,倒回去看上面那句话:不管三七二十一先用起来,然后再系统地学习nltk是最转载 2017-01-25 12:06:31 · 541 阅读 · 0 评论 -
九、聊天机器人应该怎么做
聊天机器人到底该怎么做呢?我日思夜想,于是乎我做了一个梦,梦里面我完成了我的聊天机器人,它叫chatbot,经过我的一番盘问,它向我叙述了它的诞生记请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址聊天机器人是可行的我:chatbot,你好!chatbot:你也好!我:聊天机器人可行吗?chatbot:你不要怀疑这是天方夜谭,我不就在这里吗?转载 2017-01-25 12:07:00 · 848 阅读 · 0 评论 -
十、半个小时搞定词性标注与关键词提取
想要做到和人聊天,首先得先读懂对方在说什么,所以问句解析是整个聊天过程的第一步,问句解析是一个涉及知识非常全面的过程,几乎涵盖了自然语言处理的全部,本节让我们尝试一下如何分析一个问句请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址问句解析的过程一般问句解析需要进行分词、词性标注、命名实体识别、关键词提取、句法分析以及查询问句分类等。这些事情我们从头开始转载 2017-01-25 12:07:26 · 6135 阅读 · 1 评论 -
十一、0字节存储海量语料资源
基于语料做机器学习需要海量数据支撑,如何能不存一点数据获取海量数据呢?我们可以以互联网为强大的数据后盾,搜索引擎为我们提供了高效的数据获取来源,结构化的搜索结果展示为我们实现了天然的特征基础,唯一需要我们做的就是在海量结果中选出我们需要的数据,本节我们来探索如何利用互联网拿到我们所需的语料资源请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址关键词提取互转载 2017-01-25 12:08:00 · 793 阅读 · 0 评论 -
十二、教你如何利用强大的中文语言技术平台做依存句法和语义依存分析
句法分析是自然语言处理中非常重要的环节,没有句法分析是无法让计算机理解语言的含义的,依存句法分析由法国语言学家在1959年提出,影响深远,并且深受计算机行业青睐,依存句法分析也是做聊天机器人需要解决的最关键问题之一,语义依存更是对句子更深层次的分析,当然,有可用的工具我们就不重复造轮子,本节介绍如何利用国内领先的中文语言技术平台实现句法分析请尊重原创,转载请注明来源网站www.sharedit转载 2017-01-25 12:08:38 · 5671 阅读 · 0 评论 -
十三、把语言模型探究到底
无论什么做自然语言处理的工具,都是基于计算机程序实现的,而计算机承担了数学计算的职责,那么自然语言和数学之间的联系就是语言模型,只有理解语言模型才能理解各种工具的实现原理,本节让我们深究语言模型的世界请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址什么是数学模型数学模型是运用数理逻辑方法和数学语言建构的科学或工程模型。说白了,就是用数学的方式来解释事实转载 2017-01-25 12:09:06 · 545 阅读 · 0 评论 -
十四、探究中文分词的艺术
中文是世界语言界的一朵奇葩,它天生把词连在一起,让计算机望而却步,一句#他说的确实在理#让计算机在#的确#、#实在#、#确实#里面挣扎,但是统计自然语言处理却让计算机有了智能请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址中文分词是怎么走到今天的话说上个世纪,中文自动分词还处于初级阶段,每句话都要到汉语词表中查找,有没有这个词?有没有这个词?所以研究集转载 2017-01-25 12:09:45 · 412 阅读 · 0 评论 -
十五、一篇文章读懂拿了图灵奖和诺贝尔奖的概率图模型
概率图模型是概率论和图论的结合,经常见到的贝叶斯网络、马尔可夫模型、最大熵模型、条件随机场都属于概率图模型,这些模型有效的解决了很多实际问题,比如自然语言处理中的词性标注、实体识别等,书里的描述都公式纵横、晦涩难懂,我们不妨试试轻轻松松的来说一说概率图模型请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址首先我们说说什么是图论能点进这篇文章说明你一定是有转载 2017-01-25 12:10:10 · 2685 阅读 · 0 评论 -
十六、大话自然语言处理中的囊中取物
大数据风靡的今天,不从里面挖出点有用的信息都不好意思见人,人工智能号称跨过奇点,统霸世界,从一句话里都识别不出一个命名实体?不会的,让我们大话自然语言处理的囊中取物,看看怎么样能让计算机像人一样看出一句话里哪个像人、哪个像物请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址本篇故事纯属酒后性情大作,如有巧合,纯属雷同话说天下大事,分久必合,合久必分。转载 2017-01-25 12:10:34 · 476 阅读 · 0 评论 -
十七、让机器做词性自动标注的具体方法
分词、命名实体识别和词性标注这三项技术如果达不到很高的水平,是难以建立起高性能的自然语言处理系统,也就难以实现高质量的聊天机器人,而词性是帮助计算机理解语言含义的关键,本节来介绍一些词性标注的具体方法请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址何为词性常说的词性包括:名、动、形、数、量、代、副、介、连、助、叹、拟声。但自然语言处理中要分辨的词性要更转载 2017-01-25 13:49:20 · 1241 阅读 · 0 评论 -
十八、神奇算法之句法分析树的生成
把一句话按照句法逻辑组织成一棵树,由人来做这件事是可行的,但是由机器来实现是不可思议的,然而算法世界就是这么神奇,把一个十分复杂的过程抽象成仅仅几步操作,甚至不足10行代码,就能让机器完成需要耗费人脑几十亿脑细胞的工作,本文我们来见识一下神奇的句法分析树生成算法请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址句法分析先来解释一下句法分析。句法分析分为句转载 2017-01-25 13:49:56 · 10829 阅读 · 0 评论 -
三十五、一个lstm单元让聊天机器人学会甄嬛体
当今比较流行的seq2seq基本都是用lstm组成的编码器解码器模型实现,开源的实现大都基于one-hot的embedding(没有词向量表达的信息量大),因此打算自己实现一个基于word2vec词向量的强大的seq2seq模型,首先实现了只有一个lstm单元的机器人请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址下载《甄嬛传》小说原文上网随便百度一个转载 2017-01-25 14:00:40 · 3468 阅读 · 0 评论