Sbert-ChineseExample
Sbert-ChineseExample copied to clipboard
Sentence-Transformers Information Retrieval example on Chinese
Sbert-ChineseExample
Sentence-Transformers 中文信息检索例子
In English
内容提要
- 有关这个工程
- 构建信息
- 开始
- 安装
- 使用
- 引导
- 贡献
- License
- Contact
- Acknowledgements
关于这个工程
About The Project
Sentence Transformers是一个多语言、多模态句子向量生成框架,可以根据Huggingface Transformers框架简单地生成句子及文本段落的分布式向量表征。
这个工程的目的是通过训练bi_encoder和cross_encoder实现类似于ms_macro任务的中文数据集信息检索,并搭配定制化的pandas形式的elasticsearch接口使得结果产出(文本、向量)可以方便地序列化。
构建信息
Built With
开始
Getting Started
安装
Installation
- pip
pip install -r requirements.txt
- 安装Elasticsearch并启动服务
- install Elasticsearch and start service
使用
Usage
2. bi_encoder 数据准备
3. 训练 bi_encoder
4. cross_encoder 训练数据准备
5. cross_encoder 检测数据准备
6. 训练 cross_encoder
7. 展示 bi_encoder cross_encoder 的推断过程
引导
Roadmap
* 1 这个工程使用自定义的 es-pandas 的重载接口 (支持向量存储) 来使用pandas对于elasticsearch实现简单的操作。
* 2 try_sbert_neg_sampler.py 抽取困难样本(模型识别困难的样本)的功能来自于 https://guzpenha.github.io/transformer_rankers/, 也可以使用 elasticsearch 生成困难样本, 相应的功能在 valid_cross_encoder_on_bi_encoder.py 中定义。
* 3 上面在 cross_encoder 上训练的功能, 需要预先在不同的句子间检查语义区别程度, 组合相似语义的样本对于模型训练是有帮助的。
* 4 增加了一些对Sentence-Transformers多类别结果比较的工具。
贡献
Contributing
License
Distributed under the MIT License. See LICENSE for more information.
Contact
svjack - [email protected] [email protected]
Project Link: https://github.com/svjack/Sbert-ChineseExample