模糊匹配,置信度,C#

时间:2012-05-15 14:57:18

标签: c# similarity fuzzy

我试图计算字符串出现在更大集合的子集中的置信度分数。

假设我的原始列表中有10个单词,并且我对所有10个单词匹配一个新单词。每个匹配返回相似性分数。我设置了一个阈值来忽略任何低于70%的相似性得分。所以最后,我的输入词可能与我的列表中的3个单词匹配。

对我而言,这给了我33.333%的机会我的输入词与具有较高相似度得分的3个词匹配。我想计算我是多么自信这个词是匹配的是这三个。我已经计算了我的置信度得分如下,但这似乎是错误的,并且很简单。

  1. Cat 1 - 70%相似度 - 33.3%几率。
  2. Cat 2 - 75%的相似度 - 33.3%的几率。
  3. Cat 3 - 80%相似度 - 33.3%几率。
  4. ((0.70)*(0.333))+((0.75)*(0.333))+((0.80)*(0.333))= 75%自信。

    计算置信水平的最佳方法是什么?

    编辑:根据要求提供更好的样本

    原始字集

    1. 你好
    2. 帮助
    3. 地狱
    4. 问题
    5. 世界
    6. 海洋
    7. 动物
    8. 胡萝卜
    9. 棕色
    10. 黑色
    11. 匹配新单词 - 直升机与原始单词集。 该匹配返回原始集合中的3个单词,相似度得分超过70%。返回的字样是: 1.你好 - 相似度70% 2.帮助 - 相似度75% 3.地狱 - 相似度80%

      我想计算分数,表明我是多么自信,帮助直升机与返回的单词匹配。

      答案:在[link] http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/ff9fc38e-8ca3-4d9a-b505-dfbe37910b17

1 个答案:

答案 0 :(得分:3)

您的概率不正确(或不是概率)。您似乎已经假设您的单词 匹配前三个相似度得分之一(如果是,您的置信度事实上 100%......) 。此外,概率和相似度得分并不是独立的,因此如果您正在寻找具有概率/统计基础的任何东西,那么您的计算也存在缺陷。

你实际做的是为前三种情况计算平均值“相似度”。如果这可以作为你的(非统计)置信水平,那就没问题了。但是你将不得不自己做一个价值观 - 你真正想要做的事情没有数学依据。为了进一步提供帮助,您需要向我们提供更多信息:

  • 如何计算相似度得分。
  • 你的单词与10个列表中的内容匹配的概率是多少。
  • 列表中的10个单词有多相似。
  • 等。等

编辑后修改:

你的三个“相似度”分数远非不可思议,因为这三个词本身非常“相似”。无论如何,任何说“直升机”与“地狱”相似80%的算法都不是很好。我认为在这种情况下,置信水平非常接近于零......!