seaboat的专栏——a free boat on the sea.

思想自由,技术自由

排序:
默认
按更新时间
按访问量

我的2017年文章汇总——自然语言处理篇

近期准备把过去一年写的文章按照分类重新整理推送一遍,包括:“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核”。 本篇推送nlp相关文章。 基于典型相关分析的词向量 来自麻省理工的信息抽取 如何用机器学习对文本分类...

2018-01-14 11:41:30

阅读数:1214

评论数:0

如何用TensorFlow训练聊天机器人(附github)

前言实际工程中很少有直接用深度学习实现端对端的聊天机器人,但这里我们来看看怎么用深度学习的seq2seq模型来实现一个简易的聊天机器人。这篇文章将尝试使用TensorFlow来训练一个基于seq2seq的聊天机器人,实现根据语料库的训练让机器人回答问题。seq2seq关于seq2seq的机制原理可...

2017-09-28 08:59:15

阅读数:14326

评论数:14

谈谈谷歌word2vec的原理

word2vec在NLP领域中,为了能表示人类的语言符号,一般会把这些符号转成一种数学向量形式以方便处理,我们把语言单词嵌入到向量空间中就叫词嵌入(word embedding)。谷歌开源的word2vec则是这么一种词嵌入工具,它能生成词向量,通过词向量可以很好地度量词与词之间的相似性。word...

2017-08-10 20:14:41

阅读数:3949

评论数:0

一图简看基于搜索的问答机器人设计

前言 对于 chatbot,现在学界更流行的实现方式是基于深度学习和强化学习,比如seq2seq模型,具体可参考前面的文章《深度学习的seq2seq模型》。 而对于工业界,直接用 seq2seq 模型来实现端对端的还是几乎没有的,但在很多模块的处理也开始引入深度学习,除此之外也会尝试使用强化学...

2018-05-22 08:48:05

阅读数:212

评论数:0

双向循环神经网络+条件随机场进行分词

前言 目前 NLP 领域的很多任务基本都会朝深度学习、注意力模型、半监督等方向发展,而且确实也取得了更好的效果,而有些也会把深度学习和传统机器学习结合起来,都能有不错的性能提升。这里讲一个用深度学习和机器学习结合来做分词。 关于分词 分词就是将一句话按照最合理的单词分开,英语一般就没有这...

2018-05-16 08:25:48

阅读数:104

评论数:0

条件随机场实现命名实体识别

前言 NLP 被很多人称为人工智能皇冠上的明珠,可见其在 AI 领域的重要性,而命名实体识别(NER)又一直是 NLP 领域的研究热点,所以这块任务是 NLP 必谈的。 NER 早期的实现主要是基于词典和规则,然后是基于传统的机器学习,比如 HMM、MEMM 和 CRF。随后深度学习崛起则很多...

2018-04-12 08:39:16

阅读数:265

评论数:0

卷积神经网络文本分类

前言 卷积神经网络(CNN)在图像处理领域取得了很大的成绩,它的卷积和池化结构能很好提取图像的信息,而在 NLP 领域循环神经网络(RNN)则使用的更多,RNN 及其各种变种因拥有记忆功能使得它们更擅长处理上下文。但 NLP 领域很多方面使用 CNN 取得了出色的效果,比如语义分析、查询检索、文...

2018-03-24 10:14:23

阅读数:1416

评论数:0

文本分析——分配单词权重

前言 文本处理中很多时候会需要给每个单词分配权重,有了权重以便后续进一步处理。常用的算法主要是TF-IDF。 TF TF,即Term Frequency。我们可以将文档看成由若干词(term)组成,那么文档中某个term出现的频率就是TF。词频和词权重存在关系,可以用来作为词权重的衡量因...

2018-03-13 08:50:27

阅读数:330

评论数:0

基于典型相关分析的词向量

本文首发于雷锋网 前言 在NLP领域中,为了能表示人类的语言符号,一般会把这些符号转成一种数学向量形式以方便处理,我们把语言单词嵌入到向量空间中就叫词嵌入(word embedding)。 比如有比较流行的谷歌开源的 word2vec ,它能生成词向量,通过该词向量在一定程度上还可以用来...

2018-01-09 16:49:10

阅读数:1101

评论数:0

中文文本相似度的研究有什么用

前言人与计算机的交互过程中,如果能提供人类的自然语言形式来进行交流,那人与计算机就能更加亲密友好。而要实现这一机制就需要自然语言处理来处理,一般来说自然语言处理会涉及几个学科:计算机科学、语言学、统计学和数学等。不同语言的自然语言处理也存在差别,对于中文来说,很多时候都无法直接套用英语自然语言处理...

2017-12-15 16:51:05

