自然言語処理ライブラリ - Snownlp

自然言語処理ライブラリ - Snownlp

[[399217]]

この記事はWeChatの公開アカウント「Zhibin's Python Notes」から転載したもので、著者はZhibinです。この記事を転載する場合は、Zhibin の Python Notes 公開アカウントにご連絡ください。

みなさんこんにちは、私はZhibinです〜

前回、Python を使用してローカルでテキスト感情分析を実行する方法を紹介したとき、Snownlp ライブラリを紹介しました。その時は、感情分析機能のみを紹介しました。今回は、その他の強力な機能を詳しく紹介します。

01定義とインストール

まずは公式の紹介を見てみましょう。

SnowNLP は Python で書かれたクラスライブラリで、中国語のテキストコンテンツを簡単に処理できます。TextBlob からヒントを得ました。自然言語処理ライブラリのほとんどは基本的に英語用なので、中国語の処理に便利なクラスライブラリを作成しました。また、TextBlob とは異なり、ここでは NLTK は使用されていません。すべてのアルゴリズムは私たち自身で実装されており、いくつかのトレーニング済み辞書が付属しています。なお、このプログラムは Unicode エンコードで処理しますので、使用時には Unicode にデコードしてください。

インストールコマンドは次のとおりです。

  1. pip インストール snownlp

02機能紹介

主に9つの機能があります。これら9つの機能がそれぞれどのような機能を果たすのか紹介します。

01単語分割機能

SnowNLP の単語分割機能は、辞書に従ってテキスト内容を単語の文字列に分割することができます。単語でない場合は別の文字列になります。コードは次のとおりです。

  1. a = SnowNLP( '私は学ぶことが大好きです! ' )
  2. 印刷(a.words)

02品詞タグ付け

SnowNLP の品詞タグ付け機能は各単語にタグを付けることができるため、その単語が名詞なのか、動詞なのか、それとも他の品詞なのかを知ることができます。コードは次のとおりです。

  1. a = SnowNLP( '私は学ぶことが大好きです! ' )
  2. a.tags内のiの場合:
  3. 印刷(i)

03感情分析

前回の記事では、SnowNLPの感情分析機能について詳しく紹介しました。ここでは詳しく紹介しません。興味があれば、この記事の2つのテキスト感情分析方法をご覧ください。どちらがお好みですか?

04ピンイン表示

SnowNLP のピンイン標準機能は、テキスト内のすべての文字にピンインを注釈付けできるため、将来、珍しい文字が読めなくなることを心配する必要はありません~~ コードは次のとおりです。

  1. a = SnowNLP( '私は学ぶことが大好きです! ' )
  2. print(a.pinyin)

05キーワードと概要の抽出

SnowNLP はテキスト内に表示されるキーワードやテキスト要約を抽出できるため、テキストの内容を迅速に理解できます。コードは次のとおりです。

  1. text = ' ' 'コンピュータネットワークシステムとは、通信機器と回線を使用して、地理的に異なる場所にあり独立した機能を持つ複数のコンピュータシステムを相互接続し、完全に機能するネットワークソフトウェアを使用して、ネットワーク内のリソースの共有と情報伝送を実現するシステムです。
  2. コンピュータを相互接続することにより、コンピュータ間の通信が実現され、コンピュータシステム間での情報、ソフトウェア、機器リソースの共有や共同作業が可能になります。
  3. その本質的な特徴は、コンピュータ間でさまざまなリソースを高度に共有し、情報やアイデアを便利に交換できるようにすることです。 '' '
  4. b=SnowNLP(テキスト)
  5. key_word = b.keywords(5) #()内の数字は抽出されたキーワードの数を表します
  6. abs_word = b.summary(1) #()内の数字は抽出された要約の数を表します
  7. 印刷(キーワード)
  8. 印刷(abs_word)

06用語頻度と逆文書頻度を計算する

キーワードの順序は、TF-IDF 値のサイズによって決定されます。TF は用語頻度、IDF は逆文書頻度です。用語頻度は、テキストに出現する単語の頻度です。逆文書頻度は、用語頻度に基づいて各単語に「重要度」の重みを割り当てます。単語が一般的であるほど、割り当てられる重みは低くなり、単語がまれであるほど、重みは高くなります。この重みは逆文書頻度と呼ばれ、そのサイズは単語の一般的度に反比例します。コードは次のとおりです。

  1. c = SnowNLP([[ 'コンピュータ' ], [ 'リソース' ], [ 'システム' ], [ '情報' ], [ '関数' ]])
  2. 印刷(c.tf)
  3. 印刷(c.idf)

