pyhanlp 共性剖析与短语提取内容详解ITeye - 千亿集团

pyhanlp 共性剖析与短语提取内容详解ITeye

2019-01-09 16:36:03 | 作者: 寻桃 | 标签: 短语,提取,算法 | 浏览: 2607

简介

HanLP中的词语提取是依据互信息与信息熵。想要核算互信息与信息熵有限要做的是 文本分词进行共性剖析。在作者的原文中,有几个问题,为了便于阐明,这儿首要给出短语提取的原理。在文末在给出pyhanlp的调用代码。

共性剖析



 

互信息mi,左熵lr,右熵re,具体解说见下文

信息论中的互信息



  

 

一般来说,信道中总是存在着噪声和搅扰,信源宣布音讯x,经过信道后信宿只或许收到由于搅扰作用引起的某种变形的y。信宿收到y后估测信源宣布x的概率,这一进程可由后验概率p(x|y)来描绘。相应地,信源宣布x的概率p(x)称为先验概率。咱们界说x的后验概率与先验概率比值的对数为y对x的互信息量(简称互信息)。

依据熵的连锁规矩,有

 

1| H(X,Y) = H(X) + H(Y|X) = H(Y) + H(X|Y)

 

因而,

 

1|H(X) - H(X|Y) = H(Y) - H(Y|X)

 

这个差叫做X和Y的互信息,记作I(X;Y)。



  

 

 

其间P(x) 为 单词x呈现的次数与总单词数的比值(数学意义为单词x呈现的概率)。而P(x,y)则为二阶短语x- y 呈现的次数与一切二阶短语的次数。

 

比方在刚刚的阐明中,假定默许分词方法将“后验概率”分为“后验”,“概率” 两个大短语,则后验- 概率 这个二阶短语总共呈现了两次,假定一切二阶短语合共有一百个,则p(后验- 概率) = 2 /100 = 1/ 50。

 

要注意的是hanlp作者个的文章《依据互信息和左右信息熵的短语提取辨认》中。公式与表标准界说的互信息并不一起,少乘了一个p(x,y),检查源码发现作者确实是依照没有p(x,y)的公式进行核算的。不过运用简化公式核算好像也是没有问题的。此处还可以参阅大鱼的一篇文章

 

信息熵

 

运用信息熵提取

熵这个术语表明随机变量不确定性的测量。具体表述如下: 一般地, 设X 是取有限个值的随机变量( 或者说X 是有限个离散事情的概率场) , X 取值x 的概率为P ( x ) , 则X 的熵界说为:



  

 

左右熵是指多字词表达的左鸿沟的熵和右鸿沟的熵。左右熵的公式如下:

 

 

 

 

具体核算方法是,以左熵为例,对一个串左面一切或许的词以及词频,核算信息熵,然后求和。

比方算法- 工程师这个二阶短语,其左面或许有许多接续,比方“从事算法工程师”和“成为算法工程师”,当其接续多了,左熵也就会更高。这个二阶短语是一个二阶短语的或许性就更大一些。

可是这儿存在一个问题,贾母默许分词与停用词作用欠好,或许会将“abcd”分红“a,b,c,d”然后去掉“c”这种停用词,这样“a,b,d”则或许被作为一个三阶短语发现。在HanLP中由于只能发现二阶短语,所以或许由于去掉“a,b”中的一个导致无法发现二阶短语这种情况呈现,可是这只存在着理论上的或许。

 

共性剖析

 

共性 是指 文本中词语一起呈现的情况。在hanlp中假如直接调用共性剖析模块不只可以获取词频计算,还可以一起给出互信息mi,左熵lr,右熵re。以下是pyhanlp中的运用。





  

 



  

 

短语提取

 

阐明

 

内部选用MutualInformationEntropyPhraseExtractor完结,用户可以直接调用MutualInformationEntropyPhraseExtractor.extractPhrase(text, size)。

算法详解

《依据互信息和左右信息熵的短语提取辨认》

该功用的完结依赖于共性剖析,具体内容可以检查《依据互信息和左右信息熵的短语提取辨认》

 

pyhan中的短语提取

 

# 短语提取

text = """算法工程师\n

        算法(Algorithm)是一系列处理问题的明晰指令,也便是说,可以对必定标准的输入,在有限时刻内取得所要求的输出。假如一个算法有缺点,或不适合于某个问题,履行这个算法将不会处理这个问题。不同的算法或许用不同的时刻、空间或功率来完结相同的使命。一个算法的好坏可以用空间复杂度与时刻复杂度来衡量。算法工程师便是运用算法处理事物的人。\n

        1职位简介\n

        算法工程师是一个十分高端的职位;\n

        专业要求:核算机、电子、通讯、数学等相关专业;\n

        学历要求:本科及其以上的学历,大多数是硕士学历及其以上;\n

        言语要求:英语要求是娴熟,基本上能阅览国外专业书刊;\n

        有必要把握核算机相关常识,娴熟运用仿真东西MATLAB等,有必要会一门编程言语。\n

        2研讨方向\n

        视频算法工程师、图画处理算法工程师、音频算法工程师 通讯基带算法工程师\n

        \n

        3现在国内外情况\n

        现在国内从事算法研讨的工程师不少,可是高档算法工程师却很少,是一个十分紧缺的专业工程师。算法工程师依据研讨范畴来分主要有音频/视频算法处理、图画技能方面的二维信息算法处理和通讯物理层、雷达信号处理、生物医学信号处理等范畴的一维信息算法处理。\n

        在核算机音视频和图形图画技能等二维信息算法处理方面现在比较先进的视频处理算法:机器视觉成为此类算法研讨的中心;别的还有2D转3D算法(2D-to-3D conversion),去隔行算法(de-interlacing),运动估量运动补偿算法(Motion estimation/Motion Compensation),去噪算法(Noise Reduction),缩放算法(scaling),锐化处理算法(Sharpness),超分辨率算法(Super Resolution),手势辨认(gesture recognition),人脸辨认(face recognition)。\n

        在通讯物理层等一维信息范畴现在常用的算法:无线范畴的RRM、RTT,传送范畴的调制解调、信道均衡、信号检测、网络优化、信号分化等。\n" +

        别的数据发掘、互联网搜索算法也成为当今的抢手方向。\n

        算法工程师逐步往人工智能方向开展。"""

                

                

phraseList = HanLP.extractPhrase(text, 10)

print(phraseList);

 

1|[算法工程师, 算法处理, 一维信息, 算法研讨, 图画技能, 信号处理, 信息算法, 处理算法, 视频算法, 通讯物理]

 

作者:Font Tian   

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章