1. yukinoi

    Posted

    yukinoi
Changes in title
+日本語評価極性辞書を利用したSentiment Analysisライブラリ oseti を公開しました
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,31 @@
+[東北大学の乾・鈴木研究室のページで公開されている日本語評価極性辞書](http://www.cl.ecei.tohoku.ac.jp/index.php?Open%20Resources%2FJapanese%20Sentiment%20Polarity%20Dictionary)を使ったSentiment Analysis (いわゆるネガポジ判定) ライブラリ [oseti](https://github.com/ikegami-yukino/oseti) を公開しました。これは日本語評価極性辞書を用いて文の評価極性 (ポジティブ/ネガティブ) のスコアを計算するものです。
+
+何番煎じかって感じはありますけど、自分のPCの中にだけずっとあるのはもったいないので公開しました。
+
+## インストール
+```
+pip install oseti
+```
+このライブラリはMeCabとneologdnを利用しているためそれらのインストールも必要です。
+
+```
+pip install neologdn
+pip install mecab-python-windows # Windowsの場合
+pip install mecab-python3==0.7 # Mac/Linuxの場合
+```
+
+## 使い方
+
+```python
+
+import oseti
+
+analyzer = oseti.Analyzer()
+analyzer.analyze('天国で待ってる。')
+# => [1.0]
+analyzer.analyze('遅刻したけど楽しかったし嬉しかった。すごく充実した!')
+# => [0.3333333333333333, 1.0]
+```
+テキストを入れると文ごとの評価極性のスコアが出ます。スコアの値は[-1, 1]でプラス値が大きいほどポジティブで、マイナス値が大きいほどネガティブとなります。
+スコアの計算は、単語あるいは用言ごとにポジティブ (+1) あるいはネガティブ (-1) のラベルが付いた辞書を使い、それにマッチすると1あるいは-1の極性値が加えられ、`極性値の総和 / マッチした単語・用言の数`でスコアを出します。たとえば`遅刻したけど楽しかったし嬉しかった。`という文では、遅刻 (-1)、楽しい (+1)、嬉しい (+1) となり極性値の総和は`1`で、マッチした数は`3`なので`1 / 3 = 0.3333`となります。
+なお、「ない」や「ぬ」といった否定表現があると極性値を反転させます。