07繁体字中国語から簡体字中国語へ

個人的にはこのスキルは比較的不人気な気がし​​ており、現在は基本的に全キャラが簡略化されている。 (あくまでも個人的な意見ですので、気に入らない場合は批判しないでください。) コードは次のとおりです。

  1. d = SnowNLP( '山は高くないが、不死者がいれば魔法の力がある。川は深くないが、竜がいれば魔法の力がある' )
  2. 印刷(d.han)

08文章分割機能

SnowNLP は、「、」および「。」に従ってテキストをセグメント化できます。コードは次のとおりです。

  1. b=SnowNLP(テキスト)
  2. print(b.sentences)

09テキストの類似性

  1. e = SnowNLP([[ 'コンピュータ' , 'リソース' ],
  2. [ 'システム' ]、
  3. [ '情報' '機能' ]
  4. ])
  5. print(e.sim([ 'システム' ]))
  6. print(e.sim([ 'コンピュータ' ]))
  7. print(e.sim([ '関数' ]))

<<:  Java プログラミング スキル - データ構造とアルゴリズム「動的プログラミング アルゴリズム」

>>:  看護師の負担を軽減し、病院の効率化を実現します!医療物流ロボットが「新たな人気」に

ブログ    
ブログ    
ブログ    

推薦する

Web アプリケーション向けビジネス チャットボット 12 選

[[315528]] [51CTO.com クイック翻訳] ビジネスの発展を推進するために、AI(人...

WOT2019 検索推奨アルゴリズムフォーラム: さまざまな分野における AI ベースの検索推奨の実用化

6月21日、WOT2019グローバルテクノロジーサミットとグローバル人工知能テクノロジーサミットが北...

世界中の人工知能企業の数:米国 2,028 社、インド 800 社、中国はどうでしょうか?

テクノロジーは生活を変えるだけでなく、世界も変えることができます。 1760年代初頭、イギリスを中心...

北京初のT5レベル閉鎖型自動運転試験場が正式に運用開始

[[270070]] 7月8日、国家インテリジェント自動車・スマート交通(北京・天津・河北)実証区海...

...

LeCun 氏はリツイートしました: 中国がトップ AI カンファレンスのリストで首位を占め、米国が 2 位です!中国と米国が世界の数学計算分野を支配している

最近、「科学は戦略だ」というネットユーザーが、近年いくつかの海外の主要メディアや調査機関がまとめたグ...

人工知能は人間に取って代わるでしょうか?将来、誰もがスーパーパワーを持つようになると思いますか?

ここ数十年、人類の技術は驚くほど急速に発展してきました。多くの映画、テレビ番組、小説などの影響で、多...

会員数3億人、商品数4億点、大規模電子商取引の商品推奨にディープラーニングを応用!

電子商取引業界では、ユーザーに対する商品の推奨は常に非常にホットで重要なトピックです。比較的成熟した...

人工知能は ICT 専門家にとって味方でしょうか、それとも敵でしょうか?

人工知能 (AI) とそのサブセットである機械学習 (ML) は、今日最も急速に成長しているテクノロ...

情報の流れの中のゲーム:「易典子心」の探求と思考

[51CTO.comより引用] 「易典子訓」アプリを開くと、オープニング画面に「良質なコンテンツ、価...

論文と新しいビデオはこちら、サウスイースト大学が「室温超伝導体」LK-99の奇妙な抵抗挙動を説明

最近、各国の科学者らが韓国の「常温超伝導」物質LK-99に関する研究を発表し、悲観的な見方をする人が...

数学者は解けないコンピュータの問題を発見した

最近、海外メディアの報道によると、数学者たちは自分たちには解決できない機械学習に関連したコンピュータ...

OpenAIの公式プロンプトエンジニアリングガイド:ChatGPTはこのようにプレイできます

ChatGPT や GPT-4 などの大規模言語モデル (LLM) の出現により、迅速なエンジニアリ...

協働ロボットがインダストリー4.0戦略の中核となる理由

[[402166]]今日、ロボットを自動化やインダストリー 4.0 戦略にシームレスに統合する方法に...