# semvts **Repository Path**: mstes/semvts ## Basic Information - **Project Name**: semvts - **Description**: 语音文本语义相似性识别器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-29 - **Last Updated**: 2026-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # semvts 语音文本语义相似性计算器 ## 介绍 semvts 是一个基于深度学习的中文语义相似度计算工具,可以对用户输入的语音识别文本与预设的标准文本进行语义匹配。该工具使用 BGE(BAAI General Embedding)中文嵌入模型将文本转换为向量表示,通过余弦相似度计算来判断输入文本与标准文本的语义相似程度,同时支持必填关键词检查。 ## 软件架构 - **核心模型**: BGE-small-zh-v1.5 中文语义嵌入模型 - **主程序**: speek_recognizer.py - `VoiceRecognizer` 类:核心识别器 - `Result` 类:识别结果封装 - **测试模块**: test/test.py ## 功能特性 1. **语义嵌入**: 使用 BGE 中文模型将文本转换为高维向量 2. **相似度计算**: 基于余弦相似度衡量文本语义相似程度 3. **关键词检查**: 支持必填关键词验证,确保语义完整性 4. **可配置阈值**: 用户可根据场景调整通过阈值(默认 0.6) ## 安装教程 1. 确保 Python 环境满足要求(建议 Python 3.8+) 2. 安装依赖包: ```bash pip install torch pip install transformers ``` 3. 克隆或下载本仓库到本地 ## 使用说明 ### 基本用法 ```python from speek_recognizer import VoiceRecognizer, Result # 初始化识别器 recognizer = VoiceRecognizer( model_path="./bge-small-zh-v1.5", prompt="为这个句子生成表示以用于语义匹配: ", vec_dict=[ {"text": "前方发现患者倒地", "must_keywords": ["患者", "倒地"]}, {"text": "需要医疗协助", "must_keywords": ["医疗"]} ], pass_threshold=0.6 ) # 进行识别 result = recognizer.recognize("前方有患者倒在地上") # 查看结果 print(f"匹配文本: {result.match_text}") print(f"相似度: {result.cosine_similarity}") print(f"是否通过: {result.is_pass}") ``` ### 参数说明 | 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | model_path | str | "./bge-small-zh-v1.5" | BGE 模型路径 | | prompt | str | "为这个句子生成表示以用于语义匹配: " | 生成向量时的提示前缀 | | vec_dict | list | [] | 标准文本列表,每个元素需包含 text 和 must_keywords | | pass_threshold | float | 0.6 | 通过阈值,相似度大于等于此值视为通过 | ### Result 返回字段 | 字段 | 类型 | 说明 | |------|------|------| | match_text | str | 匹配到的最佳标准文本 | | cosine_similarity | float | 余弦相似度值 | | is_pass | bool | 是否通过验证 | ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 许可证 本项目仅供学习交流使用,模型许可证请参考 [BGE](https://github.com/baaifoundation/flagmodel) 官方说明。