#記事の趣旨
理系元カノとの間に生じたコミュニケーションに関する課題に、簡単なアプリケーションのプロトタイプを開発して、対応していく過程を日記として残します。同じ悩みを持つエンジニアの方の参考になれば嬉しいです。
主に自然言語処理やスクレイピングの技術を使って解決していこうと思います。
#課題
彼女がイライラしている時に言い方がキツくて、お互いが嫌な気持ちになってしまい、会えなくなってしまうこと。彼女は、イライラが収まるまで会わなければいいと言うが、イライラしている状態でもしっかりコミュニケーションをとって、彼女に会いたいと思ってもらえるようにしたい。
#解決策
彼女から送られてくるテキストを優しい言い方に変えて、自分が嫌な気持ちにならないようにする。例えば「ありえないんだけど!」といったキツめの語句をあらかじめ指定し、テキストに含まれていたら変換する。
#プロトタイプ
今回はこちらの記事を参考にさせていただきました。
https://qiita.com/anmorenight/items/3be08333d85648faad43
こちらの記事では、Sudachipyで形態素解析を行い、特定の語句を検出して、変換しています。今回は、彼女がよく使う言葉や口調を基に辞書を作り、上記の記事の方法を応用しました。
#結果
結果はこんな感じ。
あとは、彼女がよく使う言葉を見つけ次第、辞書に登録していくだけで、文中に含まれている語句であっても自動で変換されます。今回は、上記の2つを含め彼女の口癖を6つ辞書に登録しましたが、自分の記憶とLINEのトークを基に彼女の口癖を分析して、手動で辞書に追加していったので、少し大変でした。ただ、実装しながら相手の口癖に気づくことができたので面白かったです。
Future WorkとしてLINEの履歴から自動で相手の口癖を検出できるようにできればと思います。
#感想
今回は辞書を使って原始的にやりましたが、もっと効率の良い変換方法はあると思います。発見次第、改良しようと思います。
あとはLINEなどと連携できればと思い、LINEのAPIを調べて見ましたが、個人間のトークに組み込むのはやはり難しそうですね。。。メッセージをスクレイピングして、LINE BOTなどを介して変換するしかないんですかね。もし何か良い方法をご存知の方がいれば、教えていただければと思います。
次回は、彼女との会話を弾ませるために、相手の興味のあるワードを相手の発言から検出してくれるプログラムを実装してみたいと思います。