- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
8 Milvus 向量搜索工具在搜狐的应用-王婷婷
议题简介:
得益于 Mlivus 向量搜索工具的高效部署,在处理海量数据时准确快速,本次演讲中,我们将分享利用 Milvus 向量搜索工具解决语义向量召回时的向量搜索问题和短新闻文本分类时文本的标注问题。
嘉宾简介:
王婷婷,搜狐自然语言处理工程师。
在搜狐主要从事基于内容的语义向量召回,文本分类,文本摘要,新闻聚类,新闻关键词提取等相关工作。
展开查看详情
1 .Milvus 向量搜索工具在搜狐的应用 ——基于语义向量的召回和短文本标注 王婷婷 自然语言处理工程师
2 . 01 02 03 业务场景 技术选型 工程实现
3 .01 业务场景
4 .业务场景 搜狐新闻推荐系统概况
5 .02 技术选型
6 .算法原理 --双塔模型 用户向量构成 1. 通过用户画像,获得用户感兴趣的一类 tag词汇,对其进行embedding。 2. 通过用户画像,获得用户最感兴趣top2 主题 通过训练好的主题向量拼接,得到 968维向量 为什么用新闻正文? 新闻向量构成 1. 对新闻进行embedding,获得语义向量。 打呼噜能够自愈吗? 2. 用Familia [1]去抽取新闻的top2主题,用 小猫拉稀能自愈吗 训练好的主题向量拼接在语义向量之后, 得到968维向量。 新型冠状病毒防护,你需要知道的都在这里 小儿常见皮肤病,你需要知道的都在这里了 关于碘缺乏病你想知道的都在这里 https://github.com/baidu/Familia
7 .算法实现:如何将词汇按同主题进行聚类 1. 将语料库中的新闻文本集合做主题模型训练,对于每一个词汇而言,近似认为词汇出现概率最大的 那个主题就是词汇的主题。 2. 对冗余度较高的主题进行聚合,我们考虑其前K个词的分布,对于任意两个主题,计算它们前K个词 的Jaccard Similarity,相似性 ≥ 用户定义的Jaccard_thresh,即认定这两个topic存在较大的冗余, 可以合并。 https://github.com/baidu/Familia
8 .算法实现: 训练得到 topic2vec word2vec topic2vec 《Topical Word Embeddings》
9 .算法实现:获得文本摘要 对新闻文本抽取关键句得到字数小于512字的新闻摘要 1. 基于文章的深层语义抽取做文本摘要的效果好于基于浅层,统计信息得到文本摘要。
10 .03 工程实现
11 .业务流程
12 .技术选型 why milvus? 1. Milvus 支持向量检索API简单易用,部署方便, 落地成本低,开发周期短,EM 方便监控数据 库。 2. Milvus提供动态的数据管理,动态索引构建, 动态删除数据,近实时的查询,缩短从插入到 查询的时间。 3. Milvus 将来支持属性过滤(0.11.0),支持多 模态向量搜索(0.13.0) ,自定义不同维度向 量搜索/评判不同权重(0.13.0)。 4. Milvus 社区活跃,有大量文档可供浏览。
13 .工程难题 1. 每天用户感兴趣的tag标签数量高达千万/亿级, 将其embedding,即使用GPU在规定的时间也 无法全部转化,需要将之前转化好的向量存储起 来。 2. 需要每小时查询一次milvus数据库,寻找当下时 刻用户最感兴趣的新闻,然而千万级数量的搜索, 需要每次搜索之前重新建立一次索引,加快搜索 速度。
14 .技术选型 1. 选择embedding的工具:Bert-as-service, Sentence-BERT,ERNIE 2. 选择度量向量距离的方式:余弦距离 内积 欧式距离 3. 选择保存向量的位数:向量位数的保存与向量的维度有关 4. 选择IVF_FLAT 索引,nlist的设置为:4×sqrt(n) n 为segment内的向量数 量 5. 利用cpulimit 限制milvus 占用CPU的百分比,防止影响服务器其他进程 Embedding-based Retrieval in Facebook Search
15 .04 利用向量搜索工具标注新闻文本
16 .业务流程 1. 搜集到标注数据160万条 2. 通过运营标注的两千条语料,相比于之前的预测分类结果,准确率提升30%+
17 .
18 .
19 .关注我们 关注 “AI 检索技术博客”公众号, 获取更多重磅讲师技术文章、 相关领域资讯、以及线下分享活动信息
20 .Thanks