更新词库,删除冗余同义词条目,优化意图识别逻辑,增强代码可读性和维护性,同时添加去重功能以处理同义词。更新相关文档以反映最新变化。

This commit is contained in:
2025-06-13 17:07:31 +08:00
parent d5433204e7
commit f1b3f7e158
8 changed files with 506 additions and 858 deletions
+2 -2
View File
@@ -139,7 +139,7 @@ class SlotBase(BaseModel):
if v in SOFTWARE_NAME_ALIAS_MAP:
return SOFTWARE_NAME_ALIAS_MAP[v].value
# 如果无法匹配,返回原值用于错误提示
# 如果无法匹配,返回原值
return v
return v
@@ -204,7 +204,7 @@ class ProfessionalConsultingSlots(SlotBase):
# 2.2 数据问题
class DataProblemSlots(SlotBase):
expense_type: str = Field(default="", description="费用类型")
expense_type: str = Field(default="", description="费用(数据)项、费用类型")
operation_purpose: str = Field(default="", description="操作目的")
software_name: Optional[str] = Field(default="", description="软件名称")
project_type: Optional[str] = Field(default="", description="工程类型")
@@ -266,14 +266,15 @@ class IntentRecognizer:
term_list = TermList(terms=list(matched_terms))
return term_list, query_keys
def _rewrite_query(self, query: str, keywords: TermList, chat_history: List[Dict[str, str]] = None, context: str = "") -> QueryRewrite:
def _rewrite_query(self, query: str, keywords: TermList, query_keys:List[str], chat_history: List[Dict[str, str]] = None, context: str = "") -> QueryRewrite:
"""
对用户问题进行改写
Args:
query: 用户原始问题
keywords: 匹配到的关键词列表
query_keys: 用户查询中提取的关键词列表
Returns:
改写结果
"""
@@ -362,6 +363,7 @@ class IntentRecognizer:
rewrite = self._rewrite_query(
query=query,
keywords=keywords_terms,
query_keys=query_keys,
chat_history=chat_history,
context=conversation_context
)
+1 -1
View File
@@ -34,7 +34,7 @@ classification_info="""【垂直领域分类】:
4. 其他 -- 指与软件或电力造价专业无关的日常对话、问候、感慨、情绪表达等。
【软件问题包括以下两类】:
1. 软件功能:询问软件功能的使用、操作、位置
1. 软件功能:询问软件功能的使用、功能操作(调整)、功能位置、如何设置、如何转换
2. 故障排查:软件运行异常、软件报错、软件显示错误等
【业务问题包括以下两类】: