バレンタインです
2月14日が近づいてきてそわそわしている男の人も多いのではないでしょうか?
今回はLINEのトーク履歴を使って気になる相手との相性を診断するシステムを作ってみました!
詳細については以下の動画で紹介しています
https://youtu.be/LNFFCBIHOXY
どうやって作るの?
作り方は簡単です
- 個人LINEのトーク履歴を保存
- データ整形
- 独自のアルゴリズムでスコア計算
※1はスマホアプリからとPCのアプリから保存するのではテキストのフォーマットが変わるのでスマホアプリから保存してください
個人LINEのトーク履歴を保存
以下の手順でトーク履歴を保存します
データ整形
テキスト形式のトーク履歴をデータ整形していきます
メッセージとターンと会話という3つのデータ形式を定義します
データ構造は一行メッセージがメッセージ、メッセージの集合がターン、自分と相手のターンの集合が会話という関係になります
独自のアルゴリズムでスコア計算
LINE相性診断システムには4つの評価軸があります
会話の長さ
会話の長さでは10日を満点として1会話ごとに計算します
返信間隔
返信間隔では6時間以上経過で0点になるように計算します
内容の質
内容の質は今回は簡単に質問文または絵文字を含む場合に得点が入るようにしました
今後はword2vecやdoc2vecにより「好き」に近い単語が含まれている場合に加点するなどの処理を入れていきたいと思っています
通話時間
通話時間の評価では1時間以上の通話を満点として全通話で平均をとります
結果
結果は以下のようになりました
そこそこ厳しめに作ったので60点あれば上出来といったところです、わら
まとめ
今回は簡単なアルゴリズムで相手との相性を数値化するシステムを作りました!
データがデータだけに心配ですがherokuなどで公開して使ってもらうのもよさそうですね