ホームページ  >  記事  >  バックエンド開発  >  Python を使用した中国語単語の分割

Python を使用した中国語単語の分割

高洛峰
高洛峰オリジナル
2016-10-18 09:18:341516ブラウズ

現在、私がよく使う分詞には吃音分詞、NLPIR分詞などがあります

最近は吃音分詞を使っていますが、これがなかなか使いやすいです。

1. 吃音単語セグメンテーションの概要

中国語単語セグメンテーションに吃音単語セグメンテーションを使用するには、次の 3 つの基本的な実装原則があります:

効率的な単語グラフ スキャンはトライ ツリー構造に基づいて実装され、可能性のあるすべての要素から構成される有向非巡回文中の漢字の語形成を生成 図(DAG)

単語頻度に基づいて最大確率パスと最大セグメンテーションの組み合わせを見つけるために動的プログラミングが使用されます

未登録の単語については、語形成に基づくHMMモデル漢字の能力が使用され、ビタビアルゴリズムが使用されます

2. インストールと使用 (Linux)

1. ツールパッケージをダウンロードし、解凍してディレクトリに入り、python setup.py install を実行します

ヒント: a. ダウンロードしたソフトウェアの Readme を最初に読んでから、操作を実行することをお勧めします。 (readme を読まない場合は、+ Baidu を直接試してください。多くの回り道をすることになります)

b. インストール コマンドを実行すると、エラーが発生しました: 権限がありません。 (権限が不十分なためにこの問題が発生する人もいます。実行: sudo !! 「!!」は前のコマンドを意味し、ここでは上記のインストール コマンドを指します)、sudo を使用すると正常に実行できます。


2. 単語分割に Jieba を使用する場合、必ず使用する関数は次のとおりです。 jieba.cut(arg1, arg2); 事前に次の 3 つの点を理解する必要があります。使用できます

a.cut メソッドは 2 つの入力パラメーターを受け入れます。最初のパラメーター (arg1) はセグメント化する必要がある文字列で、arg2 パラメーターは単語のセグメント化モードを制御するために使用されます。

単語分割モードは 2 つのカテゴリに分かれています。デフォルト モードは、テキスト分析に適した最も正確な形式に文を切り出します。完全モードは、文内の構成可能なすべての単語をスキャンします。検索エンジンに適した単語に変換します

b. 待機中 単語分割の文字列は、gbk 文字列、utf-8 文字列、または unicode にすることができます

Python を使用する人は、ASCII に基づいて文字を処理することに注意する必要があります。コード内に ASCII に属さない文字が含まれている場合 ( に中国語の文字を使用している場合など)、「ASCII コーデックでは文字をエンコードできません」というエラー メッセージが表示されます。解決策は、先頭にステートメントを追加することです。ファイルの #! -*-coding:utf-8 -*- は、Python コンパイラーに「私のファイルは utf-8 を使用してエンコードされています。デコードする場合は utf-8 を使用してください」と伝えます。 (ここで、このコマンドはファイルの先頭に追加する必要があることに注意してください。先頭に追加しないと、エンコーディングの問題が依然として存在し、解決されません。) エンコーディングの変換については、ブログ投稿 (ps) を参照してください。 : 「import sys reload(sys) sys.setdefaultencoding('utf-8')」の個人的な理解 これらの文は「#! -*-coding:utf-8 -*- ")と同等です

cが返す構造.jieba.cut は反復可能なジェネレーターであり、for ループを使用して単語分割後に取得した各単語 (Unicode) を取得することも、リスト (jieba.cut(...)) を使用してリストに変換することもできます

3. 以下は jieba での使用方法の例です。 説明として:

#! -*- coding:utf-8 -*-
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all = True)
print "Full Mode:", ' '.join(seg_list)
  
seg_list = jieba.cut("我来到北京清华大学")
print "Default Mode:", ' '.join(seg_list)

出力結果は次のとおりです:

Full Mode: 我/ 来/ 来到/ 到/ 北/ 北京/ 京/ 清/ 清华/ 清华大学/ 华/ 华大/ 大/ 大学/ 学  
Default Mode: 我/ 来到/ 北京/ 清华大学

3. 吃音中国語単語分割のその他の機能

1.カスタム辞書を追加または管理します

吃音に関する辞書の内容はすべて dict txt に保存されており、dict.txt の内容を継続的に改善できます。

2. キーワード抽出

単語分割後のキーワードのTF/IDF重みを計算して重要なキーワードを抽出します。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。