今日面试,被问了一个问题,如何查找出相似内容的数据。数据形式比较大,类似与新闻详情。数据量上千万

2018-04-14 10:15:40 +08:00
 tcslhg123

如题,不知道论坛大神有没有好的方法,语言不限。思路也行,我想了一晚上,也想不到什么好的方法,纠结中。

3841 次点击
所在节点    问与答
16 条回复
noNOno
2018-04-14 10:17:25 +08:00
集群用 spark 跑 w2v 找相似度?
stevenbipt
2018-04-14 10:19:25 +08:00
用统计的方法?
ke1e
2018-04-14 10:20:10 +08:00
这不就是推荐系统么
intheplants
2018-04-14 10:29:45 +08:00
simhash
tcslhg123
2018-04-14 10:30:52 +08:00
@noNOno 从你给我的方法看来,这个是大数据相关的,有点超出我的技术领域,还是表示感谢,并学习。
neosfung
2018-04-14 10:42:28 +08:00
simhash 是搜索引擎常用的
Yourshell
2018-04-14 11:04:00 +08:00
count word
amoia50
2018-04-14 11:24:47 +08:00
了解一下搜索相关的,@intintheplants 也是一种方法,实际使用基于 solr 和 elastic 构建搜索引擎,先索引数据,再查询
stabc
2018-04-14 11:43:28 +08:00
你今天面试,被问这个问题,然后想了一个晚上,今天发帖?
takato
2018-04-14 11:51:30 +08:00
自变分编码器 + Embedding 搞定
imn1
2018-04-14 11:57:37 +08:00
@stabc
你也不知道他在哪个时区啊,说不准发帖时他那边还没到零时
zix
2018-04-14 12:56:05 +08:00
给定一条数据,先用倒排索引用来找候选集,然后用文本相似方法计算相似得到 topn 的结果或者相似超过阈值的结果。

考察效率的话,重点讲倒排索引吧,两两对比怕会被喷死,毕竟有些数据相互之间相似度极低没有去计算的必要能先排除掉就排除掉。考察文本相似的话,可以从余弦相似开始,进一步可能要考虑语义相似,那就上 word2vec 或者深度学习匹配模型。

方法多得很,大框架是这样。
tcslhg123
2018-04-14 13:18:59 +08:00
@stabc 不好意思。昨天面试,标题上打错了。
zix
2018-04-14 13:26:56 +08:00
@takato typo: 「自变分编码器」->「变分自编码器」,Variational Auto-Encoder
prolic
2018-04-14 13:49:40 +08:00
分解一下,如何识别相似的内容?根据要求,从编辑距离,tfidf,w2v+rnn
应对海量数据?先了解下需求是离线还是流式,离线的话用 MapReduce,spark 等技术,流式的用 kafka,抽取特征,建个特征库,新来的去比较
takato
2018-04-14 16:30:41 +08:00
@zix 谢谢纠正。平常都是打 autoencoder。。今天迷一样的拼中文。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/446717

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX