DashText- 快速开始

快速开始
DashText,是向量检索服务 DashVector 推荐使用的稀疏向量编码器(Sparse Vector Encoder),DashText 可通过 BM25 算法将原始文本转换为稀疏向量(Sparse Vector)表达,通过 DashText 可大幅度简化使用 DashVector[关键词感知检索]能力。
说明
需要使用您的 api-key 替换示例中的 YOUR_API_KEY、您的 Cluster Endpoint 替换示例中的 YOUR_CLUSTER_ENDPOINT,代码才能正常运行。
本示例仅对 Sparse Vector 进行功能演示,请根据实际情况设置您的向量维度。简化起见,本文示例代码中将向量(Dense Vector)维度设置为 4。
Step1. 创建支持 Sparse Vector 的 Collection
Python 示例
Java 示例
重要
仅内积度量(metric='dotproduct'
)支持 Sparse Vector 功能
Step2. 创建 SparseVectorEncoder
使用内置 Encoder
Python 示例
Java 示例
说明
内置 Encoder 使用中文Wiki语料进行训练,采用Jieba进行中文分词
基于自有语料创建 Encoder
Python 示例
Java 示例
说明
内置 Encoder 可直接使用,无需使用原始语料进行训练,使用起来更加方便,同时泛化能力较强。但面对原始语料中专业术语较多等场景,准确性偏弱
基于自有语料创建 Encoder,需要预先根据(全部)原始语料进行训练,准确性较高,自有语料创建 Encoder 具体使用可参考进阶使用
用户需根据自身业务场景和需求来选择 Encoder,对于特定领域(大量专属词汇)的场景推荐基于自有语料创建 Encoder
Step3. 插入带有 Sparse Vector 的 Doc
Python 示例
Java 示例
Step4. 关键词感知的向量检索
Python 示例
Java 示例
Step5. 基于权重的关键词+语义检索
Python 示例
Java 示例
说明
参数 alpha 是控制稠密向量距离和稀疏向量距离加权的权重因子,alpha=0.0 表示只采用稀疏向量进行距离度量,alpha=1.0 表示只采用稠密向量进行距离度量。
API 参考
更多 DashText API 详情可参考:
Python SDK:https://pypi.org/project/dashtext/
版权声明: 本文为 InfoQ 作者【DashVector】的原创文章。
原文链接:【http://xie.infoq.cn/article/7470a15ecf343706e63f5ef6a】。文章转载请联系作者。
评论