阅读数:1822

评论数:0

n元语法

语言模型在统计自然语言处理中语言模型是很重要的一块,常用的语言模型是n元语法模型,当然现在比较流行的还有神经网络语言模型。n元语法模型需要额外的平滑处理,而神经网络语言模型则不必,它自带平滑效果。n元语法n元语法(n-gram)是NLP中很重要的统计语言模型,简单来说就是计算某个句子出现的概率,比...

2017-11-28 09:16:21

阅读数:967

评论数:0

机器学习之条件随机场(CRF)

什么是CRFCRF即条件随机场(Conditional Random Fields),是在给定一组输入随机变量条件下另外一组输出随机变量的条件概率分布模型,它是一种判别式的概率无向图模型,既然是判别式,那就是对条件概率分布建模。CRF较多用在自然语言处理和图像处理领域,在NLP中,它是用于标注和划...

2017-11-09 14:46:13

阅读数:1584

评论数:0

来自麻省理工的信息抽取

MITIEMITIE 即 MIT 的 NLP 团队发布的一个信息抽取库和工具。它是一款免费且先进的信息抽取工具,目前包含了命名实体抽取、二元关系检测功能,另外也提供了训练自定义抽取器和关系检测器的工具。MITIE 是核心代码是使用 C++ 写的,建立在高性能的机器学习库 dlib 上。MIT 团队...

2017-11-02 08:51:50

阅读数:2515

评论数:0

如何使用中文维基百科语料

前言在做自然语言处理时很多时候都会需要中文语料库,高质量的中文语料库较难找,维基百科和百度百科算是比较不错的语料库。其中维基百科会定时将语料库打包发布 https://dumps.wikimedia.org/zhwiki/ ,可以下载最新版本的语料库。而百度百科则需要自己去爬,不过也有人把爬好的语...

2017-10-26 08:54:16

阅读数:2557

评论数:2

深度学习的Attention模型

前言前面看到谷歌发表的运用在机器翻译上的论文《Attention is all you need》,很是让人惊讶,这是一种全新的模型,与之前的经典的seq2seq模型改动较大,它完全摒弃了RNN或CNN神经网络,大大简化了模型的复杂度,而且效果还相当好。当然Attention模型可以单独使用,但这...

2017-10-12 09:16:13

阅读数:3345

评论数:1

隐马尔可夫模型的Viterbi解码算法

前言前面在做自然语言处理时涉及到一些词性标注的工作,一般会使用隐马尔科夫模型(HMM)来实现词性标注,而HMM模型的解码实现算法一般就会使用Viterbi算法。关于穷举法HMM模型有多种应用,这里说的是其中一个常见应用,即根据观察序列找到最可能的隐含状态序列。最朴素的想法就是直接穷举所有可能的隐含...

2017-09-21 08:42:04

阅读数:1221

评论数:0

深度学习的seq2seq模型

从rnn结构说起根据输出和输入序列不同数量rnn可以有多种不同的结构,不同结构自然就有不同的引用场合。如下图, one to one 结构,仅仅只是简单的给一个输入得到一个输出,此处并未体现序列的特征,例如图像分类场景。 one to many 结构,给一个输入得到一系列输出,这种结构可用于生产图...

2017-09-07 16:21:22

阅读数:3751

评论数:0

TensorFlow构建循环神经网络

前言前面在《循环神经网络》文章中已经介绍了深度学习的循环神经网络模型及其原理,接下去这篇文章将尝试使用TensorFlow来实现一个循环神经网络,该例子能通过训练给定的语料生成模型并实现对字符的预测。这里选择使用最原始的循环神经网络RNN模型。语料库的准备这里就简单用纪伯伦的《On Friends...

2017-08-29 16:06:04

阅读数:1555

评论数:0

如何用TensorFlow训练词向量

前言前面在《谈谈谷歌word2vec的原理》文章中已经把word2vec的来龙去脉说得很清楚了,接下去这篇文章将尝试根据word2vec的原理并使用TensorFlow来训练词向量,这里选择使用skip-gram模型。语料库的准备这里仅仅收集了网上关于房产新闻的文章,并且将全部文章拼凑到一起形成一...

2017-08-24 15:21:57

阅读数:4003

评论数:1

GRU神经网络

前面已经详细讲了LSTM神经网络(文末有链接回去),接着往下讲讲LSTM的一个很流行的变体。GRU是什么GRU即Gated Recurrent Unit。前面说到为了克服RNN无法很好处理远距离依赖而提出了LSTM,而GRU则是LSTM的一个变体,当然LSTM还有有很多其他的变体。GRU保持了LS...

2017-08-17 15:19:48

阅读数:21551

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