考试院查重文档说明: 初始化方式: 注:若keyword_mapping.json不存在,则首先运行 `python comparison.py # 计算知识点/物理量映射ID` `python db_train_app.py # mongodb数据清洗与向量化/计算物理量/知识点转ID/计算求解类型` `python hm_ir_train_app.py # hnsw模型/关键词检索/公式查重模型初始化` 启动方式: 1、全部功能重启命令 ``` conda activate dup_search python restart_server.py ``` 2、部分功能重启命令 ``` conda activate dup_search python restart_server.py 0/1/2/3 ``` 其中: 0表示重启考试院题库查重功能 1表示重启考试院题库HNSW模型检索功能 2表示重启多维度(求解类型/难度)分类模型功能 3表示重启服务监控功能 查重功能主要分三个部分(公式查重、关键词检索、文本查重、语义查重): 〇、数据初始化 * config.py: 基础配置信息,包含数据库地址、调用接口地址、日志初始化配置、相似度阈值等 * main_clear/sci_clear.py: 数据清洗模块 * data_preprocessing.py: 数据预处理代码,包含数据清洗、字段数据拼接、数据向量化等 * hnsw_model_train.py: 初始化训练HNSW模型 一、公式查重 * formula_process: 公式规则抽取、训练词袋模型和计算题库所有公式向量 二、关键词检索 * word_segment.py: 文档分词功能 * ir_db_establish.py: 构建倒排索引并将结果存入sqlite数据库 * info_retrieval.py: 使用BM25算法进行关键词检索打分排序 三、文本查重 * hnsw_retrieval.py: HNSW召回、文本相似查重、语义相似查重 * hnsw_model.py: HNSW模型加载保存以及查操作 * hnsw_app: 全学科题库查重接口服务 四、语义查重 * dim_classify.py: 求解类型分类/难度分类 * dim_classify_app.py: 求解类型分类/难度分类服务 * physical_quantity_extract: 物理量规则提取 * comprehensive_score.py: 题型/求解类型/难度/物理量/知识点打分规则