这段时间一直在接触学习hadoop方面的知识,因此说对天然语言处理技术也是作了一些了解。网络上关于天然语言处理技术的分享文章不少,今天就给你们分享一下HanLP方面的内容。
天然语言处理技术实际上是全部与天然语言的计算机处理相关联的技术的统称,天然语言处理技术应用的目的是为了可以让计算机理解和接收咱们用天然语言输入的指令,实现从将咱们人类的语言翻译成计算机可以理解的而且不会产生歧义的一种语言。接合目前的大数据以及人工智能,天然语言处理技术的快速发展可以很好的助力人工智能的发展。
天然语言处理技术之HanLP介绍
(大快DKhadoop一体化开发框架)
这里要分享的HanLP是我在学习使用大快DKhadoop大数据一体化平台时使用到的天然语言处理技术,使用这个组建能够很高效的进行天然语言的处理工做,好比进行文章摘要,语义判别以及提升内容检索的精确度和有效性等。
本想找个通俗的案例来介绍一下HanLP,一时间也没想到什么好的案例,索性就从HanLp数据结构HE 分词简单介绍下吧。
首先咱们来看了解下HanLP的数据结构:
二分tire树:Tire树是一种前缀压缩结构,能够压缩存大量字符串,并提供速度高于Map的get操做。HanLP中的trie树采用有序数组储存子节点,经过二分搜索算法检索,能够提供比TreeMap更快的查询速度。
不一样于父节点储存子节点引用的普通trie树,双数组trie树将节点的从属关系转化为字符内码的加法与校验操做
对于一个接收字符c从状态s移动到t的转移,需知足条件是:
base[s] + c = t
check[t] = s好比:base[一号] + 店 = 一号店
check[一号店] = 一号
相较于trie树的前缀压缩(success表),AC自动机还实现了后缀压缩(output表)
在匹配失败时,AC自动机会跳转到最可能成功的状态(fail指针)
关于HanLP分词
一、词典分词
基于双数组trie树或ACDAT的词典最长分词(即从词典中找出全部可能的词,顺序选择最长的词语)
天然语言处理技术之HanLP介绍
输出:[HanLP/名词, 是否是/null, 特别/副词, 方便/形容词, ?/null]
二、NGram分词
天然语言处理技术之HanLP介绍
统计语料库中的BiGram,根据转移几率,选出最可能的句子,达到排除歧义的目的
三、HMM2分词
天然语言处理技术之HanLP介绍
这是一种由字构词的生成式模型,由二阶隐马模型提供序列标注算法

被称为TnT Tagger,特色是利用低阶事件平滑高阶事件,弥补高阶模型的数据稀疏问题
四、CRF分词
天然语言处理技术之HanLP介绍
这是一种由字构词的生成式模型,由CRF提供序列标注
相较于HMM,CRF的优势是可以利用更多特征、对OOV分词效果好,缺点是占内存大、解码慢。数组