Home >php教程 >php手册 >Discuz! 在线中文分词、关键词提取服务

Discuz! 在线中文分词、关键词提取服务

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 11:42:291485browse

不同于使用自己的服务器进行分词,Discuz!在线中文分词服务是基于API返回分词结果的。在项目中,我们只需要一个函数即可方便地进行分词、关键词提取。
以下是根据Discuz!在线分词服务API写的函数,测试可正常运行:/**<br>  * DZ在线中文分词<br>  * @param $title string 进行分词的标题<br>  * @param $content string 进行分词的内容<br>  * @param $encode string API返回的数据编码<br>  * @return  array 得到的关键词数组<br>  */<br> function dz_segment($title = '', $content = '', $encode = 'utf-8'){<br> <br>     if($title == ''){<br>         return false;<br>     }<br> <br>     $title = rawurlencode(strip_tags($title));<br>     $content = strip_tags($content);<br>     if(strlen($content)>2400){ //在线分词服务有长度限制<br>         $content =  mb_substr($content, 0, 800, $encode);<br>     }<br>     $content = rawurlencode($content);<br> <br>     $url = 'http://keyword.discuz.com/related_kw.html?title='.$title.'&content='.$content.'&ics='.$encode.'&ocs='.$encode;<br> <br>     $xml_array=simplexml_load_file($url);                        //将XML中的数据,读取到数组对象中  <br> <br>     $result = $xml_array->keyword->result;<br>     $data = array();<br>     foreach ($result->item as $key => $value) {<br>             array_push($data, (string)$value->kw);<br>     }<br>     if(count($data) > 0){<br>         return $data;<br>     }else{<br>         return false;<br>     }<br> }分词示例,通过url访问:http://keyword.discuz.com/related_kw.html?title=Discuz!在线中文分词、关键词提取服务&content=不同于使用自己的服务器进行分词,Discuz!在线中文分词服务是基于API返回分词结果的。在项目中,我们只需要一个函数即可方便地进行分词、关键词提取。&ics=utf-8&ocs=utf-8得到的分词结果为:
关键词,服务器,在线,中文,项目

AD:真正免费,域名+虚机+企业邮箱=0元

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn