停用词扩展-基于点互信息

目录

 

一、问题来由

二、算法思想

三、扩展步骤

1、训练语料

2、种子停用词

3、对语料分词

4、统计停用词的共现词

5、计算PMI

6、保存结果

四、结果分析


一、问题来由

最近参与了CSDN的问答模块的开发,有一个任务是扩展停用词,主要用在改善问答的质量,即问题的标题尽量用来描述所遇到的问题,避免一些无意义的词汇,例如:“小白”,“大佬”,“求救”等等。这样的词汇对提问题没有任何帮助,这里暂且称之为虚词。

目前虚词表由运营整理提供,只有几十个,现在要对词表进行扩充,这里参考SOPMI情感词典的扩充方案。

二、算法思想

其核心思想主要有:

1、利用词的共现来拓展候选停用词;

2、利用点互信息(PMI)来计算词的相关性。PMI用来衡量两个两个事物之间的相关性,值越大越相关。

     PMI(x, y)=log(p(xy)/p(x)p(y))

三、扩展步骤

1、训练语料

问答标签数据集,每个标签最多取10000条数据。每条数据含有标题和内容以及解答,这里只取问题标题。

{

"question_id": 1674,

"question_title": "手机社交应用的图片上传下载功能分别使用ftp和http的优缺点是什么? ",

"question_created_at": 1363039735,

"question_content": "手机上流行的社交应用,可以查看好友的拍照相册,也可以自己拍照上传和好友分享等,分别使用ftp和http技术实现上传下载的优缺点是什么? ",

"tag_id": 2,

"tag_name": "http",

"tags": [

{

"tag_id": 502,

"tag_name": "社交"

},

{

"tag_id": 503,

"tag_name": "图片"

},

{

"tag_id": 504,

"tag_name": "ftp"

},

{

"tag_id": 2,

"tag_name": "http"

}]}

2、种子停用词

这里采用运营收集的停用词invalid_stopwords.txt,作为种子停用词。

3、对语料分词

采用jieba分词器,先把种子停用词加入用户自定义词典,对语料进行分词(语料目前取了question_title),根据词性去掉标点符号。

4、统计停用词的共现词

遍历语料中每个词,取其前后各window_size长度的词,统计停用词的共现词作为候选停用词,以及共现词对的词频。

统计候选停用词的词频。

5、计算PMI

对于每一个候选停用词,计算其与所有种子停用词的PMI之和,作为候选停用词的最终PMI得分。

6、保存结果

按照候选词的PMI得分逆序排列,保存到词典文件中。

四、结果分析

由于是根据词的共现以及词频来计算的,所以算法的确可以拓展出一些虚词,但是也会有很多非虚词,还需要对结果进行人工挑选,挑选之后的词如下:

从结果可以看出,算法因为没有语义上的支撑,扩展的词还需要人工进行校对,可以辅助用于无效标题的判断。或许结合word2vec来进行扩展效果要好一些。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值