我已经实现了模糊匹配算法,我想使用一些带有测试数据的示例查询来评估其召回率。
假设我有一个包含文本的文档:
{"text": "The quick brown fox jumps over the lazy dog"}
我想看看是否可以通过测试诸如“sox”或“hazy drog”而不是“fox”和“lazydog”之类的查询来检索它。
换句话说,我想向字符串添加噪音以生成拼写错误的单词(拼写错误)。
自动生成有拼写错误的单词的方法是什么用于评估模糊搜索?
我只是创建一个程序来随机改变你的话中的字母。我想你可以详细说明你的案例的具体要求,但总体思路是这样的。
假设你有一个短语
phrase = "The quick brown fox jumps over the lazy dog"
然后定义一个单词改变的概率(比如 10%)
p = 0.1
然后循环遍历短语中的单词,并从每个单词的均匀分布中进行采样。如果随机变量低于您的阈值,则随机更改单词中的一个字母
import string
import random
new_phrase = []
words = phrase.split(' ')
for word in words:
outcome = random.random()
if outcome <= p:
ix = random.choice(range(len(word)))
new_word = ''.join([word[w] if w != ix else random.choice(string.ascii_letters) for w in range(len(word))])
new_phrase.append(new_word)
else:
new_phrase.append(word)
new_phrase = ' '.join([w for w in new_phrase])
就我而言,我得到了以下有趣的短语结果
print(new_phrase)
'The quick brown fWx jumps ovey the lazy dog'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)