HanLP关键词提取。总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HanLP关键词提取。

总结
原理:
依托HanLP的核⼼词典和⾃定义词典根据TF*IDF算法计算
每个命名实体和名词短语的得分score,按score倒排返回前⾯若⼲个关键词
解释: TF 称为词频,表⽰词在⼀篇⽂档中出现的频率=词在该⽂档中出现的次数 / 该⽂档中单词的总数---TF越⼤,表⽰该词对⽂档越重要DF称为⽂档频率,⼀个词在多少篇⽂章中出现过
本系统⽤的公式是:⽐重 k * 关键词在本⽂出现的次数 t / 词典中的词频 f
IDF 称为逆⽂档频率=Ln(总⽂档数/出现该次的⽂档数)
⾸先解析出标题和正⽂
⽤HanLP的分词器⼀句词典,初始化内容,⽣成⼀个数组 wordList,⾥⾯是分好的词,有各⾃的词性,和各⾃词在内容中所在的位置 index 把标题⾥的词单独分⼀下,降低词频 f
关键词:
先分短语:
遍历wordList,取每个词的词性和下词词性,可以组合起来的,拼接为⼀个短语,降低词频f,放到候选关键词数组 parsePhrase ⾥⾯
机构名不做组合
形容词,名形词,动名词,习⽤语,简称略语,后跟助词,名词,动词,动名词且词的长度都⼤于1 则组合为短语
动词后跟助词,名词,动名词,则组合短语
名词后跟助词,名词,动名词,动词,则组合短语
数词后跟量词,名词,专有名词,或者形容词则组合短语
其余都不进⾏组合
组合短语长度⼤于8或者构成的某个单词在词库词频超过300,则此短语词频为5
其余的短语默认词频为3
再分单词:
遍历wordlist,取每个单独的词,根据词性,降低或者增加词频。

同时判断是否已存在于parsePhrase的某个短语⾥,避免重复放⼊parsePhrase。

名词,动词,形容词,长度⼤于2的动名词,习⽤语,⼈名,简称略语,从核⼼词典和扩展词典取,取不到就默认词频为3.或4
排除单字符的关键字,去除
包含有第+数词的,词频增⼤
带**讯,**摄等不进⾏添加
所以想添加⾃定义词典的关键词,只需要设定为单词为名词 n,动词 v,形容词 a,长度⼤于2的动名词 vn,习⽤语 l,⼈名 nr,简称略语 j
在⾃定义词.txt⾥词频 < 3 即可。

最后算分:
权重k,根据词性设定的,初始值是1,根据不同的词性扩⼤或者缩⼩
在本⽂出现次数t,遍历wordList,有重复则加1即可
根据公式:⽐重 k * 关键词在本⽂出现的次数 t / 词典中的词频 f,算出parsePhrase⾥各个候选词的分值,排序取前N个关键词,就是要提取的
摘要:
思想:句⼦短,代表性强(特殊性⾼、分⾼)
复⽤上⾯的 parsePhrase 。

根据段落符号 \n 和⼀些标点符号识别出标题,⾸段,尾段,中间的正⽂,以及是否是带段落编号的⽂章。

根据标点符号,把⽂章分词⼀个个的句⼦,包含每个句⼦的⾸尾位置(在⽂章中的前后顺序),所在段落位置(是否⾸段,尾段等)。

在这期间处理句⼦⾥的特殊字,词,
证明是⾄少含有2个段落编号的正⽂⽂本,此时,需要去掉编号。

把⾸段的分值设置很⼤,加上标题
每个句⼦都分词,从parsePhrase 找出分值想加。

得到每个句⼦的值。

对句⼦进⾏分词,找出每个词在候选关键词数组⾥的分数,累加
同时对于同⼀句中重复出现的nr 等超过3个,进⾏降权
对于句⼦长度⼤于50的进⾏降权
⾸段 FIRST 如果⾸句开始位置<10(为了给去掉的记者,某报讯等等留位置)包含很多标题中词汇,
就加⼊摘要,其实已经在候选句⼦⾥,只不过吧分数加多⼀些,排名靠前点
当判定为带编号⽂章,增加⾸尾段落的分值权重
取⼀些特殊词作为标识,截取后⾯的特殊符号以后的句⼦内容作为句⼦。

即去除;[记者:***] 等句⼦内容
等等逻辑处理完后,得到⼀个句⼦数组。

先按分值⼤⼩排序
提取思想:找分⾼的⼏个句⼦,其总字数加起来刚刚⼤于要提取的摘要字数 length
length 和200有个对⽐
当⽂章字数 size <200:
当length > size 提取全⽂
当length < size 提取length字数的句⼦
当size >200
当length > 200 提取200字数的句⼦
当length < 200 提取length字数句⼦
提取后的句⼦,按照在⽂中出现的先后顺序,排序。

记录⼀下。

相关文档
最新文档