SlipStupig
2019-05-06 09:06:47 +08:00
兄弟我完全跟你相反啊。。
之前认识了一个非常漂亮的女孩子啊,礼貌性的交换了微信,然后就开始 Q&A 模式,基本上都是我一问她一答,真的非常累,秉着程序员对技术的执著,我就想了是不是因为我情商太低,我完全不知道她喜欢什么,于是我萌生了通过 NLP 去挖掘她喜好和性格特点,这样我不就可以弥补”情商“了嘛,而且还能省力!(想想都觉得我机智)
收集数据:
1.把妹子发过的所有原创微博抓下来
2. 把微信朋友圈所有转发的链接和公众号文章(手动采集)
3. 过去半年的天气数据(大家会很困惑,我后面会解释)
我的目的是想更了解妹子喜好和禁区以及如何激发她表达的欲望,所以需要做几个维度:情感标注、命名实体识别、主题挖掘、协同过滤和综合相关系数,我大概觉得能 cover 的类型数据应该有几类:
- 电影娱乐(数据从豆瓣上抓影评)
- 心灵鸡汤(这个找了好多数据源)
- 各种名著书籍(妹子是学文学的,推测应该喜欢这个,数据来源很多)
- 各种社会新闻( zhihu 和网易新闻)
- 评论数据(用的美团的评论)
模型训练:
- 命名识别标注,通过 jieba POS 识别,主要识别人名&地名,做一个组合
- 情感标注,通过 SVM 跑评论数据
- 主题挖掘,通过 SLDA 设置 100 个 topic,然后合并后最后有 40 个
- word2vec 训练找相似内容
数据挖掘
分析喜好
通过命名识别识别的人名和地名,分别做 tf-idf 求权重出来,把 df < 2 的全部干掉,最后出来高权重人名和地名,包含这些人名和地名的文章都可以算高价值内容(相当于阅读理解的重点)。
话题情感
然后把那几篇文章和微博拉出来,通过内容分析 topic 做一个摘要,进一步合并 topic 后做个情感标注,得到了 topic 相关的正负面信息,最终分析出来,整体情感比较偏向负面,我根据人的经验推测性格是内向型的(很有可能不对。。)。
最相关性
为了了解妹子喜欢什么,用 word2vec 跑出来最相近的书籍、地名和美食,方便我去找更多共同话题
天气因素
这个是受到英国人的启发,没事聊天气,于是我用 naive bayes 分析了情感正负面与天气的关系,最后结论是,影响不大,但是她不喜欢下雨(雨天的时候喜欢发一些负面的东西,很有可能是样本的问题)
数据画像
有了以上数据后,大概基本上掌握了性格特点,通过一顿操作后,做了一些数据完善(过程太长省略了),最终确定了画像结果
说一下最终的结果吧,跟妹子聊天确实话题变多了,隔着屏幕都能感觉她很开心,我就更开心了,但是依然没有改变一问一答的情况,我只能放弃了。大家要引以为戒不要学我这么傻!