
自然语言处理
文章平均质量分 89
Michael_Shentu
感兴趣方向:分布式计算与存储,广告计算学,分布式数据挖掘与机器学习,Hadoop,Spark,HBase
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
n-gram 模型
N-Gram是大词汇连续语音识别中常用的一种语言模型,对中文而言,我们称之为汉语语言模型(CLM, Chinese Language Model)。汉语语言模型利用上下文中相邻词间的搭配信息,在需要把连续无空格的拼音、笔划,或代表字母或笔划的数字,转换成汉字串(即句子)时,可以计算出具有最大概率的句子,从而实现到汉字的自动转换,无需用户手动选择,避开了许多汉字对应一个相同的拼音(或笔划串,或数字串原创 2015-10-26 18:35:28 · 563 阅读 · 0 评论 -
CRF的模型参数学习问题
当一个CRF条件随机场模型参数确定后,基于CRF进行状态序列预测问题,比如给定中文语句观测序列,来预测整个中文语句当中每个词的词性,实质问题就是预测每个句子的隐含词性状态问题,在相关条件转移矩阵等模型参数给定的条件下,利用维特比算法,就能预测出概率最大的隐含状态,从而实现词性识别,本文主要是讨论CRF 的另一个问题,条件随机场的模型参数学习问题。参考了两篇博客以及书中关于条件随机场的相关概念介绍,原创 2018-02-05 17:35:53 · 2992 阅读 · 0 评论 -
CRF的概率预测问题, 结合词性标注场景应用
看过中的有关条件随机场CRF的公式推导说明,确实看到有点云里雾里,感觉有点点抽象,有些点光看公司也一时无法想明白原理,因此借鉴了国外的一片有关CRF的介绍性说明,结合词性标注场景应用,通过对线性条件随机场的特征函数推导,一下子明白了许多,同时放上两个中文翻译的博客链接,一定程度上也帮助我理解CRF与词性标注的应用介绍:国外论文: http://blog.echen.me/2012/01/03/原创 2018-02-02 11:38:55 · 1267 阅读 · 0 评论 -
维特比算法的通俗案例解释
维特比算法本质上就是一个动态规划DP算法,在知乎上看到了关于一个解释维特比算法的解释https://www.zhihu.com/question/20136144, 因此在此特意在转载下,并加入一些个人对于结合实际案例场景下的算法理解说明:1.题目背景:从前有个村儿,村里的人的身体情况只有两种可能:健康或者发烧。假设这个村儿的人没有体温计或者百度这种神奇东西,他唯一判断他身体情原创 2018-02-01 17:40:07 · 8167 阅读 · 0 评论 -
基于一阶 HMM 标注序列算法的分词算法解析
之前看到的有关python写的一篇 基于 一阶HMM 序列标注算法的分词代码,主要是基于B M E S序列状态和维特比算法,对当前的句子进行序列标注,然后基于标注序列进行中文分词,这也是目前主流的分词算法,因此结合代码,进行HMM 分词算法的详细分析,加深序列标注算法的理解,为后面的CRF + LSTM算法进行中文分词打下基础隐马尔科夫模型(HMM)模型介绍HMM模原创 2017-01-19 16:42:54 · 1737 阅读 · 0 评论 -
Hanlp中基于2阶HMM 序列标注算法进行分词的代码解析
/** * 让模型观测一个句子 * @param wordList */ public void learn(List wordList) { LinkedList sentence = new LinkedList(); for (IWord iWord : wordList) {原创 2017-01-19 15:21:19 · 1416 阅读 · 0 评论 -
MDL最小描述长度在分词研究中的应用
MDL(minimum description length,最小描述长度) 原理是 Rissane 在研究通用编码时提出的。其基本原理是对于一组给定的实例数据 D , 如果要对其进行保存 ,为了节省存储空间, 一般采用某种模型对其进行编码压缩,然后再保存压缩后的数据。同时, 为了以后正确恢复这些实例数据,将所用的模型也保存起来。所以需要保存的数据长度( 比特数) 等于这些实例数据进行编码压缩后的原创 2016-05-26 23:06:02 · 2928 阅读 · 0 评论 -
CRF分词的java实现
与基于隐马尔可夫模型的最短路径分词、N-最短路径分词相比,基于条件随机场(CRF)的分词对未登录词有更好的支持。本文(HanLP)使用纯Java实现CRF模型的读取与维特比后向解码,内部特征函数采用 双数组Trie树(DoubleArrayTrie)储存,得到了一个高性能的中文分词器。开源项目本文代码已集成到HanLP中开源:http://www.hankcs.com/nlp/ha转载 2016-05-26 23:01:17 · 1758 阅读 · 0 评论 -
HMM模型在中文分词中的应用
模型介绍第一次听说HMM模型是从李开复的博文论文中听说的:李开复1988年的博士论文发表了第一个基于隐马尔科夫模型(HMM)的语音识别系统Sphinx,被《商业周刊》评为1988年美国最重要的科技发明。出处请见KaifuLeeHMM乍一听似乎很玄妙,但是其实很简单。下面是相关参数介绍,也是第一眼觉得很抽象,但是慢慢看下去随着具体含义的解释就渐渐清晰。HMM(Hidden原创 2016-05-26 22:56:34 · 4561 阅读 · 1 评论 -
jieba分词源码解读四
在上一节中我们考察了结巴分词对于未登录词的分词方法,它使用了HMM模型和用来解码HMM的维特比算法。较之基于语料库打分的初步分词结果,例句:'乔治马丁写冰与火之歌拖了好久'分词情况变成了这样:'乔治/马丁/写冰/与/火之歌/拖/了/好久'比原来有改进,但改进幅度可以忽略不计。。。下一步我们就要调试代码了,目前可以知道程序会把连续的单个的字收集起来组成原创 2016-05-26 22:52:05 · 697 阅读 · 0 评论 -
jieba分词源码解读二
上一篇文章说到结巴分词用了包装器实现了在 get_DAG 函数执行器生成了 trie 树。在这篇文章中我们要研究一下jieba分词中的 DAG(有向无环图,全称:directed acyclic graphs )。在 cut 函数使用正则表达式把文本切分成一个一个短语和句子后,再用 __cut_DAG 函数对其进行分词。这些句子和短语就是 所谓的 sentence。每一个sentence都原创 2016-05-26 22:50:26 · 1437 阅读 · 1 评论 -
jieba分词源码解读一
从github上下载源代码后,打开 文件夹 jieba,找到__init__.py,结巴分词最主要的函数 cut 就定义在这个文件中。这个函数的前半部分主要是根据用户指定的模式 用 正则表达式 将输入的文本 分块(block)。然后针对每一块进行分词,默认情况(精确模式)下使用的 块的分词函数叫 __cut_DAG 。__cut_DAG 函数调用了 get_DAG(sentence原创 2016-05-26 22:49:36 · 1628 阅读 · 0 评论 -
中文分词整理
背景存在中文分词技术,是由于中文在基本文法上有其特殊性,具体表现在:1.以英文为代表的拉丁语系语言相比,英文以空格作为天然的分隔符,而中文由于继承自古代汉语的传统,词语之间没有分隔。 古代汉语中除了连绵词和人名地名等,词通常就是单个汉字,所以当时没有分词书写的必要。而现代汉语中双字或多字词居多,一个字不再等同于一个词。2.在中文里,“词”和“词组”边界模糊现代汉语的原创 2015-09-23 16:48:56 · 4144 阅读 · 0 评论 -
Tensorflow中的seq2seq 应用
转载了另一篇博客文章: http://blog.youkuaiyun.com/wuzqchom/article/details/76651479, 而有关TensorFlow中 seq2seq的源码解析可以参考: https://zhuanlan.zhihu.com/p/27769667首先大致说下seq2seq, encoder-decoder, attention 之间的关系:seq2seq 指的是序列到...转载 2018-03-02 15:27:07 · 1810 阅读 · 0 评论