V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tcslhg123
V2EX  ›  问与答

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

  •  
  •   tcslhg123 · 2018-04-14 10:15:40 +08:00 · 3997 次点击
    这是一个创建于 2434 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    方法多得很,大框架是这样。
    tcslhg123
        13
    tcslhg123  
    OP
       2018-04-14 13:18:59 +08:00
    @stabc 不好意思。昨天面试,标题上打错了。
    zix
        14
    zix  
       2018-04-14 13:26:56 +08:00
    @takato typo: 「自变分编码器」->「变分自编码器」,Variational Auto-Encoder
    prolic
        15
    prolic  
       2018-04-14 13:49:40 +08:00 via Android
    分解一下,如何识别相似的内容?根据要求,从编辑距离,tfidf,w2v+rnn
    应对海量数据?先了解下需求是离线还是流式,离线的话用 MapReduce,spark 等技术,流式的用 kafka,抽取特征,建个特征库,新来的去比较
    takato
        16
    takato  
       2018-04-14 16:30:41 +08:00
    @zix 谢谢纠正。平常都是打 autoencoder。。今天迷一样的拼中文。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5236 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:38 · PVG 14:38 · LAX 22:38 · JFK 01:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.