杨庆荣的博客

工作之余接单:公司产品展示网站建设、电商网站建设、小程序、app开发。+86 13714715608

使用rong framework + socket做php快速中文分词

点击 1283    创建时间 2014-07-29 18:46:04

<p>rong framework 最新版下载:http://rong.wudimei.com/</p>

<p>通过socket server分词的原理是,用php写的服务器启动时把词典加载到内存中。以后不用再加载了,从而节省了磁盘访问时间。于时分词就明显加快了。</p>

<p>首先你要建一个ChineseSegment.php,内容如下:</p>

<p>&lt;?php<br /> ini_set("display_errors",1);<br /> error_reporting(E_ALL |E_NOTICE|E_ERROR|E_WARNING);</p>

<p> </p>

<p>define( "ROOT" , dirname(dirname(dirname(dirname( FILE ))))   );</p>

<p>set_include_path( "." . PATH_SEPARATOR .<br />                   ROOT."/lib". PATH_SEPARATOR.<br />                   get_include_path()<br />                 );<br />                 <br />                 ini_set("memory_limit","256M");<br /> require_once "Rong/Search/Analyzer/CS/Server.php";</p>

<p>$server = new Rong_Search_Analyzer_CS_Server("127.0.0.1",5050);<br /> $server-&gt;driver ="Chinese";<br /> $server-&gt;config = array(&#39;dictionary_path&#39; =&gt; dirname(FILE) . "/../data/chinese_dict-1.0.dat");<br /> $server-&gt;start();</p>

<p>//请修改&#39;dictionary_path&#39;的值,指向词典的路径。词典是一个一行一个词语的文本文件。</p>

<p>然后建一个ChineseSegmentServer.bat 用来执行上面的那个文件,内容为:</p>

<p>D:\AppServ\php-5.4.8\php.exe -c D:\AppServ\php-5.4.8\php.ini ChineseSegmentServer.php</p>

<p> </p>

<p>接下来,我们就可以在任意php中调用服务器的分词方法:</p>

<p>&lt;?php</p>

<p><br /> define( "ROOT" , dirname( FILE ) . "/../../../" );</p>

<p>set_include_path( "." . PATH_SEPARATOR .<br />                   ROOT."/lib". PATH_SEPARATOR.<br />                   get_include_path()<br />                 );</p>

<p>require_once "Rong/Search/Analyzer/CS/Client.php";<br />         $client = new Rong_Search_Analyzer_CS_Client();<br />         $ret =$client-&gt;segment($text="杨庆荣你好,how are you yang qing rong?");<br />         print_r( $ret );</p>

<p> </p>

上一篇: 通达信极端指标
下一篇: iphone上传的图片变横着了