Help us understand the problem. What is going on with this article?

【バレンタイン特別企画】LINE相性診断作ってみた!

バレンタインです

2月14日が近づいてきてそわそわしている男の人も多いのではないでしょうか?
今回はLINEのトーク履歴を使って気になる相手との相性を診断するシステムを作ってみました!

詳細については以下の動画で紹介しています
https://youtu.be/LNFFCBIHOXY

どうやって作るの?

作り方は簡単です

  1. 個人LINEのトーク履歴を保存
  2. データ整形
  3. 独自のアルゴリズムでスコア計算

※1はスマホアプリからとPCのアプリから保存するのではテキストのフォーマットが変わるのでスマホアプリから保存してください

個人LINEのトーク履歴を保存

以下の手順でトーク履歴を保存します

line相性診断作ってみた_画像.004.jpeg

データ整形

テキスト形式のトーク履歴をデータ整形していきます
メッセージとターンと会話という3つのデータ形式を定義します

line相性診断作ってみた_画像.006.jpeg

データ構造は一行メッセージがメッセージ、メッセージの集合がターン、自分と相手のターンの集合が会話という関係になります

line相性診断作ってみた_画像.007.jpeg

独自のアルゴリズムでスコア計算

LINE相性診断システムには4つの評価軸があります

line相性診断作ってみた_画像.009.jpeg

会話の長さ

会話の長さでは10日を満点として1会話ごとに計算します

line相性診断作ってみた_画像.011.jpeg

返信間隔

返信間隔では6時間以上経過で0点になるように計算します

line相性診断作ってみた_画像.013.jpeg

内容の質

内容の質は今回は簡単に質問文または絵文字を含む場合に得点が入るようにしました
今後はword2vecやdoc2vecにより「好き」に近い単語が含まれている場合に加点するなどの処理を入れていきたいと思っています

line相性診断作ってみた_画像.015.jpeg

通話時間

通話時間の評価では1時間以上の通話を満点として全通話で平均をとります

line相性診断作ってみた_画像.017.jpeg

結果

結果は以下のようになりました

result.jpg

そこそこ厳しめに作ったので60点あれば上出来といったところです、わら

まとめ

今回は簡単なアルゴリズムで相手との相性を数値化するシステムを作りました!
データがデータだけに心配ですがherokuなどで公開して使ってもらうのもよさそうですね

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした