建造个性化化的coreseek词性标注词典


建造个性化化的coreseek词性标注词典


下边给大伙儿详细介绍一下怎样打造出自身的coreseek词性标注词典。 coreseek本身带的词典并不是非常大,立即应用它词性标注将会会回到很多不起作用結果。要想检索結果准确打造出一个专业的词性标注 词典不可或缺。

i. 最先到搜狗搜索免费下载你需要的词典

ii. 由于免费下载回家的词典并不是文字文档大家不可以立即应用,因此要先变换成小短文文中件。在网上找一个搜狗搜索转 google的实用工具,用它将你免费下载的所有词典转成小短文文中件。合拼为一个文档取名为words.txt。文档要用utf8编号 储存,假如想立即应用我下边的专用工具开展变换得话文档名一定如果words.txt。假如你要自身变换请参照官方网站上的方 法

iii. 如今大家拥有一个基本的词典,但这一词典还不可以立即应用,要再梳理并变换coreseek应用的文件格式才行。 这儿我出示一个自身撰写的微信小程序便捷变换。 源代码以下:

/**
Last edit 2012-8-11
Copyrigh@ 4ji
**/
ini_set( max_execution_time , 6000
$buffer=ini_get( output_buffering
if($buffer)ob_end_flush();
echo 解决新词典...

flush();
$filename = words.txt
$handle = fopen ($filename, r
$content = fread ($handle, filesize ($filename));
fclose ($handle);
$content=trim($content);
$arr1 = explode( \r\n ,$content );
$arr1=array_flip(array_flip($arr1));
foreach($arr1 as $key= $value){
$value=dealchinese($value);
if(!empty($value)){
$arr1[$key] = $value;
}
else{
unset($arr1[$key]);
}
}
echo 解决原先词典...
flush();
$filename2 = unigram.txt
$handle2 = fopen ($filename2, r
$content2 = fread ($handle2, filesize ($filename2));
fclose ($handle2);
$content2=dealchinese($content2, \r\n
$arr2 = explode( \r\n ,$content2 );
echo 删掉同样百度词条...
flush();
$array_diff=array_diff($arr1,$arr2);
echo 文件格式化词典...
flush();
$words=
foreach($array_diff as $k= $word){
$words.=$word. \t1\r\nx:1\r\n
}
//echo $words;
file_put_contents( words_new.txt ,$words,FILE_APPEND);
echo done!
function dealChinese($str,$join= ){
preg_match_all( /[\x{4e00}-\x{9fff}]+/u , $str, $matches); //将汉语标识符所有配对出去
$str = join($join, $matches[0]); //从配对結果中再次组成
return $str;
}
?

应用方式以下:

1. 把words.txt,变换专用工具words_format.php及c:\coreseek\etc\unigram.txt三个文档放进能运作php的 网络服务器同一个文件目录下.

2. 随后浏览words_format.php .

3. 等候程序执行完,時间长度需看你词的是多少,过多得话正中间将会假死。运作完之后在同样文件目录下生产制造 words_new.txt把这一文档加到原unigram.txt的后边,储存预留.

4. 把上边获得的文档unigram.txt拷贝到C:\coreseek\bin随后在指令行下进到文件目录C:\coreseek\bin 实行 mmseg -u unigram.txt 该指令实行后,可能在unigram.txt所属文件目录中造成一个名叫unigram.txt.uni的文档 ,将该文档更名为uni.lib,进行字典的结构。

5. 检测新词典可否正解词性标注。在C:\coreseek\bin下在建文字文档test.txt。键入要检测的重要词。 比如:四季服饰网广州中山大学布料辅料,随后储存。之中一定要包括你新加进词典的某一重要词。比如四季服饰网就是我新加的 重要词。随后在刚刚的指令行下实行mmseg -d C:\coreseek\bin test.txt result.txt .实行完后开启新生儿产 的結果文档result.txt .假如见到词性标注結果相近四季服饰网/x 广州中山大学/x 布料/x 辅料/x 得话证实词典已恰当转化成, 假如见到新重要词被分切开如: 四/x 季/x 服/x 装/x网/x 广州中山大学/x 布料/x 辅料/x得话便说明新的词典其实不恰当。 要查验一下哪儿错误了,再次生产制造。

6. 再把获得的uni.lib拷贝到C:\coreseek\etc遮盖全文件就大获全胜了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://gzhcjxt.cn/ziyuan/4026.html