高效的俄文跨编码器模型用于信息检索
此开源模型基于DeepPavlov/rubert-base-cased,并经过MS-MARCO数据集优化,专用于俄语信息检索,支持高效的查询和段落相关性排序。通过安装sentence-transformers可直接使用,也可通过HuggingFace Transformers扩展文本分类功能,适合需处理俄语复杂文本的用户。
DiTy/cross-encoder-russian-msmarco 是一个使用 sentence-transformers 库的模型。该模型基于预训练的 DeepPavlov/rubert-base-cased 进行了微调,并且使用了 MS-MARCO Russian passage ranking dataset 数据集来优化。这个模型主要用于进行俄语的信息检索任务。它可以对给定的查询和一系列可能的文本段落进行编码,然后根据相关性对这些段落进行排序(例如,通过 ElasticSearch 检索)。如果想了解更多细节,可以查看 SBERT.net Retrieve & Re-rank。
在安装了 sentence-transformers 库之后,使用这个模型变得非常简单:
pip install -U sentence-transformers
from sentence_transformers import CrossEncoder reranker_model = CrossEncoder('DiTy/cross-encoder-russian-msmarco', max_length=512, device='cuda') query = ["как часто нужно ходить к стоматологу?"] documents = [ "Минимальный обязательный срок посещения зубного врача – раз в год, но специалисты рекомендуют делать это чаще – раз в полгода, а ещё лучше – раз в квартал. При таком сроке легко отследить любые начинающиеся проблемы и исправить их сразу же.", "Основная причина заключается в истончении поверхностного слоя зуба — эмали, которая защищает зуб от механических, химических и температурных воздействий. Под эмалью расположен дентин, который более мягкий по своей структуре и пронизан множеством канальцев. При повреждении эмали происходит оголение дентинных канальцев. Раздражение с них начинает передаваться на нервные окончания в зубе и возникают болевые ощущения. Чаще всего дентин оголяется в придесневой области зубов, поскольку эмаль там наиболее тонкая и стирается быстрее.", "Стоматолог, также известный как стоматолог-хирург, является медицинским работником, который специализируется на стоматологии, отрасли медицины, специализирующейся на зубах, деснах и полости рта.", "Дядя Женя работает врачем стоматологом", "Плоды малины употребляют как свежими, так и замороженными или используют для приготовления варенья, желе, мармелада, соков, а также ягодного пюре. Малиновые вина, наливки, настойки, ликёры обладают высокими вкусовыми качествами.", ] predict_result = reranker_model.predict([[query[0], documents[0]]]) print(predict_result) # 输出示例: `array([0.88126713], dtype=float32)` rank_result = reranker_model.rank(query[0], documents) print(rank_result) # 输出示例: # `[{'corpus_id': 0, 'score': 0.88126713}, # {'corpus_id': 2, 'score': 0.001042091}, # {'corpus_id': 3, 'score': 0.0010417715}, # {'corpus_id': 1, 'score': 0.0010344835}, # {'corpus_id': 4, 'score': 0.0010244923}]`
即使没有安装 sentence-transformers,也可以通过以下方法使用这个模型:首先,需要通过 transformer 模型传递输入,然后从模型中获取 logits。
import torch from transformers import AutoTokenizer, AutoModelForSequenceClassification model = AutoModelForSequenceClassification.from_pretrained('DiTy/cross-encoder-russian-msmarco') tokenizer = AutoTokenizer.from_pretrained('DiTy/cross-encoder-russian-msmarco') features = tokenizer(["как часто нужно ходить к стоматологу?", "как часто нужно ходить к стоматологу?"], ["Минимальный обязательный срок посещения зубного врача – раз в год, но специалисты рекомендуют делать это чаще – раз в полгода, а ещё лучше – раз в квартал. При таком сроке легко отследить любые начинающиеся проблемы и исправить их сразу же.", "Дядя Женя работает врачем стоматологом"], padding=True, truncation=True, return_tensors='pt') model.eval() with torch.no_grad(): scores = model(**features).logits print(scores) # 输出示例: `tensor([[ 1.6871], [-6.8700]])`
DiTy/cross-encoder-russian-msmarco 通过微调,使得在俄语领域的信息检索和文本排序变得更加高效。对于需要对俄语文本进行排序和检索的应用场景,该模型提供了一个便捷且准确的解决方案。通过轻松的设置和多样化的使用方法,用户可以根据具体需要选择合适的实现方式。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。