或者

关于词库建设的问题整理

作者:七夏 浏览:261 发布时间:2017-10-18
分享 评论 0

一、词库的筛选与建立

建立一个几十万的词库很好说,但是针对这些词你是如何处理的呢?分类,去重,筛选,没有用的高频词,停止词,杂词,相似度,等等,你都是如何解决的?

道哥:

分类通常不做,因为精度不是很让人满意,分出一堆碎片分类看着头疼建立词库的过程中不断维护一个白名单和黑名单,抽取出强特征用于过滤高频词还有词性等通常不过滤,尤其是不需要抽取query实体的场景下,高频词以及词性的过滤反倒有可能导致语义转义掉,这对于以分析为目的的词库而言是得不偿失。

停止词只过滤一个“的”就行了,千万不要贪停止词的多,反倒是空格需要过滤,然后不同来源的词库合并去重,同词不同搜索量的再处理下。

最后,建议挖词库的时候就一个个品类挖,否则挖出个几十万上百万的词库,没点耐心和技巧处理起来真的很麻烦,属于前期省事后期烦心。

Gogo闯:

扩词 – 过滤 – 找规律 – 评估 – 维护

扩词:根据指定词根扩展一批关键词

过滤:去除与词根不相关的词(可以粗暴的把不包含词根的词拿出来),去除没法上线的词(比如带空格,各种符号,如“2013年工作总结”等不合符时效的、敏感词:东莞娱乐城…..),去重(完全匹配去重:“北京旅游,北京旅游”删掉1个;至于如“2015北京平均工资,北京平均工资2015”不完全匹配的,个人感觉没有去重的必要,词缀在整个词中出现的位置对流量有些影响的,另外这些词去重起来也麻烦)

找规律:把词根前后的词缀全拿出来,把词缀出现频率高的筛出来,这种词都是有特定的搜索组合的。

之后再把包含高频词缀的词都删掉,再把搜索量高的词拿出来,基本都是没有变量,适合做专题的词:如“住房公积金提取条件”“按揭贷款申请流程”….

评估:评估哪些词能上,哪些不能上;能上的词都是有内容,相关的。直接的动作是找网站中有多少内容跟这个词相关,跑搜索结果、数据库均可,自己发散下~

半人工半程序处理,没啥技术含量,纯粹各种小技巧和归纳思维。

另外一种情况是根本没有找不到词根去挖词,上面的流程根本没法用,典型如新闻咨询类的网站,如“派代网”那种,各种各样毫不相干的tag,我这能想到的办法是拿一堆新闻文章,至少几十万的,挑几个需要挖掘的主题,用word2vec把聚类的词找出来。

二、怎样从大批词库中给关键词快速分类词性?利用包含字眼怎么样?

个人想法是统计各个词性的包含字眼,如费用类关键词一般都包含:“钱”,“价”,“多少”,“费”,“贵”,“便宜”大概这些字眼,统计好字眼利用excel的vlookup函数或者类似更好用的工具给词库中包含这些字眼的关键词归类为费用类。

如果大家有更好的办法求赐教啊~,如果跟我这个想法差不多的,希望能借鉴词性包含的字眼这个我统计了好几次都觉得不准确。

道哥:

有监督分类的难点在于分类特征选取及多分类分歧处理,gogo闯举的正是此例。

而王楠包括之前民工提供的工具其实都属于无监督分类的范畴了。而事实是无监督分类哪怕用上了朴素贝叶斯分类器这种高大上的NLP牛刀,其效果几乎是惨不忍睹,因为这种方法会产生大量的碎片分类且分类可用性不高,而若要对碎片分类再做聚类,一来效果仍然不佳,二来显然又一次舍近求远了。

题主的需求显然以精度要求为先,因此推荐有监督分类方法。分类特征选取可考虑人工给每个分类分出一定量级的结果,对合结果集合提取tfidf得分较高的词再人工细看一遍,这种特征选取方法同样适用于文章分类。多分类分歧比较傻瓜的方法是。。。

Gogo闯:

前期肯定要人工过,尽可能穷尽同一类词所有的共性特征及在词中的位置。

之前用凤巢找职位相关需求的时候,会出现各种乱七八糟的非职位词,于是从智联找出1w个职位词当样本,穷举职位词共有的特征。

三、seo关键词词库的分类筛选程序。

国平:

我们已经开发了一个SEO关键词词库的分类程序,效果还不错,打算在录制SEO免费视频后免费发出来。

这个分类筛选程序用到的算法也还不错的,只有一个缺点,就是在计算关键词相关性的时候,目前只支持包含关系。比如:德国、法国都是国家,分类筛选程序在获取到“德国”这个关键词后,不可以智能地把“法国”也分类到一起。不过这个问题是有解决办法的,但是一个单机的计算量有限,要计算很长时间才可以,所以就暂时没有这个功能。

稍后可以放一些效果图来看看,大家可能不知道,仅仅是用包含关系来筛选词库,获得的分类就足够有用了。