Heim  >  Artikel  >  Backend-Entwicklung  >  php中文分词与自动获取关键词的方法

php中文分词与自动获取关键词的方法

WBOY
WBOYOriginal
2016-07-25 09:10:201031Durchsuche
  1. header("Content-Type:text/html; charset=utf-8");
  2. define('APP_ROOT', str_replace('\\', '/', dirname(__FILE__)));
  3. $test = '中文测试代码!';
  4. function get_tags_arr($title)
  5. {
  6. require(APP_ROOT.'/pscws4.class.php');
  7. $pscws = new PSCWS4();
  8. $pscws->set_dict(APP_ROOT.'/scws/dict.utf8.xdb');
  9. $pscws->set_rule(APP_ROOT.'/scws/rules.utf8.ini');
  10. $pscws->set_ignore(true);
  11. $pscws->send_text($title);
  12. $words = $pscws->get_tops(5);
  13. $tags = array();
  14. foreach ($words as $val) {
  15. $tags[] = $val['word'];
  16. }
  17. $pscws->close();
  18. return $tags;
  19. }
  20. print_r(get_tags_arr($test));
  21. //=--------------------------------
  22. function get_keywords_str($content){
  23. require(APP_ROOT.'/phpanalysis.class.php');
  24. PhpAnalysis::$loadInit = false;
  25. $pa = new PhpAnalysis('utf-8', 'utf-8', false);
  26. $pa->LoadDict();
  27. $pa->SetSource($content);
  28. $pa->StartAnalysis( false );
  29. $tags = $pa->GetFinallyResult();
  30. return $tags;
  31. }
  32. print(get_keywords_str($test));
复制代码

SCWS – 简易中文分词系统

SCWS 在概念上并无创新成分,采用的是自行采集的词频词典,并辅以一定程度上的专有名称、人名、地名、数字年代等规则集,经小范围测试大概准确率在 90% ~ 95% 之间,已能基本满足一些中小型搜索引擎、关键字提取等场合运用。 SCWS 采用纯 C 代码开发,以 Unix-Like OS 为主要平台环境,提供共享函数库,方便植入各种现有软件系统。此外它支持 GBK,UTF-8,BIG5 等汉字编码,切词效率高。

系统平台:Windows/Unix 开发语言:C 使用方式:PHP扩展

演示网址:http://www.ftphp.com/scws/demo.php 开源官网:http://www.ftphp.com/scws/

注:作为PHP扩展,容易与现有的基于PHP架构的Web系统继续集成,是其一大优势。

PhpanAlysis - PHP无组件分词系统

PhpanAlysis分词系统是基于字符串匹配的分词方法 ,这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配 和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。

系统平台:PHP环境

开发语言:PHP

使用方式:HTTP服务

演示网址:http://www.itgrass.com/phpanalysis/ 开源官网:http://www.itgrass.com/phpanalysis/

注:实现简单,容易使用,能做一些简单应用,但大数据量的计算效率不如前几种。 试用了几个系统,基本分词功能都没什么问题,只是在个别一些词的划分上存在一些差异;对于词性的确定,系统间有所不同。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn