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

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

ブログ    
ブログ    
ブログ    

推薦する

30分で独自のディープラーニングサーバーを作成する

新しいプロジェクトを始めるたびに、私はディープラーニング マシンを何度も何度も作成していることに気づ...

人工知能はより安全で環境に優しい交通システムの構築に役立つ

人工知能は、運輸業界が直面している多くの複雑な課題を解決するための最適なテクノロジーとなっています。...

人工知能研究は行き詰まりに陥っているかもしれない

[51CTO.com クイック翻訳]フィリップ・K・ディックの1968年の小説『アンドロイドは電気羊...

AIは教育業界にどのような影響を与えるのでしょうか?これら6つの側面について学ぶ

人工知能は、SFの世界のものから、私たちの日常生活に影響を与える重要な技術へと変化しました。現在、多...

よく使われるソートアルゴリズムの比較と分析

1. よく使われるソートアルゴリズムの簡単な説明以下では、主にソートアルゴリズムの基本的な概念と原則...

AIとコグニティブコンピューティングがIoTデータを理解

今日、世界中がインダストリー4.0とそれがもたらすテクノロジーに注目しています。人工知能 (AI) ...

2022年秋の採用戦争:アルゴリズム職は混み合い、Java開発も後退を余儀なくされる

[[411043]]コンピュータサイエンスの卒業生にとって、アルゴリズム関連の職は基本的に「高給」と...

データセンターにおける AI の未来

人工知能 (AI) はもはや未来的な概念ではなく、スーパーマーケットの物流から医療研究まで、ビジネス...

...

市場規模が100億ドルに迫る中、外科用ロボットはどのように発展していくのでしょうか?

近年、世界各国は医療の発展に継続的に注目しており、スマート医療や精密医療などの概念がこのトレンドを活...

データ汚染:次の大きな脅威

人工知能 (AI) と機械学習 (ML) を使用したセキュリティ ソフトウェアを標的としたデータ ポ...

自動運転ブームがAIチップ戦争に火をつけ、爆発したのはテスラだけではない

以前から大きく騒がれ、メディアもその信憑性を証明する手がかりを繰り返し探していた「テスラの自社開発A...

AI 導入の謎を解明: クラウドとエッジ

現在、ディープラーニング テクノロジーを展開できる方法としては、デバイス上への直接展開、クラウド内へ...