SCWS 添加自定義詞典
阿新 • • 發佈:2017-07-31
分詞 scws
最近使用了SCWS進行中文分詞。有個問題就是添加自定義詞典,總結一下吧。
詞典格式的話
# WORD TF IDF ATTR
學五 14.01 5.92 n
去這個網址可查:http://www.xunsearch.com/scws/demo/get_tfidf.php
自己寫的,把要查的詞放到txt中,然後批量查詢~
require_once __DIR__.‘/func/my_curl_function.php‘; require_once __DIR__.‘/func/simple_html_dom.php‘; $url=‘http://www.xunsearch.com/scws/demo/get_tfidf.php‘; $header=array( "Referer:http://www.xunsearch.com/scws/demo/get_tfidf.php", "Cookie:PHPSESSID=1fuk5j3ckb7n55s5j4cltk2sd3" ); $f= fopen(‘tfidf.txt‘,‘r‘); $i=0; $html=new simple_html_dom(); while (!feof($f)) { sleep(1); $contents = array(); $contents = trim(fgets($f)); if($contents=="")continue; //echo $contents; $data[‘data‘]=urlencode(trim($contents)); $returndata=my_curl_post($url,$data,$header); //var_dump($returndata); //正則匹配出TF IDF preg_match(‘/WORD=.*? TF=(.*?) IDF=(.*?)<br \/>/‘,$returndata,$ret); $tf=$ret[1]; $idf=$ret[2]; echo "\n"; echo $contents."\t".$tf."\t".$idf."\tn\r\n"; //$html->load($returndata); //$ps=$html->find(‘p‘); //var_dump($ret); file_put_contents("tfidf.out",$contents."\t".$tf."\t".$idf."\tn\r\n",FILE_APPEND); } fclose($f);
生成好自己的字典後就可以添加了
其實只要添加$so->add_dict(‘路徑‘,詞典);即可.
function scws_text($string) { $so = scws_new(); $so->set_charset(‘utf8‘); $so->set_ignore(true); $so->add_dict(‘/usr/local/scws/etc/dict.xdb‘,SCWS_XDICT_XDB); $so->add_dict(‘/usr/local/scws/etc/dict.utf8.xdb‘,SCWS_XDICT_XDB); $so->add_dict(‘/usr/local/scws/etc/mydict.txt‘,SCWS_XDICT_TXT); $so->send_text($string); $text =""; while ($tmp = $so->get_result()) { foreach($tmp as $key=>$value){ //print_r($tmp); //$tmp .= $tmp; $text .= $value[‘word‘]." "; } } //print_r($text); $so->close(); return $text; }
添加上就可以使用咯
SCWS 添加自定義詞典