放牧代码和思想
专注自然语言处理、机器学习算法
    This thing called love. Know I would've. Thrown it all away. Wouldn't hesitate.

自然语言处理

第9页
层叠隐马模型下的音译人名和日本人名识别

层叠隐马模型下的音译人名和日本人名识别

阅读(11344)评论(6)

命名实体中的人名识别包括中国人名,音译人名和日本人名。比如“北川景子参演了林诣彬导演,克里斯·摩根编剧的《速度与激情3》”“林志玲亮相网友:确定不是波多野结衣?”。 以前用三层HMM做过中国人名的识别,取得了满意的效果。这次来实现另外两种人...

千万级巨型汉语词库分享

千万级巨型汉语词库分享

阅读(34837)评论(33)

算法+语料≈NLP 这是一个六千万词汇量的分类词库,做HanLP这么久,我逐渐体会到,算法无法解决所有问题,词库也非常重要。通常一个算法可以解决80%的问题,剩下的20%无论怎么调节优化,都是拆东墙补西墙。比如上次我提到的“区人保”被HMM...

最长公共子串、最长公共子序列的Java实现与NLP应用

最长公共子串、最长公共子序列的Java实现与NLP应用

阅读(10927)评论(1)

前言 以前HanLP使用“最短编辑距离”来做推荐器,效果有待提高,主要缺点是根据拼音序列的编辑距离推荐的时候,同音字交错很常见,而编辑距离却不那么大。这时我就在寻求一种补充的评分算法,去评判两个句子在拼音这一维度上的相似程度。 最终决定导入...

汉字转拼音与简繁转换的Java实现

汉字转拼音与简繁转换的Java实现

阅读(17051)

最近HanLP希望支持拼音与繁体功能,所以学习了几个开源的Java实现,优化后集成进来。 开源项目地址:https://github.com/hankcs/HanLP  stuxuhai/jpinyin 原理 这是GitHub上星...

基于互信息和左右信息熵的短语提取识别

基于互信息和左右信息熵的短语提取识别

阅读(19515)评论(29)

在中文语言处理领域,一项重要的任务就是提取中文短语,也即固定多字词表达串的识别。短语提取经常用于搜索引擎的自动推荐,新词识别等领域。本文主要实现了从陌生文本中自动发现固定短语,并给出原理和步骤。 开源项目 本文代码已集成到HanLP中开源:...

实战HMM-Viterbi角色标注中国人名识别

实战HMM-Viterbi角色标注中国人名识别

阅读(18107)评论(57)

这几天写完了人名识别模块,与分词放到一起形成了两层隐马模型。虽然在算法或模型上没有什么新意,但是胜在训练语料比较新,对质量把关比较严,实测效果很满意。比如这句真实的新闻“签约仪式前,秦光荣、李纪恒、仇和等一同会见了参加签约的企业家。”,分词...

通用维特比算法的Java实现

通用维特比算法的Java实现

阅读(11610)

用Java实现的求解HMM的维特比算法,开源在Git上:https://github.com/hankcs/Viterbi。代码本身没什么新意,看到Git上没有好用的Viterbi的Java实现,所以补个缺。特点是简单好懂,一个方法搞定。调...

提取中文句子主谓宾的Java实现

提取中文句子主谓宾的Java实现

阅读(20958)评论(31)

在自然语境中,一个意思可以有多种表现。比如“我喜欢你”“我喜欢隔壁班的你”“你被我偷偷的喜欢着”都表达了“我喜欢你”。搜索引擎如果机械地按照词频算法检索的话,会误解为“我喜欢隔壁班”“你喜欢我”,毕竟词频一样,顺序也差不多。 利用依存关系可...

TextRank算法自动摘要的Java实现

TextRank算法自动摘要的Java实现

阅读(22396)评论(25)

上次写过《TextRank算法提取关键词的Java实现》,这次用TextRank实现文章的自动摘要。 所谓自动摘要,就是从文章中自动抽取关键句。何谓关键句?人类的理解是能够概括文章中心的句子,机器的理解只能模拟人类的理解,即拟定一个权重的评...

ICTCLAS中的HMM人名识别

ICTCLAS中的HMM人名识别

阅读(11807)评论(1)

本文主要从代码的角度分析标注过程中的细节,理论谁都能说,但没几人能做出一个实用高效的系统。在得出粗分结果之后,需要对其进行人名、翻译人名、地名识别,然后重新KSP得出最终结果,在ICTCLAS中,这些标注都是通过HMM模型实现的。 人名识别...

我的作品

HanLP自然语言处理包《自然语言处理入门》