ホームページ > バックエンド開発 > PHPチュートリアル > PHP簡易中国語単語分割システム(1/2)_PHPチュートリアル

PHP簡易中国語単語分割システム(1/2)_PHPチュートリアル

WBOY
リリース: 2016-07-20 11:08:30
オリジナル
999 人が閲覧しました

PHP の単純な中国語単語分割システムの構造: 最初の単語ハッシュ テーブル、トライ インデックス ツリー ノードの利点: 単語分割では、クエリ対象の単語の長さを予測する必要がなく、ツリー チェーンに沿って単語ごとに照合されます。短所: 構築とメンテナンスが複雑で、多くの単語分岐があり、ある程度のスペースが無駄になります

phpチュートリアルの簡単な中国語単語分割システム

構造: 最初の単語ハッシュテーブル、トライインデックスツリーノード
長所: 単語分割時、クエリされる単語を予測する必要はありません。 、の長さはツリー チェーンに沿って逐語的に一致します。
短所: 構築とメンテナンスが複雑、単語の分岐が多く、ある程度のスペースが無駄になる
* @バージョン 0.1
* @todo が一般的な辞書アルゴリズムを構築し、簡単な単語分割を作成しました
* @author shjuto@ gmail.com
* 辞書ツリー
*
*/

クラストライ
{
,'isword '=> ;false);

for($i = 0;$i children '] [$ character] = array(' isword '=> false);

/**
*/
function & isword($word)
{
$trienode = &$this->trie;
for($i = 0;$i < $word);$ i++)
{
$character = $word[$i];
if(!isset($trienede['children'][$character]))
{
return false;
}
else
{
// 判断词结束
if($i == (strlen($word)-1) && $trienede['children'][$character]['isword'] == true)
{
trueを返す;
}
elseif( $i == (strlen($word)-1) && $trienode['children'][$character]['isword'] == false)
{
falseを返す;
}
$trienode = &$trienode[ '子供'][$character];       
}
}
}


$ find = array(); for($ i = 0; $ i&lt; $ i ++){

if(isset($trienode['children'][$text[$i]]))
{
$word = $word .$text[$i];
$trienode = $trienode['children'][ $text[$i]];
if($prenode == false)
{
$wordrootposition = $i;
}
$prenode = true;
if($trienode['isword'])
{
$find [] = array('position'=>$wordrootposition,'word' =>$word);
}
}
} else
{
$trienode = $tree;
$word = '';
if($ prenode)
{
$i = $i -1;
$prenode = false;
}
}
}


http://www.bkjia.com/PHPjc/444871.html


www.bkjia.com

tru​​e

技術記事 PHP の単純な中国語単語分割システムの構造: 最初の単語ハッシュ テーブル、トライ インデックス ツリー ノードの利点: 単語分割では、クエリ対象の単語の長さを予測する必要がなく、ツリー チェーンに沿って単語ごとに照合されます。短所: 構築とメンテナンスの比較...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート