自然言語処理ライブラリ - 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 プログラミング スキル - データ構造とアルゴリズム「動的プログラミング アルゴリズム」

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

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

ディープラーニングに関しては、こちらをお読みください

編集者注: この記事の著者は、USTC のジュニアクラスの卒業生で投資家の Wang Chuan で...

...

機械学習プロジェクトにおけるデータの前処理とデータ ラングリング

要点一般的な機械学習/ディープラーニング プロジェクトでは、データ準備が分析パイプライン全体の 60...

人工知能が仕事を奪っていますが、将来の職場で私たちは何のために戦うのでしょうか?

病院では、人工知能 (AI) は人間の医師よりもレントゲンの分析が得意です。法律事務所では、AI は...

...

ビジネスコミュニケーションで機械学習を活用する9つの方法

人工知能 (AI) と機械学習 (ML) は、職場でも家庭でも、私たちの生活に欠かせないものになりつ...

アリババが自社開発したAI推論チップがリリース、Hanguang 800は他のチップより10倍強力

[51CTO.comよりオリジナル記事] 9月25日、DAMOアカデミーの張建鋒学長は杭州雲奇カンフ...

AIとコネクテッドデバイスの急成長が新たなデジタル格差を生み出している理由

接続デバイスと AI 言語モデルの急速な成長により、私たちの生活、仕事、コミュニケーションの方法が変...

メタは商業用人工知能に注力するためタンパク質折り畳みチームを解散すると報道

フィナンシャル・タイムズによると、8月8日、ソーシャルメディア大手のMeta(旧Facebook)は...

クリアビューAI、民間企業への顔認識技術の販売を永久に禁止することに同意

顔認識監視会社Clearview AIは、裁判所との和解により、ほとんどの民間企業による同社のサービ...

...

機械学習の背後にある数学的な柱を理解するには、この 5 冊の本が役立ちます。

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

図: ページ置換アルゴリズム

[[398509]]この記事はWeChatの公開アカウント「Jingyu」から転載したもので、著者は...

ディープラーニングの「記憶喪失」に応えて、科学者たちは類似性に基づく重み付けインターリーブ学習を提案し、PNASに掲載された。

人間とは異なり、人工ニューラル ネットワークは新しいことを学習するときに以前に学習した情報をすぐに忘...