关键字如何实现自动分类

关键字如何做好分类一直是一件比较痛苦的事,特别是当关键字的规模很大的时候,人工分类往往要做好久。其实机器化进行语义分析还是具有可操作的,当然,人工干预是最好的,最为精准的,但是在此之前,我们可以先进行机器的预处理,以减少人工的工作效率。下面小脑袋竞价调价软件就来浅析下:

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

接下来就可以进行自动分组了,比如一个长尾词:tom tom gps navi,首先进行分词,根据词库,应该被分成 tom tom|gps|navi 三个词。

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

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

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

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

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

以上由小脑袋竞价调价软件提供试用编写,试用注册:http://vip.xiaonaodai.com/index.php?act=register&fromid=7。
咨询QQ:928122192 咨询热线:025-68781265

时间: 2024-11-08 18:25:14

关键字如何实现自动分类的相关文章

从关键字排名了解百度搜索规则

一直没有好好的来耐下心研究关于SEO和网络营销的一些东西.今天一早起床,看到自己的一个网站排名掉了,便开始检查自己网站的问题.之后发现,自己的网站根本没有问题,而最近也没有去大幅更网站,从建站开始就没作弊过!查了下关键字密度,发现关键字密度7.8,虽然稍微有点高,但没有超标!又开始检查外部链接,发现也没有什么出入.而且只是首页不见了,本来就收录的少,其它的页面还都在,于是乎得出结果,那就是不是我网站本身的问题. 一直不明白为什么百度会莫名其妙,现在也终于有些了解.象自己以前做的投票软件,排名起起

union关键字

union 关键字的用法与struct 的用法非常类似. union 维护足够的空间来置放多个数据成员中的"一种",而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址.例子如下: union StateMachine {    char character;    int number;    char *str;    double exp; }; 一个union 只配置一个足够大的空间以来容

Java中利用final关键字inline编译优化真的有效吗?

(inkfish原创,转载请注明出处:http://blog.csdn.net/inkfish/) 为寻求java代码的性能优化,从网上搜到利用final关键字进行编译时inline优化的方法,但是真的有效吗?实际测试中发现未必,甚至性能影响巨大,最终放弃了使用final优化的想法. 测试环境:Windows XP SP2,JDK 1.6.0_15-b03,Eclipse 3.5 SR1.   package test; public class Test { public static voi

Oracle model关键字使用

问题描述 Oracle model关键字使用 看了http://www.itpub.net/thread-1874755-1-1.html这个贴发现MODEL好强大,但是不能完全看懂,主要不知道他们执行的原则是什么? 帖子中完成了叶子节点向上的一个汇总,如果当前非叶子节点也有数据,实现叶子节点向上汇总的同时也要加上非叶子节点的功能,如何处理? 希望也可以能够提供MODEL关键字查询原理,能够深入学习. 解决方案 在Oracle中使用关键字oracle使用using关键字

OC weak strong __weak __strong copy retain assign nonatomic atomic等关键字的总结

 weak和strong的区别:       weak和strong)不同的是 当一个对象不再有strong类型的指针指向它的时候 它会被释放 ,即使还有weak型指针指向它. 一旦最后一个strong型指针离去 ,这个对象将被释放,所有剩余的weak型指针都将被清除. 可能有个例子形容是妥当的. 想象我们的对象是一条狗,狗想要跑掉(被释放). strong型指针就像是栓住的狗.只要你用牵绳挂住狗,狗就不会跑掉.如果有5个人牵着一条狗(5个strong型指针指向1个对象),除非5个牵绳都脱落 ,

DEDECMS添加软件时关键字自动从TAG获取

最近在帮朋友做一个游戏软件站,在添加测试文章的时候发现一个问题:软件频道不能像文章频道那样关键字自动从TAG中获取,而是直接从标题中分解出一些毫无意义的关键字,这也导致在调用"相关文章"时文章不相关的现象,经过对比文章频道添加模板,我找到了修改方法: 在网站根目录下找到文件 dede/templets/soft_add.htm (dede为DEDECMS默认后台管理目录,如有修改请找到相应的文件夹),打开后找到: <input name="tags" type

在指定文件夹中查找指定关键字,并输出关键字包括的次数

因为要查看相关统计代码是不是部署多了..SO.... 是把网上的脚本改了一下,增加了次数输出和判断.. 并且不用交互式输出,直接在命令后面接关键字和指定目录...   #!/bin/bash #find files contains a keyword #write by xiaojing.zhao #2012.12.14 echo -e "\nThis is a script to find all the files in a specified path contains a keywor

ios-获取dictionary指定关键字的值

问题描述 获取dictionary指定关键字的值 数据如下,我想不循环获取 names= app,app1,app2这种.应该怎么实现? ( { date = "12/12/12"; name = app; }, { date = "11/02/12"; name = app1; }, { date = "14/05/12"; name = app2; } ) 解决方案 你的问题不具体,程序代码没看明白,写清楚一点哦? 解决方案二: NSStri

c++-一个关于C++源程序关键字统计的问题

问题描述 一个关于C++源程序关键字统计的问题 为什么是char类型char KeyWord[Total][MaxLength]是什么意思 const int Total=63; //const int MaxLength=20; char KeyWords[Total][MaxLength] //列举关键字{asm""auto""bool""break""case""catch""ch