当前位置:  开发笔记 > 编程语言 > 正文

php自动提取文章关键字

现在,很多web系统都用到了不少的自然语言处理技术来提高客户体验. 主要技术: 1.文章关键字提取. 2.相关文章(产品)推荐. 最近有不少网友问道,这里以php为例子讲解下php的"关键字提取"的实现,同时这个也是实现"相关文章推荐"的前提.

现在, 很多web系统都用到了不少的自然语言处理技术来提高客户体验.

主要技术:

1. 文章关键字提取.

2. 相关文章(产品)推荐.

最近有不少网友问道, 这里以php为例子讲解下php的"关键字提取"的实现, 同时这个也是实现"相关文章推荐"的前提.

基本分以下几个步骤:

一. 对文章进行分词:

php的中文分词程序还是有不少的, 从前辈的scws, 到用纯php实现的phpAnalysis, phpcws(phpcws)以及本人开发的robbe扩展.

这里的讲解是使用"robbe分词扩展"来进行分词, robbe兴许不是最好的, 但一定是最快的.

选择的分词器需要支持停止词过滤.

二. 统计词条词频并且排序:

对一篇文章分词后, 统计每个词条出现的次数. 然后按照词频降序排序下, 你想要的结果在前面几个词中.

前提是去除了出现词频很高的停止词, 要不然得到的都是一些无用的停止词. (类似于TF-IDF算法)

完整的过程代码如下:

 127 && strlen($_value) == 3 ) {
                    //$w = rb_dic_get(__RB_LEX_CJK_WORDS__, $_value);
                    //if ( $w['freq'] > 58023 ) continue;
                    continue;
                }
                if ( ! isset($_keywords[$_value]) ) 
                    $_keywords[$_value] = 1;
                else $_keywords[$_value] = $_keywords[$_value] + 1;
            }
            //Sort
            arsort($_keywords, SORT_NUMERIC);
            unset($_result);
            $_result = array();
            foreach( $_keywords as $_key => $_value ) {
                //if ( $_value <= 2 ) continue;
                $_result[$_key] = $_value;
            }
            unset($_keywords);
            $__timer__ = timer() - $s_time;
        }
    }    

    function timer() {
        list($msec, $sec) = explode(' ', microtime());
        return ((float)$msec + (float)$sec);
    }
?>

??? 
??????? 
??????????? robbe分词测试程序
??????? 
??????? 
??????? 
??? 
??? 
??????? 现在, 很多web系统都用到了不少的自然语言处理技术来提高客户体验. 主要技术: 1. 文章关键字提取. 2. 相关文章(产品)推荐. 最近有不少网友问道, 这里以php为例子讲解下php的"关键字提取"的实现, 同时这个也是实现"相关文章推荐"的前提. 基本分以下几个步骤: 一. 对文章进行分词: php的中文分词程序还是有不少的, 从前辈的scws, 到用纯php实现的phpAnalysis, phpcws(phpcws)以及本人开发的robbe扩展. 这里的讲解是使用"robbe分词扩展"来进行分词, robbe兴许不是最好的, 但一定是最快的. 选择的分词器需要支持停止词过滤. 二. 统计词条词频并且排序: 对一篇文章分词后, 统计每个词条出现的次数. 然后按照词频降序排序下, 你想要的结果在前面几个词中. 前提是去除了出现词频很高的停止词, 要不然得到的都是一些无用的停止词. (类似于TF-IDF算法) 完整的过程代码如下: 
??????? 
???????????
??????????????? 请输入文章内容: ???????????
???????????
???????????????
??????????????????? ???????????????
???????????????
??????????????????? >简易模式 >复杂模式 robbe分词 ???????????????
???????????
???????????
??????????????? 关键字相关排序: ???????????
???????????
??????????????? ???????????
???????
???

安装robbe扩展后, 可以直接运行该php页面了.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有