PYNLPIR中国の単語、単語雲画像を生成します

NLPIRはじめに

公式サイト:NLPIR-ICTCLAS中国語システム

NLPIR中国の単語分割システム

英語の単語;音声タグ付け、固有表現認識、新しい単語認識、キーワード抽出、主な機能は、中国語の単語が含まれるユーザーサポートは、辞書やマイクロブログの分析を専門。NLPIRシステムは、複数のオペレーティングシステム、開発言語やプラットフォームのさまざまなコーディングの様々なサポートしています。

機能

英語の混合ワード機能

自動中国語と英語の情報語スピーチタグ付けは、すべて中国語の単語、英語の単語分割、POSタグ付け、未知語認識し、ユーザー辞書や他の機能をカバーしています。

キーワード抽出機能

知られている言葉で新しい単語を含め、クロスエントロピーアルゴリズムを自動的に計算キーワードを使用して、ここでのキーワードレポートの第三総会部の第八のセッションを抽出した結果です。

新しい単語識別語と適応機能

情報クロスエントロピーに基づいて、長いテキストの内容から、言語、および適応言語テストコーパスの確率分布モデル、適応セグメンテーションの新機能を見つけます。

プロフェッショナルユーザー辞書機能

単一のユーザー辞書に導入することができ、ユーザ辞書は、バルク中に導入することができます。ユーザがチャネルワードを報告することであり、「チャネルレポート敏感点」を与えることができるように、敏感なポイントは、ユーザ定義の音声タグです。

PYNLPIR

pynlpir Pythonの下のAPIは、直接使用するPIPを搭載することができます

スタートまたは近いAPI

pynlpir.open()
pynlpir.close()

ユーザーの追加辞書

pynlpir.nlpir.ImportUserDict(b'xxx.txt')

最も重要なドロップ、単語

text_segment = pynlpir.segment(contents)

完全なコード

from collections import Counter
import matplotlib.pyplot as plt
import wordcloud
import pynlpir

with open('./paper.txt', encoding='utf-8') as text:
    contents = text.read()

# 分词
pynlpir.open()    # 启动API
pynlpir.nlpir.ImportUserDict(b'user_dict.txt')    # 读取用户字典,路径需要是二进制字符串
text_segment = pynlpir.segment(contents)    # 分词
words = []
disliked_tag = ['numeral', 'time word', 'punctuation mark',
                'preposition', 'conjunction', 'noun of locality']  # 不喜欢的标签
for w in text_segment:
    w0 = w[0].strip()
    if len(w0) > 1 and w[1] not in disliked_tag:    # 删除单个字和不喜欢的标签
        print(w)
        words.append(w0)
pynlpir.close()    # 关闭API
# 词频统计
word_cnt = Counter(words)
print(word_cnt)

# 生成词云
wc = wordcloud.WordCloud(
    scale=8,    # 设置图像清晰度,只在保存时起作用,显示时不起作用
    font_path='C:/Windows/Fonts/simhei.ttf',    # 设置字体格式
    max_words=50,    # 最多显示词数
    max_font_size=100,
    background_color='white'
)
wc.generate_from_frequencies(word_cnt)  # 从字典生成词云
wc.to_file('./1.png')    # 保存词云图像

# 显示词云
plt.imshow(wc)
plt.axis('off')    # 关闭坐标轴
plt.show()    # 显示图像

生成された写真

リリース9件のオリジナルの記事 ウォンの賞賛2 ビュー316

おすすめ

転載: blog.csdn.net/Z_Pythagoras/article/details/105036744