“ 在智能问答中,最难处理的并不是检索效果,而是行业黑话,不理解行业黑话就很难做到真正的语义检索。”
最近在讨论需求时发现一个问题,智能问答系统经过多次升级之后,从最开始的传统RAG到Agentic RAG,检索效果从最开始的不准确到现在的基本上能满足精确检索的要求。
但是基本检索要求满足了,用户那边又提出了更高的要求,那就是不但要检索的准,还有理解的准,理解不准就难检索的准;什么意思呢?
每个行业都有每个行业的专业术语,也就是我们常说的行业黑话;这些行业黑话简单的语义理解很难明白是什么意思,更不用说语义检索了。在不同的专业领域,同一句话可能有完全不同的意思,所以通过这些行业黑话进行检索,就很难匹配到正确的答案。
这也是为什么,有时候我们从技术的角度来看,整个流程和细节处理的完全没问题,但是用户就是不满意,各种投诉差评一大堆,原因就在于此。
如果扩宽来说,不仅仅是智能问答,包括智能体,从技术的领域来说智能体的本质都是一样的,但为什么通用智能体慢慢被抛弃,而垂直智能体却越来越受欢迎,原因就在于此。
那怎么解决这些问题呢?
这个就需要我们建立不同行业的词库,用通俗易懂的语言给不同行业的数据做标注,也就是语义提取;当用户问一些专业问题时,也需要先在行业词库中做语义匹配,找到这些黑话的真正含义,然后才能真正做到精准检索,提高用户体验。
那具体应该怎么做呢?
要破解行业黑话问题,要从两个方面来处理,其一是知识库方面,要对知识库中的行业黑话做翻译,把它翻译成通俗易懂的语言;其次,在用户端要构建一个行业词库,用来解释不同的专业名词,让模型能够真正理解用户的问题,然后再针对这些问题做相似问题扩展,提升检索范围。
专业词库并不是一个简单的key-value键值对,而是在具体的行业里面,针对不同的语境构建多个不同的名词释义;其中不但要包含术语名称,术语含义,还要包含别名,包括中文全称,英文缩写和口语表达等多种形式。
具体方式可以使用TF-IDF从行业文档中自动提取高频关键词;或者使用专家与LLM协同,专家整理术语,再结合大语言模型提取关键词并生成近义词,再或者利用动态语料生成技术扩展词库。
总之,设计原则遵循,确保词库覆盖性良好,通过上下文标签控制歧义性,并采用树状结构保证可扩展性。

