見出し画像

テキスト分析の大通り#07: 品詞と単語の確認

今回は縦持ちした形態素解析の結果を見ていきたいと思います。1つは品詞の確認、そして単語の確認です。ここでの目的は不要な単語を整理統合することにあります。テキスト分析をなぜやるかと言えば、文章を一つ一つ読むことなく、文意を理解したり、判別したり、他のデータと突き合わせがしやすいようにすることです。単語に分解することによってこれが容易になりますが、一方で無駄な単語も多く混じります。単語そのものの出現頻度と、品詞から必要な単語に絞り込むことが必要です。


品詞の確認

前回まででMecabとSudachiの形態素解析器を用いましたが、ある程度辞書登録するとどちらも似通ってきて、結局はどちらかで良いため、今後はMecabの結果を使っていきます。ちなみにMecabとSudachiでは、品詞の考え方も若干異なり、別の分析で利用した際には以下のような違いがありました。

大枠は同じなのですが、Mecabの記号とSudachiの補助記号がほぼ同じ意味、Sudachiは記号という品詞でちょっと特殊な分類がありました。またMecabにはフィラーという品詞があり、口語で特に意味がなく、言葉と言葉をつなぐ「えー」のようなものがあります。そしてSudachiでは名詞が細分化されており、代名詞、形状詞、接尾辞に分かれています。またMecabの接頭詞はSudachiの接頭辞とほぼ同じ意味のようです。

今回のサンプルデータに対する品詞分布を以下のSQLで取得します。

結果は以下の通りです。例えば助詞が一番多いですが、「の」とか「を」のような文字は文意を理解するには不要であるため、削除候補です。


単語の確認

続いて単語の確認です。実はすでに一度形態素解析の処理を回して、「敵わ」、「スベる」、「一人」を辞書登録しています。Sudachiの方でも「山里亮太」、「ぼる塾」、「すいません」を辞書登録しました。以下のSQLで取得しました。

取得結果をワードクラウドで可視化したのが以下です。

品詞ごとのワードクラウド

これらの結果をもとに、例えば以下のような感じで不要なワードを除外をしていきます。

where pos not in ('記号','助詞','助動詞')
and not (pos='名詞' and word in ('他','ん','よう','の','.','!」'))
and not (pos='動詞' and word in ('いる','し','さ','いる','れ','する','せ') )

あと、忘れてましたが「バスケットボール」と「バスケット」は同じ意味なので、以下のような感じで置換をしておく必要があります。

case when word='バスケット' then 'バスケットボール' else word end as word,

発生件数の多い単語は影響が大きく、発生が多い単語から見て削除、統合していくことによって効率的に利用する単語を整理することができます。今回は以上です。

(TeradataやPython、およびPythonライブラリのインストールや環境構築、辞書登録、参考にしたページ等は以下にまとめています)

///

#analytics #形態素解析 #text #nlp #データ #分析 #teradata #sql

いいなと思ったら応援しよう!