qq_17260701 2017-11-25 05:04 采纳率: 0%
浏览 3172
已结题

千万级文本特征向量互相匹配计算余弦距离带来大量计算量该如何解决

        最近公司有个需求,要求要对2800万客户的地址(短中文文本),从中找出两两地址相似的客户。比如A 客户填写的地址与B客户填写的地址相似,不要求完全想等,就可以认为他们可能存在关系。最后把所有两两有地址相似的客户都导出。这个一个全量的、批量的相似地址的计算。
  现在在做的做法是,通过中文分词,Tf-idf 把地址中文文本转成特征稀疏向量,然后这2800万条向量做笛卡尔积或阶乘式的匹配,进行两两余弦距离计算,满足设定夹角余弦距离阈值才给输出,或写进表里。这样做,对于少量数据可以用,但是千万级数据的笛卡尔积或阶乘式的匹配带来的计算量实在太恐怖了,在spark 上跑,一会就full GC了,或是报数组长度超过java允许的最大长度的错误。
  • 写回答

2条回答

  • ccc123_ok 2017-11-25 12:50
    关注

    这种规模的数举,完全在内存中做是不行的,利用数据库,分几个步骤完成就可以了。

    评论

报告相同问题?

悬赏问题

  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题