随笔分类 - machine learning
摘要:HanLP 关键词提取算法分析 参考论文:《TextRank: Bringing Order into Texts》 "TextRank算法提取关键词的Java实现" "TextRank算法自动摘要的Java实现" 这篇文章中作者大概解释了一下TextRank公式 1. 论文 TextRank是一个
阅读全文
摘要:最大熵源码解读 先简要介绍一下最大熵,主要的参考资料是: 《自然语言处理的最大熵模型》常宝宝 《统计自然语言处理》第二章 《条件随机场综述》韩雪东 《Classical Probabilistic Models and Conditional Random Fields》 Roman Klinger
阅读全文
摘要:隐马尔可夫模型维特比算法详解 关于隐马尔可夫模型的维特比解码算法网上已有一大批文章介绍,故本文不再介绍。 本文主要是在读《自然语言处理简明教程》和看HanLP 中文人名识别源码过程中,对该算法的一次梳理,以防忘记。 隐马模型有三个问题,其中二个是: 给定HMM模型 $\lambda$ 和一个观察序列
阅读全文
摘要:HanLP中人名识别分析 在看源码之前,先看几遍论文《基于角色标注的中国人名自动识别研究》 关于命名识别的一些问题,可参考下列一些issue: "名字识别的问题 387" "机构名识别错误" "关于层叠HMM中文实体识别的过程" HanLP参考博客: "词性标注" "层叠HMM Viterbi角色标
阅读全文
摘要:HanLP二元核心词典解析 本文分析:HanLP版本1.5.3中二元核心词典的存储与查找。当词典文件没有被缓存时,会从文本文件CoreNatureDictionary.ngram.txt中解析出来存储到TreeMap中,然后构造start和pair数组,并基于这两个数组实现词共现频率的二分查找。当已
阅读全文
摘要:HanLP用户自定义词典源码分析 1. 官方文档及参考链接 关于词典问题Issue,首先参考: "FAQ" 自定义词典其实是基于 规则 的分词,它的用法参考 "这个issue" 如果有些数量词、字母词需要分词,可参考: "P2P和C2C这种词没有分出来,希望加到主词库" 关于词性标注:可参考 "词性
阅读全文
摘要:贝叶斯推断之拉普拉斯近似 本文介绍使用拉普拉斯近似方法来求解贝叶斯后验概率分布。在上一篇文章: "贝叶斯推断之最大后验概率(MAP)" 中介绍了使用点估计法来求解后验概率分布,在文章中定义了后验概率分布公式: $$p(w|t,X)=\frac{p(t|X,w)p(w)}{p(t|X)}$$ 分母$p
阅读全文
摘要:贝叶斯推断之最大后验概率(MAP) 本文详细记录贝叶斯后验概率分布的数学原理,基于贝叶斯后验概率实现一个二分类问题,谈谈我对贝叶斯推断的理解。 1. 二分类问题 给定N个样本的数据集,用$X$来表示,每个样本$x_n$有两个属性,最终属于某个分类$t$ $t=\left\{0,1\right\}$
阅读全文
摘要:1. 问题描述 给你若干篇文档,找出这些文档中最相似的两篇文档? 相似性,可以用距离来衡量。而在数学上,可使用余弦来计算两个向量的距离。 $$cos(\vec a, \vec b)=\frac {\vec a \vec b}{||\vec a|| ||\vec b||}$$ 因此,用向量来表示文档,
阅读全文
摘要:双数组Trie树,其实就是用两个一维数组来表示Trie树这种数据结构。 一个数组称为BASE,另一个数组为CHECK。转移条件如下: 对于状态s,接收字符c,转移到状态t BASE[s]+c=t CHECK[t]=BASE[s] 1. BASE数组保存结点的基地址 2. CHECK数组标识结点的前驱
阅读全文
摘要:在 hankcs 大神开源的HanLP里面提供了很多分词算法,其中有一个维特比算法分词,于是查了一些资料发现:维特比算法用来求解隐马尔可夫模型的第二个问题:给定一个模型和某个特定的输出序列,找到最可能产生这个输出序列的状态序列 参考《数学之美 隐马尔可夫模型 章节》 于是就寻找各种隐马模型的资料,发
阅读全文
摘要:一,问题描述 在Shakespeare文集(有很多文档Document)中,寻找哪个文档包含了单词“Brutus”和"Caesar",且不包含"Calpurnia"。这其实是一个查询操作(Boolean Queries)。 在Unix中有个工具grep,它能线性扫描一篇文档,然后找出某个单词是否在该
阅读全文
摘要:本文介绍朴素贝叶斯算法如何对文本进行分类。比如,每个用户的购物评论就是一篇文本,识别出这篇文本属于正向评论还是负面评论 就是分类的过程,而类别就是:{正面评论,负面评论}。正面评论为Positive,用标识符'+'表示;负面评论为Negative,用标识符'-'表示。 一,分类目标 寻找文本的某些特
阅读全文
摘要:本文介绍 Stanford《From Languages to Information》课程中讲到的 单词拼写错误 纠正。背后的数学原理主要是贝叶斯公式。单词拼写错误纠正主要涉及到两个模型:一个是Nosiy Channel模型,它是贝叶斯公式中的似然函数;另一个模型是Language Model,它
阅读全文
摘要:1,corpus 语料库 a computer-readable collection of text or speech 2,utterance 发音 比如下面一句话:I do uh main- mainly business data processing uh 是 fillers,填充词(Wo
阅读全文
摘要:PCA(Principal Components Analysis),它是一种“投影(projection)技巧”,就是把高维空间上的数据映射到低维空间。比如三维空间的一个球,往坐标轴方向投影,变成了一个圆。球是3维的,圆是2维的。在球变成圆的这个投影过程中,丢失了原来物体(球)的一部分“性质” 圆
阅读全文
摘要:一,感知机模型 1,超平面的定义 令w1,w2,...wn,v都是实数(R) ,其中至少有一个wi不为零,由所有满足线性方程w1*x1+w2*x2+...+wn*xn=v 的点X=[x1,x2,...xn]组成的集合,称为空间R的超平面。 从定义可以看出:超平面就是点的集合。集合中的某一点X,与向量
阅读全文
摘要:在前面两篇文章中: 机器学习中的贝叶斯方法 先验概率、似然函数、后验概率的理解及如何使用贝叶斯进行模型预测(1) 机器学习中的贝叶斯方法 先验概率、似然函数、后验概率的理解及如何使用贝叶斯进行模型预测(2) 我们以抛硬币作为示例,介绍了如何使用概率论的方法来构造机器学习中的预测模型 通过概率论理论来
阅读全文
摘要:在 机器学习中的贝叶斯方法 先验概率、似然函数、后验概率的理解及如何使用贝叶斯进行模型预测(1) 文章中介绍了先验分布和似然函数,接下来,将重点介绍后验概率,即通过贝叶斯定理,如何根据先验分布和似然函数,求解后验概率。 在这篇文章中,我们通过最大化似然函数求得的参数 r 与硬币的抛掷次数(抛掷次数是
阅读全文
摘要:一,本文将基于“独立重复试验 抛硬币”来解释贝叶斯理论中的先验概率、似然函数和后验概率的一些基础知识以及它们之间的关系。 本文是《A First Course of Machine Learning》的第三章的学习笔记,在使用贝叶斯方法构造模型并用它进行预测时,总体思路是:在已知的先验知识(先验概率
阅读全文