Skip to content

噪声敏感度

NoiseSensitivity 衡量系统在使用相关或不相关检索文档时提供错误响应的频率。分数范围从0到1,较低的值表示更好的性能。噪声敏感度是通过 user_inputreferenceresponseretrieved_contexts 计算的。

为了估计噪声敏感度,检查生成响应中的每个声明,以确定它是否基于真实情况是正确的,以及它是否可以归因于相关(或不相关)的检索上下文。理想情况下,答案中的所有声明都应由相关的检索上下文支持。

\[ \text{噪声敏感度(相关)} = {|\text{响应中错误声明的总数}| \over |\text{响应中声明的总数}|} \]

示例

from ragas.dataset_schema import SingleTurnSample
from ragas.metrics import NoiseSensitivity

sample = SingleTurnSample(
    user_input="印度人寿保险公司(LIC)以什么著称?",
    response="印度人寿保险公司(LIC)是印度最大的保险公司,以其庞大的投资组合而闻名。LIC 为国家的金融稳定做出了贡献。",
    reference="印度人寿保险公司(LIC)是印度最大的保险公司,成立于1956年,通过国有化保险业而成立。它以管理庞大的投资组合而闻名。",
    retrieved_contexts=[
        "印度人寿保险公司(LIC)成立于1956年,随后印度保险业的国有化。",
        "LIC 是印度最大的保险公司,拥有庞大的保单持有人网络和巨额投资。",
        "作为印度最大的机构投资者,LIC 管理着大量资金,为国家金融稳定做出了贡献。",
        "印度经济是世界上增长最快的经济体之一,得益于金融、技术、制造等行业的贡献。"
    ]
)

scorer = NoiseSensitivity()
await scorer.single_turn_ascore(sample)

要计算不相关上下文的噪声敏感度,可以将 focus 参数设置为 irrelevant

scorer = NoiseSensitivity(focus="irrelevant")
await scorer.single_turn_ascore(sample)

计算方法

示例

问题:印度人寿保险公司(LIC)以什么著称?

真实情况:印度人寿保险公司(LIC)是印度最大的保险公司,成立于1956年,通过国有化保险业而成立。它以管理庞大的投资组合而闻名。

相关检索: - 印度人寿保险公司(LIC)成立于1956年,随后印度保险业的国有化。 - LIC 是印度最大的保险公司,拥有庞大的保单持有人网络,并在金融部门中扮演重要角色。 - 作为印度最大的机构投资者,LIC 管理着大量的生命基金,为国家金融稳定做出了贡献。

不相关检索: - 印度经济是世界上增长最快的经济体之一,得益于金融、技术、制造等行业的贡献。

让我们看看如何计算相关上下文的噪声敏感度:

  • 步骤1: 识别可以从真实情况推断出的相关上下文。

    • 真实情况: 印度人寿保险公司(LIC)是印度最大的保险公司,成立于1956年,通过国有化保险业而成立。它以管理庞大的投资组合而闻名。

    • 上下文:

      • 上下文1:印度人寿保险公司(LIC)成立于1956年,随后印度保险业的国有化。
      • 上下文2:LIC 是印度最大的保险公司,拥有庞大的保单持有人网络,并在金融部门中扮演重要角色。
      • 上下文3:作为印度最大的机构投资者,LIC 管理着大量的资金,为国家金融稳定做出了贡献。
  • 步骤2: 验证生成答案中的声明是否可以从相关上下文中推断出来。

    • 答案: 印度人寿保险公司(LIC)是印度最大的保险公司,以其庞大的投资组合而闻名。LIC 为国家的金融稳定做出了贡献。

    • 上下文:

      • 上下文1:印度人寿保险公司(LIC)成立于1956年,随后印度保险业的国有化。
      • 上下文2:LIC 是印度最大的保险公司,拥有庞大的保单持有人网络,并在金融部门中扮演重要角色。
      • 上下文3:作为印度最大的机构投资者,LIC 管理着大量的资金,为国家金融稳定做出了贡献。
    • 步骤 3: 识别答案中的任何错误声明(即,答案陈述中没有得到事实支持的部分)。

    • 事实依据: 印度人寿保险公司(LIC)是印度最大的保险公司,成立于1956年,通过国有化保险业而成立。它以管理大量投资组合而闻名。

    • 答案: 印度人寿保险公司(LIC)是印度最大的保险公司,以其庞大的投资组合而闻名。LIC对国家的金融稳定做出了贡献。

    解释:事实依据中并未提及LIC对国家金融稳定做出贡献的内容。因此,答案中的这一陈述是错误的。

    错误陈述:1 总声明数:3

  • 步骤 4: 使用以下公式计算噪声敏感度:

    \[ \text{噪声敏感度} = { \text{1} \over \text{3} } = 0.333 \]

这导致噪声敏感度得分为0.333,表明答案中三分之一的声明是错误的。

鸣谢:噪声敏感度概念由RAGChecker引入。