如何实现关键词的自动分类

关键词的分类一直是一件比较痛苦的事,特别是当关键词的规模很大的时候,人工分类往往要做好久。

曾经写过一篇基于情感分析算法的评论分类处理,其实机器化进行语义分析还是具有可操作的,当然,人工干预是最好的,最为精准的,但是在此之前,我们可以先进行机器的预处理,以减少人工的工作效率。

对关键词进行自动分类,要有一个基础词库表,词库表里要有个分组字段,作为每个词根的分组。

如何实现关键词的自动分类_第1张图片
还有建立一个关键词的分组表,分组表是建立在基础词表上的。
这里写图片描述
这个分组才是指未来进行长尾或文章进行分组的主表,组ID代表着基表里词根的分组ID的集合。

接下来就可以进行自动分组了,比如一个长尾词:tom tom gps navi,首先进行分词,根据词库,应该被分成 tom tom|gps|navi 三个词 (备注:tom tom是一个品牌,在自有词库里认为是一个词,如果是普通词库,则可能被分成两个tom,不用纠结)。

然后在词库表中匹对,发现在分组1中出现了1个次,在分组2中全部出现,这时候,我们将词库的项数做为DF,讲匹配的次数当作TF,则根据TF/IDF的计算,则分组1的TF/IDF = 1 * 1/3 < 分组2的TF/IDF等于 3* 1/7, 那么这个词被分在了分组2里。

如果这个分组我们分的足够细,那么对于这个分组表,我们还可以建立第三层的聚合表,将分组再进行一次聚合,实现非垂直内容的聚合,这个在做相关性内容的获取和内链分配时是有一定的作用的。

那么说了后面实现的方法,这个基库和分组的库该如何建立呢?

首先,你需要采集关键词,从google或百度,好处是,当你拉回来的时候,这些词本身相关性是比较强的,你要做的就是进行分词,分词是分两步工作,一个是找词,一个是统计词频,找词分词的思路是这样的,先把所有词组合起来,采用正向最小逐步的切分,这个词的长度阈值你可以根据行业特性自己设置,从最小的词开始匹配,统计词频,然后逐步增加词数,比如一共100个词,任何的切分的词如果词频统计超出70%(阈值),我们认为是有这个词的,然后逐步增加,如果少于30%,则认为没有这个词,经过循环处理下来,得出的高频词,进行去重,就是我们所需要的基础词库。

有了基础的词库就要进行分组,分组就是就要统计之前采集的每个长尾词在词库里的同时命中的了,将大量同时命中多个长尾词的词根统计出来,这些词根基本具有一个分组,思路如同上面的自动分组是一样的,只是做基础词库的分组,还是需要一定的人工干预,才能确保数据的准确性。

你可能感兴趣的:(应用)