Closed4

辞書ベースの日本語感情分析ライブラリ「oseti」を試す

kun432kun432

インストール

Colaboratoryで。

Mecabと辞書をインストール

!apt install mecab mecab-ipadic-utf8

MecabのPythonラッパーをインストール

!pip install mecab-python3

osetiをインストール

!pip install oseti
!pip freeze | grep oseti
出力
oseti==0.4.2

mecabの設定ファイルは/usr/local/etc/mecabrcを期待しているが、パッケージでインストールされたものは/etc/mecabrcにあるので、シンボリックリンクを貼っておく。

!ln -s /etc/mecabrc /usr/local/etc/mecabrc

感情分析

ではテキストを使って解析してみる。

import oseti

analyzer = oseti.Analyzer()

analyze

文単位でネガポジ判定。スコアは-1〜1。

analyzer.analyze('今日の競馬はボロ負けやった。。。でも楽しかった!')
出力
[-1.0, 1.0]

1文にネガポジ要素があれば平均スコアになる。

analyzer.analyze('今日の競馬はボロ負けやったけど、いいレースが見れたし、楽しかった!')
出力
[0.3333333333333333]

count_polarity

ネガポジ要素の数を返す。

analyzer.count_polarity('今日の競馬はボロ負けやった。。。でも楽しかった!')
出力
[{'positive': 0, 'negative': 1}, {'positive': 1, 'negative': 0}]
analyzer.count_polarity('今日の競馬はボロ負けやったけど、いいレースが見れたし、楽しかった!')
出力
[{'positive': 2, 'negative': 1}]

analyze_detail

解析の詳細

analyzer.analyze_detail('今日の競馬はボロ負けやった。。。でも楽しかった!')
出力
[{'positive': [], 'negative': ['負け'], 'score': -1.0},
 {'positive': ['楽しい'], 'negative': [], 'score': 1.0}]
analyzer.analyze_detail('今日の競馬はボロ負けやったけど、いいレースが見れたし、楽しかった!')
出力
[{'positive': ['いい', '楽しい'], 'negative': ['負け'], 'score': 0.3333333333333333}]

ユーザ辞書の適用

無理やりいじってみる。

analyzer = oseti.Analyzer(
    # 名詞単位での指定
    word_dict={'競馬': 'n', 'レース': 'p'},
    # 用言(動詞・形容詞等)単位での指定
    wago_dict={'見れる': 'ポジ'}
)

それぞれのネガティブ・ポジティブの指定が違うのだけど、これは日本語評価極性辞書 のそれぞれのフォーマットに合わせてあるように見える。

https://www.cl.ecei.tohoku.ac.jp/Open_Resources-Japanese_Sentiment_Polarity_Dictionary.html

analyzer.analyze_detail('今日の競馬はボロ負けやった。。。でも楽しかった!')
出力
[{'positive': [], 'negative': ['競馬', '負け'], 'score': -1.0},
 {'positive': ['楽しい'], 'negative': [], 'score': 1.0}]
analyzer.analyze_detail('今日の競馬はボロ負けやったけど、いいレースが見れたし、楽しかった!')
出力
[{'positive': ['いい', 'レース', '見れる', '楽しい'],
  'negative': ['競馬', '負け'],
  'score': 0.3333333333333333}]
kun432kun432

ライセンスはMIT

https://github.com/ikegami-yukino/oseti/blob/master/LICENSE

ただし、日本語評価極性辞書の使用にはクレジットが必要

日本語評価極性辞書(用言編)ver.1.0(2008年12月版)/ Japanese Sentiment Dictionary (Volume of Verbs and Adjectives) ver. 1.0

  • wago.121808.pn
  • 著作者: 東北大学 乾・岡崎研究室 / Author(s): Inui-Okazaki Laboratory, Tohoku University
  • 本辞書を利用される場合は参考文献 1 (小林, 2005) を引用ください.
  • クレジットを明記していただければ,商用利用も可能です.

日本語評価極性辞書(名詞編)ver.1.0(2008年12月版)/ Japanese Sentiment Dictionary (Volume of Nouns) ver. 1.0

  • pn.csv.m3.120408.trim
  • 著作者: 東北大学 乾・岡崎研究室 / Author(s): Inui-Okazaki Laboratory, Tohoku University
  • 本辞書を利用される場合は参考文献 2 (東山, 2008) を引用ください.
  • クレジットを明記していただければ,商用利用も可能です.
このスクラップは2025/02/15にクローズされました