随着人工智能技术的迅猛发展,大语言模型(LLM)作为一种先进的自然语言处理工具,为我们提供了全新的沟通方式和信息提取手段。本文旨在引导读者通过大语言模型,实现从非结构化对话内容中高效提取关键信息的目标。对话作为人类交流的重要形式,包含了丰富的语义信息,然而在海量对话数据中准确而快速地捕捉特定字段一直是一项具有挑战性的任务。通过本文,我们将学习如何利用大语言模型的强大分析能力,结合提示工程技巧,完成从用户对话内容中采集出我们想要的关键信息,并将其转化为结构化的数据格式。
输入输出设计
在构建信息采集模型之前,首先需要明确定义输入和输出的数据结构。我们需要告诉模型接收什么数据,以及它应该返回什么格式的数据。
为了实现从一段对话中提取指定的信息,我们需要定义两个核心输入变量:
keyword:需要采集的关键词列表,例如姓名、年龄、留学国家等。content:原始的对话文本内容。
对于输出,要求模型以 JSON 格式返回采集到的信息,以便于后续程序解析和处理。例如:
input:
keyword: ["姓名", "年龄"]
content: "我叫优弧今年 20 岁了"
output:
{
"姓名": "优弧",
"年龄": "20"
}
这种结构化的输出方式不仅便于机器读取,还能有效减少后续数据处理的工作量。
提示词工程基础
编写良好的提示词(Prompt)是决定模型输出质量和准确性的关键因素。一个优秀的提示词通常包含以下几个要素:
- 目的明确:简单明了地告诉模型你需要它做什么,避免模糊指令。
- 避免歧义:避免出现有歧义的表述,或者不常用的专业性术语、简写、别称,这些内容会导致模型无法理解你的意图。
- 简洁性:过多的冗余内容会导致模型抓不到重点,从而偏离我们的目标。保持指令清晰直接。
- 步骤指导:你可以尝试教模型如何做,比如第一步做什么,第二步做什么,这有助于模型遵循逻辑链条。
- 角色设定:你可以让模型扮演特定的角色,从而让它快速进入状态。例如,扮演一个'资深数据分析师',它就会有更严谨的输出特性。
迭代测试过程
为了达到最佳效果,我们需要对提示词进行多轮迭代测试。以下是一个典型的优化过程。
第一阶段:基础定位
第一步给模型一个基本定位,并设定目标。
你是一个信息采集模型。
<待分析数据列表>:{{keyword}}
1. 目标:从对话内容中分析并提炼出<待分析数据列表>中列出的关键信息。
对话内容:
{{content}}
在这个阶段,模型能够识别出大部分显性信息,但对于隐含信息可能无法识别。
第二阶段:增加推理能力
在实际对话中,很多信息并非直接陈述,而是隐含在上下文中。例如,如果用户说想去哈佛学习,可以推断其意向留学国家为美国。因此,我们需要赋予模型一定的推理能力。
修改后的提示词增加了推理指令:
你是一个信息采集模型。
<待分析数据列表>:{{keyword}}
1. 目标:从对话内容中分析并提炼出<>中列出的关键信息。
2. 在中对话中没有提到的信息,你可以在保证合理的情况下对用户暂未提及的数据进行推理。
对话内容:


