中国語のテキスト分類は、単語を 1 つずつ分離するだけで済む英語のテキスト分類とは異なり、テキストで構成される単語をベクトルを形成するように分離する必要があります。したがって、単語の分割が必要になります。
ここでは、インターネット上で人気のあるオープンソースの単語分割ツールである Jieba を使用します。これにより、文内の単語を 1 つずつ効果的に抽出できます。重要なのは、その使用方法です。
1. インストール
Python ツールの関数ライブラリです。 インストール方法は以下の通りです:
(1) python2.x の下に
全自動インストール: easy_install jieba または pip install。 jieba
半自動インストール: ダウンロードして解凍し、python setup.py install を実行
手動インストール: jieba ディレクトリをカレントディレクトリまたは site-packages ディレクトリに配置
import jieba で参照
(2) python3.x 配下
現在、master ブランチは Python2 のみをサポートしています。
Python3.x バージョンのブランチは、括弧、等号、矢印などの一部の記号を正規表現で照合して削除する必要があります。
具体的なコードは以下の通りです: git clone
git checkout jieba3k
python setup.py install
textParse関数はパラメータとしてセンテンス(文)を受け取り、戻り結果は文の単語からなる配列になります。
吃音の単語分割で最も重要な関数は jieba.cut です。この関数は受信した文を単語に分割し、反復用のジェネレーターを返します。コードの最後の行は、この構造体を配列に変換します。
ストップワードは、中国語に出現するいくつかの助詞または接続詞を指します。これらの単語が除外されない場合、コア単語と分類の間の明確な関係に影響を与えます。たとえば、「の」、「の」、「および」、「および」などです。必要に応じて、この分類シナリオに適したストップ ワードを追加することもできます。中国語のストップワード リストには 1598 のストップワードが含まれています。 github から入手できます。
(1) プロジェクト内に新しいストップワードリスト stopkey.txt を作成します。 すべての中国語のストップワードをこのテキストファイルに入れます。 (2) 中国語の単語を分割するときにフィルター ストップ ワード機能を追加します
4. カスタマイズされた辞書
分類シナリオでは、単語の分割中にこれらの単語が見つかった場合、それらは単一の単語として扱われます。たとえば、データベース内の「多対多」を辞書に追加すると、単語の分割時に上記の単語を「多」、「ペア」、「多」に分割することを回避できます。これらのディクショナリの定義は、分類子のアプリケーション シナリオにも関連します。
(1) カスタム辞書ファイル userdict.txt を追加 (2) 中国語単語分割にカスタム辞書単語分割機能を追加
5. 改善された中国語単語分割機能
コードは次のとおりです (他の一般的な記号も追加されました):
def textParse(sentence): import jieba import re #以下两行过滤出中文及字符串以外的其他符号 r= re.compile("[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*()]+") sentence=r.sub('',sentence) seg_list = jieba.cut(sentence) #print ("Default Mode:", ' '.join(seg_list)) return [tok for tok in seg_list]
以上がjieba中国語単語分割の使用例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。