生成拼写错误的单词(打字错误)

2023-12-28

我已经实现了模糊匹配算法,我想使用一些带有测试数据的示例查询来评估其召回率。

假设我有一个包含文本的文档:

{"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(使用前将#替换为@)

生成拼写错误的单词(打字错误) 的相关文章

随机推荐

  • 二进制补码转换

    我需要将二进制补码格式的字节转换为正整数字节 范围 128 到 127 映射到 0 到 255 Examples 128 10000000 gt 0 127 01111111 gt 255 etc EDIT为了消除混淆 输入字节 当然 是
  • Java-将数组中的字符串转换为双精度

    我被这件愚蠢的事情困住了 我有一个像这样的文本文件 你好 140 0 再见 我使用将其拆分为字符串数组 LS line split 然后我尝试将包含数字的数组值转换为双精度值 如下所示 Double number Double parseD
  • 日期时间转换

    我得到的日期时间为 1 2 2010 11 29 30 我正在网格视图中显示它 我想将其转换为 2010 年 2 月 1 日 11 29 请让我知道如何像这样转换它 提前致谢 注意 我使用的是 asp net 和 C Use the ToS
  • FileHelpers 字段中的引号和逗号

    我有一个 csv 文件 正在使用 FileHelpers 进行解析 并且我遇到了引号和逗号都可以出现在字段中的情况 Comma 323 PC 28 02 2014 UNI001 5000 0 Return Returned Goods da
  • iCloud 无处不在的容器在应用程序删除时没有被清理?

    我正在将带有 Core Data 的 iCloud 添加到应用程序商店中已存在的应用程序中 因此我需要测试升级方案 然而 当我从设备中删除应用程序并从 Xcode 重新安装它时 我注意到设备上普遍存在的容器文件夹中的所有内容都被保留了 这非
  • 将从 C 例程分配的数组传递给 Ada

    将结构 记录数组从 Ada 传递到 C 例程是一回事 在本例中 内存管理是在 Ada 中完成的 但是在与第三方库接口时经常会出现这样的问题 内存管理是在C部分完成的 例如 对于 C 结构 typedef struct MYREC int n
  • 如何将流星的速度测试与詹金斯集成?

    On Velocity 的 GH 页面 https github com xolvio velocity benefits它提到 简单的 CI 集成 是其中的好处之一 但我还没有看到任何有关它的文档 如何将 Velocity 与 Jenki
  • 在 Go 中如何处理没有日期的挂钟时间?

    我想知道 Golang 中是否有任何现有的包可以处理没有日期的日期时间 问题如下 想象一下 我想存储有关公司轮班的信息 包括轮班开始和结束的时间 我会创建如下内容 import time type Shift struct StartTim
  • 删除 XML 字符串中的空格

    如何删除 Python 2 6 中 XML 字符串中的空格和换行符 我尝试了以下软件包 etree 此片段保留原始空格 xmlStr
  • 在 F# 中将 seq 转换为 string[]

    示例来自这个帖子 https stackoverflow com questions 6144274 string replace utility conversion from python to f有一个例子 open System I
  • 安装 SQL Server 2008 Developer 时要使用哪些帐户

    我在这里安装 SQL Server 2008 Developer 在安装的服务器配置步骤中 它询问我有关服务帐户的信息 我在这里选择什么 我可以在屏幕截图中看到可用的选项 尽管在大多数选项中我只能选择其中的两到三个 当我点击对所有 SQL
  • 如何防止 Tkinter 窗口在被调用之前打开?

    当我运行此脚本时 会出现两个窗口 一个用于文件选择 另一个窗口用于 Tkinter 窗口 如何更改此设置 以便 Tkinter 窗口仅在选择文件后打开 谢谢 def main my file askopenfilename stage1 d
  • 在通过桥接的 docker 容器中时无法访问 SSL IP。获取 SSL_ERROR_SYSCALL

    我在通过 IP TLS 连接到任何服务器时遇到问题 但仅在 默认 网桥中运行时从 Docker 容器内连接 我总是得到 OpenSSL SSL connect SSL ERROR SYSCALL in connection to W X Y
  • C# 中的 IPC,将文本从一个 exe 发送到另一个 exe

    我想将消息从 WPF 应用程序的文本框发送到打开的记事本 我的意思是 单击文本框旁边的按钮后 我希望将内容写入记事本 如何在两个不同的应用程序之间发送消息 DllImport user32 dll EntryPoint FindWindow
  • 有没有办法在运行时加载类 jar 和包?

    我想知道是否有办法在运行时加载类和jar 绝对 创建一个合适的ClassLoader实例 例如使用URL类加载器 http java sun com javase 6 docs api java net URLClassLoader htm
  • Pandas - Python - 如何减去两个不同的日期列

    尝试用今天的日期减去created date列来填充列 但出现以下错误 TypeError unsupported operand type s for str and str import datetime now datetime da
  • 连接 Haskell 和 C++

    我想在 C 程序中调用一些 Haskell 函数 为此 我已申请these https github com jarrett cpphs说明并将其调整为我的代码和系统 我目前所掌握的内容如下 主程序 cpp 共享头文件和cpp文件 make
  • 在 setup.cfg 中嵌套或组合 setuptools 的 extras_require

    是否可以重用已在中指定的依赖项 options extras require 对于其他条目 options extras require 举例来说 一个开发团队正在使用mypy在开发过程中检查它们的类型注释 以及black自动格式化他们的代
  • 我在哪里可以获得 VB6 IDE [重复]

    这个问题在这里已经有答案了 可能的重复 如何编译旧版 VB6 代码 https stackoverflow com questions 229868 how to compile legacy vb6 code 在哪里可以找到 VB6 的
  • 生成拼写错误的单词(打字错误)

    我已经实现了模糊匹配算法 我想使用一些带有测试数据的示例查询来评估其召回率 假设我有一个包含文本的文档 text The quick brown fox jumps over the lazy dog 我想看看是否可以通过测试诸如 sox