第五章 推断
推断任务可以看作是模型接收文本作为输入,并执行某种分析的过程。其中涉及提取标签、提取实体、理解文本情感等等。如果你想要从一段文本中提取正面或负面情感,在传统的机器学习工作流程中,需要收集标签数据集、训练模型、确定如何在云端部署模型并进行推断。这样做可能效果还不错,但是执行全流程需要很多工作。
而且对于每个任务,如情感分析、提取实体等等,都需要训练和部署单独的模型。
LLM 的一个非常好的特点是,对于许多这样的任务,你只需要编写一个 Prompt 即可开始产出结果,而不需要进行大量的工作。这极大地加快了应用程序开发的速度。你还可以只使用一个模型和一个 API 来执行许多不同的任务,而不需要弄清楚如何训练和部署许多不同的模型。
环境配置
参考第二章的 环境配置小节内容即可。
情感推断与信息提取
情感分类
以电商平台关于一盏台灯的评论为例,可以对其传达的情感进行二分类(正向/负向)。
//评论示例
private String review = "我需要一盏漂亮的卧室灯,这款灯具有额外的储物功能,价格也不算太高。\n" +
"我很快就收到了它。在运输过程中,我们的灯绳断了,但是公司很乐意寄送了一个新的。\n" +
"几天后就收到了。这款灯很容易组装。我发现少了一个零件,于是联系了他们的客服,他们很快就给我寄来了缺失的零件!\n" +
"在我看来,Lumina 是一家非常关心顾客和产品的优秀公司!";
现在让我们来编写一个 Prompt 来分类这个评论的情感。如果我想让系统告诉我这个评论的情感是什么,只需要编写 “以下产品评论的情感是什么” 这个 Prompt ,加上通常的分隔符和评论文本等等。
然后让我们运行一下。结果显示这个产品评论的情感是积极的,这似乎是非常正确的。虽然这盏台灯不完美,但这个客户似乎非常满意。这似乎是一家关心客户和产品的伟大公司,可以认为积极的情感似乎是正确的答案。
String prompt = "以下用三个反引号分隔的产品评论的情感是什么?\n" +
"评论文本: ```{" + review + "}```";
String message = this.getCompletion(prompt);
log.info("iterative1:\n{}", message);
情感是积极的。
如果你想要给出更简洁的答案,以便更容易进行后处理,可以在上述 Prompt 基础上添加另一个指令:用一个单词回答:「正面」或「负面」。这样就只会打印出 “正面” 这个单词,这使得输出更加统一,方便后续处理。
String prompt = "以下用三个反引号分隔的产品评论的情感是什么?\n" +

最低0.47元/天 解锁文章
267

被折叠的 条评论
为什么被折叠?



