Pythonに基づくワードクラウドの作成

1サードパーティライブラリのインストールと導入

1.1 Pythonサードパーティライブラリjieba(中国語の単語分割)

1.特徴

(1)3つの単語分割モードをサポート:

  • 正確モード、文章を最も正確に切り取ろうとし、テキスト分析に適しています。
  • フルモード、文章内の単語にできるすべての単語をスキャンします。速度は非常に高速ですが、あいまいさを解決することはできません。
  • 検索エンジンモードは、正確なモードに基づいて、長い単語を再度分割し、検索エンジンの単語の分割に適した再現率を向上させます。

(2)伝統的な中国語の単語分割をサポート

(2)カスタム辞書をサポート

(3)MITライセンス契約

2.インストールと使用方法

pipインストールjieba / pip3インストールjieba

インポートjiebaによる参照

3.主な機能

以下に詳述するように、単語セグメンテーション機能は主にここに含まれます:

(1)jieba.cutメソッドは3つの入力パラメーターを受け入れます。

  • 単語の分割が必要な文字列。
  • cut_allパラメータは、フルモードを使用するかどうかを制御するために使用されます。
  • HMMパラメーターは、HMMモデルを使用するかどうかを制御するために使用されます。

(2)jieba.cut_for_searchメソッドは2つのパラメーターを受け入れます。

  • 単語の分割が必要な文字列。
  • HMMモデルを使用するかどうか。

この方法は、検索エンジンが反転した単語のセグメンテーションを構築するのに適しており、粒度は比較的細かい。

1.分割する文字列は、Unicode、UTF-8文字列、GBK文字列のいずれかです。

2.予期せずにUTF-8にデコードされる可能性があるGBK文字列を直接入力することはお勧めしません。

3. jieba.cutとjieba.cut_for_searchによって返される構造は反復可能なジェネレータです。forループを使用して、単語の分割後に取得された各単語(Unicode)を取得するか、jieba.lcutとjieba.lcut_for_searchを使用して直接リストを返します。

(3)jieba.Tokenizer(dictionary = DEFAULT_DICT)異なる辞書を同時に使用するために使用できる新しいカスタムトークナイザーを作成します。jieba.dtはデフォルトのトークナイザであり、すべてのグローバルトークナイザ関連の関数はこのトークナイザのマッピングです。

4.サンプルコード

(1)実装コード:

1  コーディング= utf-8 
2  インポートjieba
 3  
4テキスト= " 静かに来たのでゆっくりと去った" 
5  
6 seg_list = jieba.cut(text、cut_all = False)
 7  print" デフォルトモード:" + " / " .join(seg_list))       ファインモード
。8  
。9 seg_list = jieba.cut(テキスト、cut_all = 真)
 10  印刷" フルモード:" + " / " .join(seg_list))          フルモード
11  
12 seg_list = jieba.cut_for_search(テキスト)
 13  印刷" 検索モード:" + " / " .join(seg_list))        サーチエンジンモード

 

(2)演算結果:

 

1.2 Pythonサードパーティライブラリwordcloud(ワードクラウド)

1.インストールと使用方法

pip install wordcloud / pip3 install wordcloud

インポートワードクラウドを介して引用

2.主な機能

Wordcloudは単語雲をオブジェクトとして扱い、テキスト中の単語の出現頻度をパラメータとして単語雲を描画し、単語雲の大きさ、色、形などを設定することができます。

単語の雲を生成する手順は次のとおりです。

(1)オブジェクトパラメータの構成

(2)単語の雲のテキストを読み込む

(3)出力ワードクラウドファイル(指定しない場合、デフォルトの画像サイズは400 * 200です)

3.共通パラメーターリスト

 

2単語の雲を作る

2.1  「新しいコロナウイルスの無症候性感染患者の管理基準」のワードクラウドを生成する

(1)実装コード:

1  コーディング= utf-8 
2  import matplotlib.pyplot as plt
 3  import jieba
 4  from wordcloud import WordCloud
 5  
6  1.
オープンでテキストテキストデータ7読み取る" test.txt "' r ' )をf:8 として
            text = f.read()
 9  
10  2.
分詞11 cut_text = "  " .join(jieba.cut(text))
 12  
13  3.単語の雲を生成
14 wc =WordCloud(
 15      font_path = R ' \ simhei.ttf ' 16      BACKGROUND_COLOR = ' ホワイト' 17      幅= 1000 18      、高さ= 880 19  ).generate(cut_text)
 20  
21  4显示词云图片
22 PLT。 imshow(wc、interpolation = " bilinear " 23 plt.axis(' off ' 24 plt.show()

 

(2)演算結果:

 

2.2「大学卒業生の雇用と起業家精神において良い仕事をすることに関する通知」の単語の雲を生成する

(1)実装コード:

1  coding = utf-8 
2  import PIL.Image as image
 3  import numpy as np
 4  import matplotlib.pyplot as plt
 5  import jieba
 6  from wordcloud import WordCloud、ImageColorGenerator
 7  
8  def GetWordCloud():
 9      path_txt = " test.txt " 
10      path_img = " test.jpg " 
11      1.
      open(path_txt、' r 'を使用した读入txt文本数据12)as f:
 13            text = f.read()
 14      background_image = np.array(image.open(path_img))
 15  
16      2.分词
17      cut_text = "  " .join(jieba.cut(text))
 18  
19      3.生成词云
20      wc = WordCloud(
 21          font_path = r ' 。\ simhei.ttf ' 22          background_color = ' white ' 23          mask = background_image
 24      ).generate(cut_text)
 25 
26      色値を生成するために
27      image_colorsを= ImageColorGenerator(background_image)
 28  
29      4表示ワードクラウド画像
30      plt.imshow(wc.recolor(color_func = image_colors)、補間= " バイリニア" 31である      plt.axis(' OFF ' 32      ()plt.show
 33は 
34であり、 
35  IF  __name__ == " __main__ " 36      GetWordCloud()

 

(2)演算結果:

 

Pythonサードパーティライブラリjieba(中国語の単語分割)

おすすめ

転載: www.cnblogs.com/yangmi511/p/12676116.html