特定の話題について追いかける際、ツイートなどの文章を収集・観察したい事があります。その際、単純に検索して目視するより、多少の分類を行ったり定量的な指標を持っておくと、人がチェックする際には整理された内容を確認するだけでよくなります。
先行研究は沢山あるのですが、今回は文章がポジティブかネガティブか(極性)を判定する事にしました。文中に何度ポジティブとネガティブそれぞれのキーワードが出現するかカウントし、多かった方を文章の評価値とする、シンプルな方法を取ります。この方法は既に何度も試されている内容ですが、とりあえず手元で実装してみましょう。
使用している辞書はこちらのものです。
Open Resources/Japanese Sentiment Polarity Dictionary - 東北大学 乾・岡﨑研究室 / Communication Science Lab, Tohoku University
実装はこちらです。
text2sentiment.rb
吉川英治「三国志」より
『「――そんな所で、今朝からなにを待っているんだね。このごろは、黄巾賊こうきんぞくとかいう悪徒が立ち廻るからな。役人衆に怪あやしまれるぞよ」』
夏目漱石「こころ」より
『精神的に向上心がないものは馬鹿だといって、何だか私をさも軽薄もののようにやり込めるのです。』
坂口安吾「桜の森の満開の下」より
『桜の花が咲くと人々は酒をぶらさげたり団子だんごをたべて花の下を歩いて絶景だの春ランマンだのと浮かれて陽気になりますが、これは嘘です。』
谷崎潤一郎「春琴抄」より
『佐助、それはほんとうか、と春琴は一語を発し長い間黙然と沈思ちんししていた佐助はこの世に生れてから後にも先にもこの沈黙の数分間ほど楽しい時を生きたことがなかった』
形態素解析してないので変な所に適用されているのも問題がありますが、やはり文章全体を否定するような文では誤判定されています。文意を解釈していないので、単語の出現傾向だけを単純に文意とみなすのは難しそうです。
要望抽出に対象を絞った事例
https://kaigi.org/jsai/webprogram/2015/pdf/1H3-3.pdf
この手法を適用したもの
https://developers.cyberagent.co.jp/blog/archives/2707/
係り受け解析を組み合わせる事例
http://qiita.com/kenmatsu4/items/52ab6deffdd61e7d8c0f
再帰的ニューラルネットワークによる手法(を発展させたもの)
http://cl.sd.tmu.ac.jp/~miyazaki/publish/nl201607.pdf
http://cl.sd.tmu.ac.jp/~miyazaki/publish/nl201607_presentation.pdf
東山昌彦, 乾健太郎, 松本裕治, 述語の選択選好性に着目した名詞評価極性の獲得, 言語処理学会第14回年次大会論文集, pp.584-587, 2008. / Masahiko Higashiyama, Kentaro Inui, Yuji Matsumoto. Learning Sentiment of Nouns from Selectional Preferences of Verbs and Adjectives, Proceedings of the 14th Annual Meeting of the Association for Natural Language Processing, pp.584-587, 2008.
先行研究は沢山あるのですが、今回は文章がポジティブかネガティブか(極性)を判定する事にしました。文中に何度ポジティブとネガティブそれぞれのキーワードが出現するかカウントし、多かった方を文章の評価値とする、シンプルな方法を取ります。この方法は既に何度も試されている内容ですが、とりあえず手元で実装してみましょう。
使用している辞書はこちらのものです。
Open Resources/Japanese Sentiment Polarity Dictionary - 東北大学 乾・岡﨑研究室 / Communication Science Lab, Tohoku University
実装はこちらです。
text2sentiment.rb
適用結果
いくつか文章を評価してみましょう。吉川英治「三国志」より
『「――そんな所で、今朝からなにを待っているんだね。このごろは、黄巾賊こうきんぞくとかいう悪徒が立ち廻るからな。役人衆に怪あやしまれるぞよ」』
"score = 0, match = まれ" "score = -1, match = 悪" "score = 0, match = 黄" "score = 0, match = 今" "score = 0, match = 人" "score = -1, match = 賊" "score = 0, match = 朝" "「――そんな所で、今朝からなにを待っているんだね。このごろは、黄巾賊こうきんぞくとかいう悪徒が立ち廻るからな。役人衆に怪あやしまれるぞよ」" "result = -2"
夏目漱石「こころ」より
『精神的に向上心がないものは馬鹿だといって、何だか私をさも軽薄もののようにやり込めるのです。』
"score = -1, match = 軽薄" "score = 1, match = 向上" "score = 1, match = 向上心" "score = 0, match = 神" "score = 0, match = 精" "score = -1, match = 馬鹿" "精神的に向上心がないものは馬鹿だといって、何だか私をさも軽薄もののようにやり込めるのです。" "result = 0"
坂口安吾「桜の森の満開の下」より
『桜の花が咲くと人々は酒をぶらさげたり団子だんごをたべて花の下を歩いて絶景だの春ランマンだのと浮かれて陽気になりますが、これは嘘です。』
"score = 0, match = げた" "score = -1, match = 嘘" "score = 0, match = 花" "score = 0, match = 気" "score = 1, match = 春" "score = 0, match = 人" "score = -1, match = 絶" "score = 1, match = 絶景" "score = 1, match = 陽" "score = 1, match = 陽気" "桜の花が咲くと人々は酒をぶらさげたり団子だんごをたべて花の下を歩いて絶景だの春ランマンだのと浮かれて陽気になりますが、これは嘘です。" "result = 2"
谷崎潤一郎「春琴抄」より
『佐助、それはほんとうか、と春琴は一語を発し長い間黙然と沈思ちんししていた佐助はこの世に生れてから後にも先にもこの沈黙の数分間ほど楽しい時を生きたことがなかった』
"score = 1, match = 楽しい" "score = 0, match = この世" "score = 1, match = 楽" "score = 1, match = 春" "score = 0, match = 助" "score = 0, match = 生" "score = 1, match = 長" "score = 0, match = 沈黙" "佐助、それはほんとうか、と春琴は一語を発し長い間黙然と沈思ちんししていた佐助はこの世に生れてから後にも先にもこの沈黙の数分間ほど楽しい時を生 きたことがなかった" "result = 4"
形態素解析してないので変な所に適用されているのも問題がありますが、やはり文章全体を否定するような文では誤判定されています。文意を解釈していないので、単語の出現傾向だけを単純に文意とみなすのは難しそうです。
先行研究
なお先行研究としては、形態素解析してから辞書を適用したり、係り受け解析を行う、ルールベースで要望を抽出するなど、様々な方法がありますので、まずはこれらの方法を適用していくのが良いでしょう。いくつもの先行研究があります。要望抽出に対象を絞った事例
https://kaigi.org/jsai/webprogram/2015/pdf/1H3-3.pdf
この手法を適用したもの
https://developers.cyberagent.co.jp/blog/archives/2707/
係り受け解析を組み合わせる事例
http://qiita.com/kenmatsu4/items/52ab6deffdd61e7d8c0f
再帰的ニューラルネットワークによる手法(を発展させたもの)
http://cl.sd.tmu.ac.jp/~miyazaki/publish/nl201607.pdf
http://cl.sd.tmu.ac.jp/~miyazaki/publish/nl201607_presentation.pdf
参考文献
小林のぞみ,乾健太郎,松本裕治,立石健二,福島俊一. 意見抽出のための評価表現の収集. 自然言語処理,Vol.12, No.3, pp.203-222, 2005. / Nozomi Kobayashi, Kentaro Inui, Yuji Matsumoto, Kenji Tateishi. Collecting Evaluative Expressions for Opinion Extraction, Journal of Natural Language Processing 12(3), 203-222, 2005.東山昌彦, 乾健太郎, 松本裕治, 述語の選択選好性に着目した名詞評価極性の獲得, 言語処理学会第14回年次大会論文集, pp.584-587, 2008. / Masahiko Higashiyama, Kentaro Inui, Yuji Matsumoto. Learning Sentiment of Nouns from Selectional Preferences of Verbs and Adjectives, Proceedings of the 14th Annual Meeting of the Association for Natural Language Processing, pp.584-587, 2008.