改善点をネガポジ判定し、有用な改善点のみ抽出を行ってみる(準備編)
2021 年 12 月 6 日 by itot
当社では、日々終業後に、当日の業務内容を上司へメールで報告します。
週末には、個人が一週間に取り組んだ改善点もあわせて報告します。
そのため、たくさんの改善点が当社リソースとして蓄積されていますが、
現状、過去の改善点を容易に検索することができるような仕組みはありません。
そこで、過去の改善点の中で「有用な改善点」のみを抽出することを目的として、
ネガポジ判定を使ってみることにしました。
(1) 現状
報告内容に記載されている改善点の中には、「特になし」や反省点の多い内容等が多く含まれており、単にSQLのLIKEだけでは、実用的な内容ではないものが取得できてしまいます。
今回の検証のきっかけとして、反省点の多い内容よりも改善結果が得られた内容のほうがポジティブな内容になっているのでは?と推測し、検証に至りました。
(2) 仮説を立てる
ネガポジ判定から抽出が可能であるかどうかを判断するために、以下であることの検証をしていきます。
・ポジティブな改善点は、「有用な改善点」である。
※ここでの「有用」とは、実際に利用して有用な結果が得られたことが記述されている改善方法を指します。
例) Windowsアプリの付箋を使うことで、タスク管理を行うことが出来ました。等
(3)ネガポジ判定
文章に含まれる単語を点数化とし、点数が高いものを「ポジティブ」、点数が低いほど「ネガティブ」とします。
単語毎の点数を記載した辞書は、「単語感情極性対応表」を使います。
「単語感情極性対応表」 では、単語に対して1点から-1点まで記載された辞書となります。
http://www.lr.pi.titech.ac.jp/~takamura/pndic_ja.html
(4)検証環境
検証を行うために使用する言語及びライブラリを記載します。
・言語 : ・Python 3.9.7
※最新はPython 3.10ですが、「pandas」等 まだ対応していないライブラリがあったため3.9を使用しています。
・データベース接続:psycopg2
・形態素解析:sudachipy
・データ解析:pandas
(5)対象データの選定
(1)に記載した通り、現状の改善点には、「特に無し」や「-」等、実用的ではなさそうな内容が見受けられます。
全てのデータでは、件数が莫大となってしまうため、「-」や「特になし」を除くために10文字以上の改善点から
検証していきます。
(6)検証方法
「有用な改善点」と「有用でない改善点」を400件ほど抽出しておきます。(目視で取得)
「有用な改善点」で出現する単語のネガポジ平均値と「有用でない改善点」で出現する単語のネガポジ平均値を比較します。
「有用な改善点」 の平均値のほうが「有用でない改善点」の平均値よりも高ければ、仮説の立証としたいと思います。
次回はこの仮説について検証を行い、結果までをまとめていこうと思います。