1.はじめに
JIEBAが最高のPythonの中国の単語要素である、それは主に以下の3つの特性を有しています。
- 正確なモード、フルモード、検索エンジンモード:これは3つのモードの単語をサポートしています
- サポートの伝統的な単語
- カスタム辞書のサポート
インポートjieba インポートjieba.posseg AS PSEG インポート anls AS jieba.analyse
2.セグメンテーション
使用されてもよいjieba.cut
し、jieba.cut_for_search
セグメンテーションのための方法は、二つの構造が返される缶反復発生器は、各用語が使用されてもよい(ユニコード)得られたループの単語の後に得られた、または直接jieba.lcut
、およびjieba.lcut_for_search
直接リターンリスト。どこで:
jieba.cut
そして、jieba.lcut
3つのパラメータを受け取ります。- 必須の単語列(UnicodeまたはUTF-8文字列、GBK文字列)
- パラメータをcut_all:フルモード、デフォルト値を使用するかどうか
False
- HMMパラメータ:HMMモデルは、デフォルト値を使用するかどうかを制御するために使用
True
jieba.cut_for_search
そして、jieba.lcut_for_search
2つのパラメータを受け取ります。- 必須の単語列(UnicodeまたはUTF-8文字列、GBK文字列)
- HMMパラメータ:HMMモデルは、デフォルト値を使用するかどうかを制御するために使用
True
#フルモード seg_list = jieba.cut(" 彼は上海交通大学に来た"、cut_all = TRUE) 印刷(" [フルモード]:" + " / " .join(seg_list))
#正確なモード seg_list = jieba.cut(" 彼は上海交通大学に来た"、cut_all = False)が 印刷(" [完全一致]モード:" + " / " .join(seg_list))
2.2検索エンジンモード
#検索エンジンモード seg_list = jieba.cut_for_search(「彼は電気の学科機械上海交通大学を卒業し、後にマシンの省の上海電気装置研究所で働いていた」) を印刷(「[検索エンジン]モード:」 + 「/ 」 .join( seg_list))
2.3 HMMモデル
#HMMが有効になっていない seg_list = jieba.cut(" 彼は網易杭州研究棟が来た"、HMM = False)が#デフォルトと精度モードは、HMM有効に 印刷(" [ない]が有効HMM:" + " / " .join(seg_list) ) [HMMは有効になっていません]を:彼 /に/ /網易/ハング/研究/ ビル #識別する新しい単語 seg_list = jieba.cut(「彼は網易杭州研究棟が来た」)#デフォルトと精度モードは、HMM有効 印刷(" []新しい単語を識別:" + " / " .join(seg_list)) []新しい単語を識別します。彼は、 /来る/ /網易/ハング調査/ビル
3カスタム辞書を追加します。
3.1ロードされた辞書
使用する jieba.load_userdict(file_name)
辞書をロードします。
#サンプルテキスト sample_text = 「CTFはまた、クラウドコンピューティングの専門家を行うには、イノベーションのディレクターである」 #は辞書ロードされていない 印刷(「[辞書]ロードされていません:」 + 「/ 」.join(jieba.cut(sample_text))) [辞書]ロードされていません:CTFの/ /で/技術革新/オフィス/ディレクター/こと/ある/クラウド/コンピューティング/尊敬/ 専門家を #ロード辞書 jieba.load_userdict(" userdict.txt " ) #は、辞書ロード 印刷(" []辞書はロード:" + ' / ' .join(jieba.cut(sample_text))) []辞書ロードした後:CTFをする/専門家/ /イノベーションオフィス/ディレクター/ / /雲が計算されている/について/
3.2に調整辞書
使用 add_word(word, freq=None, tag=None)
して del_word(word)
、動的にプログラムで辞書を変更します。
jieba.add_word(' グラフェン')#の追加カスタム単語 jieba.add_word(' ケタリング'、FREQ = 42であり、=タグ' NZ ')#設定周波数およびPOS jieba.del_word(' カスタム単語')#削除カスタム単語
使用する suggest_freq(segment, tune=True)
には(またはできない)を分割することができるように、単語頻度で調節可能な1つの単語を。
#前の調整周波数 を印刷(" []単語の前に周波数調整:" + ' / ' .join(jieba.cut(' 間違ったポストに置く場合。'、HMM =偽)))
4キーワード抽出
jiebaキーワード抽出は、TF-IDFアルゴリズムとTextRankアルゴリズムに基づいて、それぞれ、二つの方法を提供します。
4.1 TF-IDFに基づきます
TF-IDF(用語頻度-逆文書頻度、 用語頻度-逆文書頻度)がファイルまたは文書コーパスの集合に単語の重要性を評価するための統計的手法であります
jieba.analyse.extract_tags
TF-IDFアルゴリズム法に基づいてキーワードを抽出することができる4つのパラメータがあります。
- 文:テキストを抽出します
- TOPK:TF IDF最大のいくつかの重量キーワード/、デフォルト値は20であるを返します
- withWeight:戻って右のキーワードの値と一緒にしようとするかどうか、デフォルト値はFalseです
- allowPOS:のみ指定された単語音声が含まれ、デフォルト値は空です
4.2ベースのテキスト、RANK
- TextRankは有名なページランクに基づいて別のキーワード抽出アルゴリズムで、その原則は、紙で見つけることができる順序にテキストを持ち込み:TextRank。
jieba.analyse.textrank
メソッド抽出キーワードに使用してもよい(「jieba.analyse.extract_tags」は同一のパラメータを有するベースのアルゴリズムが、元の音声のデフォルトフィルタをTextRank allowPOS=('ns', 'n', 'vn', 'v')
)。
5音声タグ付け
jieba.posseg.POSTokenizer(tokenizer=None)
新しいカスタム・ワード、
tokenizer
パラメータは内部指定するために使用することができます
jieba.Tokenizer
トークナイザを。
jieba.posseg.dt
スピーチのタグ付けは、デフォルトのワードブレーカです。
= pseg.cutワード(「彼は中国の変更」) 用ワード、フラグに単語: 印刷(" {0} {1} " .format(単語、フラグ)) 彼はR Vの変更 UL 中国のNS
6パラレルワード
ターゲットテキスト行区切りを押した後、単語が割り当てPythonの並列プロセスにテキストのラインの複数の、その後かなりの上昇速度ワードを得るために、結果をマージします。使用法:
- jieba.enable_parallel(4):オープンパラレルワードモード、パラメータは、並列処理数であります
- jieba.disable_parallel():閉じるパラレルモードワード
jieba.tokenize
、元のテキスト内の単語の開始と終了を返すようにする方法を。
= jieba.tokenize結果(U ' 上海義民食品有限公司' ) プリント(" []ノーマルモード" ) のための TK における結果: 印刷(" ワード:{0} \ T \ Tスタート:{} 1 \ T \ T終了:{2} 」 .format([1] TK [0]、TK、TK [2]))