2
7

More than 3 years have passed since last update.

TextBlobの特性分析を用いる際の注意点

Last updated at Posted at 2019-11-23

TextBlobの特性分析を用いる際の注意点

非常に初歩的な話ですが、センチメント分析ができるライブラリーを用いる際の若干の注意点を発見したので紹介します。

TextBlobの特性分析について

PythonライブラリーのTextBlobについてですが、このライブラリの-.sentimentメソッドを用いれば簡単な文章のPolarityとSubjectivity(Polarity:極性。テキストが肯定的か否定的か。Subjectivity:主体性。話し手の態度が積極的か、消極的か)が分析できます。こちらに分析したレポートがありますので、ぜひご覧になってください。

TextBlobの特性分析はブラックボックス

.sentimentメソッドを用いれば書物の傾向や架空のキャラクターの意識の流れなども分析することができますが、問題はTextBlobのセンチメント分析はブラックボックスだということです。

公式ドキュメントではアントワープ大学の理論言語学・心理言語学研究センター(University of Antwerp, Computational Linguistics and Psycholinguistics)のPatternというテキストマイニングモジュールとデータセットを、そしてNLTKライブラリーのナイーブベイズ分類器を用いているとの案内があります。つまり、この2者のソースを知ってないと「なぜこの極性・主体性の値が出たのか?」がわかりません。.sentimentメソッドによってどのような分類結果が出るのかは今後検証していく必要がありようです。

文脈を考慮した特性分析はできない

何より重要なのが、「TextBlobの.sentimentメソッドは文脈を考慮した特性分析はできない」ということです。
検証の一環としてモーセの10戒のような倫理的な命法を含んだテキストを10行書き、それとまったく反対の命法を書いたテキストを比較したのですが…

We must be ethical.
We must have the independence of will.
We must be based on the concept of duty.
We must think universally.
We must not tell lies.
We must not kill ourselves.
We must cultivate our talent very arbitrary.
We must be kind to each other.
We must preserve our own lives.
We must secure our happiness.
E_pos2.png

We must not be ethical.
We must not have the independence of will.
We must not be based on the concept of duty.
We must not think universally.
We must tell lies.
We must kill ourselves.
We must not cultivate our talent very arbitrary.
We must not be kind to each other.
We must not preserve our own lives.
We must not secure our happiness.
E_neg2.png

どちらのテキストもほぼ同じ極性・主体性を持っているとの結果となりました。
“We”や”must”のような自分を含む人称代名詞や様態を表す助動詞はSubjectivityを高くするのではないかと予測していたのですが、どうやらそうではないようです。また、”not”を加えて文章の意味を全く反対にしても極性・主体性が全く変化しないことにも注目してください。特に、

”We must not be ethical.”(我々は倫理的である必要はない)
”We must not preserve our own lives.”(我々は自分の命を大切にする必要はない)

といった文章も「ポジティブで主体的なテキスト」とみなされています。

TextBlobの特性分析の正しい用途

TextBlobの.sentimentメソッドで分析できるのはあくまで「使われている単語が全体的にポジティブな感じか否か?」といった抽象的な印象であり、「それを書いた人が本当に主体的でポジティブか?」といった具体的なプロファイルを知るには不適切であるということが分かりました。後者の目的で利用するには、文脈から特性分析ができる別のライブラリーか、もしくは文章の意味を構文分析である程度捉えてラベルリングに用いる等の工夫が必要です。倫理的な命法の特性を機械学習のデータセットに用いることが目下の目標ですので、良い解消法が見つかったらまたレポートを書いてみたいと思います。

2
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
7