4.1 避免负面回答:消除自然语言中的歧义
无论使用何种语言,词语的多义性都是在语言中普遍存在的问题。多义性可能导致歧义,这对于人类来说理解难度也会相对增高。处理歧义是自然语言处理中一个复杂且充满挑战的任务,因为人类语言的丰富性和多样性都可能产生各种类型的歧义,诸如词义歧义、语法歧义,以及上下文歧义等。
这个问题在 GPT 中更为突出,因为 GPT 是语言无关的。这就意味除了普通的歧义外,GPT 还可能将不同语言间的歧义混合,甚至因为不同语言的翻译问题导致新的歧义。举例来说,在第一章中的银行与河岸就是一个例子。此外,利用分词算法切分 Token 也可能会产生新的歧义,例如,「部分居民生活水平」可能被误切为「部/分居/民生/活水/平」。
凡是一个词或一个句子有多种解释的可能,就可能产生歧义。当 Prompt 中的歧义数量增加,GPT 理解 Prompt 的难度会呈指数级增长,最终产生的内容就可能偏离我们的初衷。为了解决这个问题,我们提出了一种 Prompt 优化策略,那就是消除歧义。
消除歧义的正确方法
无论是词语还是句子的歧义,随着 Prompt 中的歧义数量的增加,GPT 理解 Prompt 的难度也将成倍提升。实际上,当歧义达到一定程度时,即使是人也可能无法准确理解一段话的含义,因此,我们不应对目前尚不如人类的 GPT 过分苛求。
实际上,我们之前学到的完整思维链就能很好地解决这个问题,只是它需要输入的内容较多,投入的成本也相对较高。当你不愿意使用思维链的时候,可以利用注解和注脚的格式,为 Prompt 中含有歧义的词汇和句子做标识。
我出门又看见那个蛋散,浑身难受。
[蛋散:粤语骂人词汇]
当然这个注解并不是要求非常准确和贴切,能够做到为 GPT 指引方向就足够了。比如让 GPT 一段专有名词和指代特别多的段落,就没有必要将每个容易有歧义的词找出来并且标注,而这样还不如人工翻译了。我们就可以仿照注解在内容的后面加上[]包围的注解,就能让 GPT 把握到每个部分的方向了。
可以看到在给定主题之后 GPT 很容易就能将词语对应为对应情境下的意思。通过消除 Prompt 中的歧义,进一步缩小 GPT 联想的范围,明确联想的方向。
消除歧义法的使用技巧
以下是一些在使用消除歧义优化方法时可以参考的技巧:
简洁明了地解释:为了节约 Token 并保持问题清晰,你应尽量提供简洁明了的解释。例如,
我去鱼塘钓鱼,碰到了一个大坑。[坑:物理意义上的坑洞。]而非一个冗长的解释,就像上面说的那样,只需要引导 GPT 理解到指定范围就可以。保持一致性:如果一个词在 Prompt 中出现了多次,每次都具有相同的含义,那么你只需要解释一次即可。那如果出现同一个词,在 Prompt 中不同位置有不同的含义,那么可以直接将注解放在对应的词后面。
不过度解释:尽管消除歧义是一种有效的优化方法,但并非所有的问题都需要这么做。不需要或者过度地解释可能会导致问题变得复杂且冗长,反而使 GPT 更难理解。在明确有歧义的情况下才需要使用该方法。
加入 JSON 格式的对照表:可以结合我们之前学到的 JSON 大法,把词语和释义改成键值对的形式,可以让 GPT 更好地一一对应到词语的解释。
记住,这些技巧都是用于帮助你更好地使用 GPT 来解决问题,实践中可能需要根据具体情况进行调整。
消除歧义方法适合的问题类型
消除歧义这个优化方法适合在以下几类问题中使用:
一词多义的情况:当 Prompt 中包含可能引发多种解读的词语时,这种优化方法十分适用。通过消除歧义,我们可以引导 GPT 更准确地理解我们的需求。例如,CCTV 既可以是闭路监控,也可以是中央电视台,通过消除歧义,我们可以明确指出具体的含义。
技术术语的解释:对于一些具有特定含义的技术术语或行话,可能在不同的上下文中有着完全不同的含义。比如 Neural Network 通常是指人工神经网络,一种模拟人脑工作的算法。但在神经科学领域,它指的是生物神经网络,也就是由神经元和突触组成的复杂网络。
特定的文化或者地域背景:有些词汇或者表达方式在某些特定的文化或者地域背景中可能有特殊的含义。消除歧义可以帮助 GPT 更准确地理解这些含义。例如,「足球」在美国通常指的是美式足球,而在大部分其他地方则指的是足球。在这种情况下,消除歧义可以帮助 GPT 理解你所处的文化和地域背景。
含有隐含或者不直接地表达:在一些含糊的或者需要读者推断的表达,或者当你在创作或者讲述一个故事时,可能会使用一些象征性或者比喻性的词汇,这些词汇可能会有多种解释,就像是我们中学时做过的语文阅读理解。在这种情况下,消除歧义可以帮助 GPT 理解你的创作意图。
文档限定的内容:如果你正在使用 GPT4 的 Code Interpreter 插件或者其他可以上传文档的第三方服务,就可以通过这个优化方法,将某些关键词限定在文档里面的意义。例如:「[净利润:参考上文内容]」。
总的来说,任何可能产生歧义的问题或者需要精确理解的情况都可以使用这个方法。这个方法可以帮助我们引导 GPT 生成更准确、更符合我们期望的结果。
总结
正如正向表达,本章所提及的消除歧义法并非一个具体的技巧,而更像是我建议大家在日常使用中养成的习惯。阅读本章后,你可能不会经常使用这一技巧,但如果遇到类似的问题,就能迅速想到有效的解决方案。在接下来的章节中,我将介绍一种与前面单一策略的突破法不同的新技巧,即通过长期训练实现连续多次提问,也能生成高质量的内容。
最后更新于