'}]あとはPN値の平均をとるだけ(上記の文だとPN値を持った語が1つしかありませんが)なので、正直こんなゴツい形式のデータにする必要なかったと思いますが、先ほども述べたように「何かに使うかも」と思った経緯からこんな形になっております。PN値の追加」「PNの平均値の算出」を繰り返していき、1つのリストにまとめます。###これを、ツイート全件履歴データフレームの右端に追加して、PN極性値でソートし、CSVで吐き出します。)結果をみてみるさてどんな結果が得られたのかみてみたいと思います。ネガティブな方から十数件をみてみますと、ベッキーさんの不倫事件を擁護しているツイートが最もネガティブという判定になりました。なんでこんなことになったのか確認してみます。Table上では最もネガティブな語ということになっているので、最もネガティブなツイートという判定になったわけですね。そもそもこの文、「か」を付けた反語になっているわけですが、このように文法構造を無視して単語だけで評価すると無理があるということが、この1例からも分かります。「良くない」とか「優れていないというわけでもない」みたいな表現を的確に評価しようと思ったら、「良い」「優れる」の部分だけみるのではなく、例えば係り受け解析というのを行って、これらの表現が打ち消されたりしていないかをきちんと調べないといけません。係り受け解析にはCaboChaというツールがありますので、これは後日また使ってみようかと思います。'なう'}このように、「なう」が形容詞の「ない」として判定されており、ないは否定的な言葉なので、ネガティブな評価となってしまってるわけです。上の出力には出てませんが、別途確認したら「連用ゴザイ接続」という活用形として判定されてました。「なう」は一つの典型例ですが、要するにTwitter独自の表現を辞書に取り込まないと、適切に評価できないことが分かります。つぎにポジティブなほうから十数件をみてみましょう。これはネガティブ側に比べれば比較的当たってる気もしますが、「楽天ソーシャルニュースってどこが面白いんだ」のように、反語的な表現が適切に評価できていないのは先ほどみたのと同じですね。「ない」の扱いはややこしいので、ややこしい処理を実装すべきなんですが、試しに逆に「ない」を辞書から削除して分析してみたらネガティブランキングは以下のようになりました。pn_df.drop(rem_ix)次に、全体として極性値の分布がどうなっているのかをみてみます。matplotlibでヒストグラムを描きます。value")plt.ylabel("Frequency")全体的に、負の値に偏っています。Tableに載っている単語を1語も含まないツイートが0点と評価されてるからで、これは適切な処理ではないので無視してください。ところでこの結果が、ネガティブなツイートが多いことを意味しているのかというと、そうでもない可能性があります。value")plt.ylabel("Frequency")こんなふうになっており、そもそも大半が負の値を持つ語であるということが分かります。いう、辞書のクセなんでしょうが、結局どのへんがニュートラルなのかはよく分かっておりません。まとめ今回は、負のオーラを発する自分のツイートを発掘するために、感情分析を試みました。結果的には、単にツール(MeCabや極性辞書)の使い方を学んだだけに終わり、精度的に使いものになるような処理はできてないため、「まとめて削除」まではしていません。文法構造を考慮に入れていないTwitterの独特の表現を辞書に取り込むことができていないといった点になると思われます。そのあたりに課題があるということを、具体例をもって体験できたので、勉強にはなりました。今後は、処理を少しずつ改善して、納得のいく結果が出るかどうかをまた検証していきたいと思います。最後に、感情分析に関する、参考になりそうな研究(日本語のもの)を列挙しておきます。Tableには基本形だけみると同一となる語(形容詞の「ない」と助動詞の「ない」など)がいくつかあるので、基本形だけ見てPN値を取ってきているところの処理には、誤りが含まれる可能性があります。取り急ぎ修正はしてないです。いうのを考えると、上で使わなかった、形態素解析結果の品詞情報が、マッチング精度を上げるのに使えますし、さらに項目を追加して読み方の情報も取っておくべきですね。Table内に不可解な情報をみつけました。-0.191609自動生成された辞書なので、こういう誤りみたいなものも含まれてるんでしょうね。「人気」とか「大人」に関して実際にはほとんど使わない読み方が登録されているあたりに、このテーブルが、コーパスよりは日本語辞書を土台にして作られていることが伺えます。*1:読み仮名のことを「reading」としているサイトがあったのでそうしましたが自信ないです。speech)のことです。PNはポジネガの値という意味で付けました。R、Pythonの勉強の過程をメモっていくノートです。初心者なのであまり信用なさらぬよう。間違いについてはコメント等でご指摘頂ければ幸いです。6つぶやき@statsbeginnerさんのツイートはてなブログをはじめよう!midnightseminarさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。