随着人工智能技术的蓬勃发展,大语言模型(LLM)如Claude等在多个领域展现出了卓越的能力。如何利用这些模型的语义分析能力,优化传统业务系统中的搜索性能是个很好的研究方向。
在传统业务系统中,数据匹配和检索常常面临诸多挑战,例如用户使用门槛高、业务变化适应性差以及搜索匹配效果不佳。生成式AI的出现为这些问题提供了新的解决方案。
传统搜索系统的局限
- 用户的使用门槛较高,必须了解系统提供的查询的每个条件的含义,还需要了解不同条件的组合方式。结构化的查询,无法适应自然语言的模式,也很难贴近人的自然想法,例如查询上海徐汇区有哪些三甲医院,传统查询模式,你必须要分解成多个不同的条件:省市、区域、机构类型、机构级别等。显然用户必须要熟悉和符合业务系统要求,非常不方便。
- 很难适应业务变化,当业务对象发生变化的时候,需要增加和修改条件,就必然导致整个 UI 的变化和修改,开发成本上升。
- 传统搜索算法,无法通过语义层面进行分析和理解,导致匹配和搜索效果不佳,例如系统记录里有一家北京 306 医院,如果用户输入三零六可能就无法匹配到这家医院,从而无法查询到结果。再例如:系统记录里有一家虹桥医院,如果用户输入拼音 hongqiao
hospital ,传统系统也无法应对这种查询。甚至有时候多几个空格也会导致搜索结果出错。
大语言模型的优化方案
意图识别与智能匹配
利用大语言模型如Claude,我们可以对用户输入进行意图识别,并智能匹配相关数据。这一过程主要分为两个部分:
- 意图识别:通过语义分析能力,识别用户输入的意图,并进行格式化输出。
- 匹配处理:根据识别的意图,选择适当的检索方式,如传统RAG模式或Text2SQL。
方案架构
基于Amazon的解决方案架构,构建一个智能检索系统。
当然,可以更进一步对不同的文件进行类别划分,利用意图分类器提高应答得准确率。
实践案例
多意图识别
以下是一个多意图识别的代码示例,展示如何根据用户问题生成JSON格式的结果:
def intent_recognizer(user_question):
intents = {
"search_name": "只查询机构名称",
"search_name_with_attribute": "查询机构名称的同时有相关属性限制",
"search_with_attribute": "根据属性查询医院列表",
"other": "未知意图"
}
# 模拟意图识别逻辑
if "医院" in user_question:
intent_type = "search_name"
elif "状态" in user_question:
intent_type = "search_name_with_attribute"
elif "有哪些" in user_question:
intent_type = "search_with_attribute"
else:
intent_type = "other"
return {
"intent": intent_type,
"description": intents[intent_type]
}
# 示例
user_question = "上海第一人民医院"
result = intent_recognizer(user_question)
print(result)
增强召回
接下来是一个增强召回的示例,展示如何从候选机构列表中筛选出与用户问题最相关的机构:
def filter_institutions(candidate_list, user_question):
# 假设的候选机构列表
institutions = [
{"code": "776446", "name": "药店A", "address": "康宁路"},
{"code": "436446", "name": "药店B", "address": "柳营路"}
]
# 根据用户问题筛选相关机构
relevant_institutions = [
inst for inst in institutions if user_question in inst["address"]
]
return {
"kept": [inst["code"] for inst in relevant_institutions],
"removed": [inst["code"] for inst in institutions if inst not in relevant_institutions]
}
# 示例
user_question = "康宁路有什么药店?"
result = filter_institutions(candidate_list, user_question)
print(result)
结论
通过结合大语言模型的语义分析能力和智能匹配技术,能够显著提升传统业务系统中的搜索性能,降低用户使用门槛,同时提高系统的适应性和匹配精度。随着技术的不断进步,生成式AI将在更多领域发挥重要作用。
参考文献
大语言模型的多意图增强搜索