#6検証したい課題と、そのための解決手段①
おはようございます、自分の研究分野を専門外の方にわかりやすいように伝えることの難しさを痛感しています。今回は#2~#5までの先行研究から、
①自分の考えた疑問
②その疑問に対してどういう自然言語処理の手法を用いればいいか
ということを説明したいと思います。
それぞれの自然言語処理の手法の詳細については、かなり細かくなってしまうので今回は概略のみとし、別に記事を作りたいと思います。
疑問1.そもそも再生水はどのような要素と結びつけて考えられているのか?
先行研究で用途との関連性や、水質との関連性といった部分について調べてきましたがまだまだ市民が「再生水を何と結びつけているか」について不透明でした。
しかしあまりにも検討がつかなかったので、
A 「どういうトピックに分けられるか?」という仮説が立てられそうかざっくり調べる→B定量的にトピックを分ける
という順序で調べようと考えました。
疑問1 Aの解決法→ Volume Analysis(WordCloud)
Volume Analysisは文章中に特定の単語が何回登場するか?ということを分析する方法です。その中の頻出単語を確認すれば、再生水についてのトピック分けの仮説ができるのではないかと考えました。
WordCloudはVolume Analysisのツールの一つで、単語の出現頻度を視覚化してわかりやすくしたものです。よく出る単語ほど大きく表示されるようになっています。
WordCloudは文章を集めた後に形態素解析といい、文構造の理解を行います。
ここで名詞や動詞、助動詞を分けて排除します。("は"とか"が"とかは取り除かれています)
例として僕が
「WordCloudはVolume Analysisのツールの一つで、単語の出現頻度を視覚化してわかりやすくしたものです。」という文章をツイートして、これを形態素解析すると
「WordCloud/は/Volume /Analysis/の/ツール/の/一つ/で、/単語/の/出現頻度/を/視覚化し/て/わかりやすく/した/もの/です。」
というふうになります。ここから助詞など不要なものが排除されます。
例としてたまたま僕の好きな箱根駅伝についてのTweetによるWordCloudがあったので例として説明します。このツイートは「#箱根駅伝」のツイートを収集したものと思われます。
この大きい「往路優勝」「応援」など大きい文字のツイートが頻出の単語になります。
やはり、大学名に関してのツイートが多いです。往路優勝した東洋大学をはじめとする大学名がたくさんでているのがわかります。
トピック分けするならば、「森田」「塩尻」「青木」「竹石」など有力・有名ランナーに注目するツイート、「大東文化」「早稲田」「東海」など推しの大学についてのツイート、「感動」「すごい」「頑張れる」など感想を述べているツイートに分類できそうです。このようにしてまずは自分のトピック分けの仮説を立てたいと思いました。
(大東文化大はこの駅伝の1区で新井選手が転倒して失速したため、トレンド入りしたものと思われます。新井選手という文字も見えますね。)
Bトピックを分けたあとに、どのようにそのトピックを定量的に分けることができるか?
1のAではWordCloudを用いてトピックを分けましたが、あくまでこのトピック分けもかなり主観的要素がかなり入っているはずです。同じ図をみても人によって分け方が異なるでしょう。今度はこのトピック分けを客観的に行い自分の仮説を検証することが必要です。トピック分けを客観的に行うことをTopic Modelingを用いて検証することで定量性を追加します。
自分はこのTopicModelingの手段として、初めは単語-文章の関係に着目するLDA(Latent Dirichlet Allocation)を用いてモデリングを行いました。
このLDAでは単語-文章の関係のみで文脈を理解することができなかったため、BERTopicというBERTを用いたモデリングを行いました。
今回は分量が多くなってしまったので、次回はLDAとBERTについて詳細に説明しようと思います。そもそもTwitterのデータをどのようにしてPythonで収集するか、Twitterを用いた社会政策の分析の先行研究の紹介がなかったので、次回はその点について記事を書きたいと思います。
誤った記述等あればご指摘いただけると幸いです。読んでいただきありがとうございました。
出典