如何在字符级别对句子进行one-hot编码?

2023-12-03

我想将一个句子转换为一个 one-hot 向量数组。 这些向量将是字母表的独热表示。 它看起来像下面这样:

"hello" # h=7, e=4 l=11 o=14

会成为

[[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

不幸的是,sklearn 的 OneHotEncoder 不作为输入字符串。


只需将传递的字符串中的字母与给定的字母表进行比较:

def string_vectorizer(strng, alphabet=string.ascii_lowercase):
    vector = [[0 if char != letter else 1 for char in alphabet] 
                  for letter in strng]
    return vector

请注意,使用自定义字母表(例如“defbcazk”,列将按照每个元素出现在原始列表中的顺序进行排序)。

的输出string_vectorizer('hello'):

[[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在字符级别对句子进行one-hot编码? 的相关文章

随机推荐

  • 在Python中使用多线程

    我正在尝试解决一个问题 我有很多 大约一万个 URL 并且需要从所有URL下载内容 到目前为止 我一直在 for link in links 循环中执行此操作 但现在所花费的时间太长了 我认为是时候实现多线程或多处理方法了 我的问题是 最好
  • 寻找一个清晰简洁的网页来解释为什么随机数的较低位通常不是那么随机

    我正在整理一个内部 每个开发人员都应该知道 的 wiki 页面 我看到很多关于rand N 但没有一个网页可以解释这一切 例如 我很好奇这个问题是否仅特定于 C 和 Linux 或者是否也适用于 Windows C Java Net Pyt
  • SQL Server 2008 中使用动态列的交叉表查询

    我在 SQL Server 中使用交叉表查询时遇到问题 希望有人能提供帮助 我有下表 Student ID Name Course Course Level 1 John English E2 1 John Mathns E3 1 John
  • 如何在shell脚本中使用goto语句[重复]

    这个问题在这里已经有答案了 我是 shell 脚本的初学者 我不知道如何使用 goto 语句 我正在使用以下代码 start echo Main Menu echo 1 for Copy echo 2 for exit read NUM c
  • HTML 画布制作模糊形状

    我想使用 HTML 制作简单的形状 但形状需要很大 并且画布处于全屏状态 例子 http jsfiddle net xLgg43s9 1 embedded result Code
  • 防止 Azure TableEntity 属性在 MVC 4 WebAPI 中序列化

    所以我有一个模型Subscription它继承自AzureTableEntity在 WebApi Get 方法中使用的类如下 HttpGet public IEnumerable
  • java中管道简单分割

    在将 split 与管道一起使用时遇到问题 但与其他字符一起使用时效果很好 我做错了什么 请帮助我 String s H PONumber1 1 1 String arr s split for int i 0 i
  • 如何将一组标准参数传递给 async.js 系列中的每个函数?

    给定以下 node js 模块 我将如何调用数组中的函数orderedListOfFunctions通过每一个response多变的 var async require async var one require one js var tw
  • 转换 Base64 GZipped 字符串 Objective-c 或 Swift

    我从网络服务收到一个字符串 如下所示 CAAAAB LCAAAAAAABADtvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvv
  • IE中div宽度问题

    在发布之前 我仔细阅读了几个与此类似的问题 但没有找到适合我的解决方案 我的网站中有一个页面不适合我用于其他每个页面的模板 因为为该页面生成的信息表太宽了 为了使表格显示我使用overflow x visible 结果正是我在除 IE 之外
  • 如何在android中获取epub书籍的图像

    我试图将 epub 书读入我的 android 应用程序 并成功地将文本输入到我的应用程序中 但无法加载 epub 书的图像 实际上 当我们使用 epub 库阅读 epub 书时会发生什么 如果它存储的内容比 epub 书的图像所在的位置要
  • ANSI 转义代码在 python 解释器上不起作用 [重复]

    这个问题在这里已经有答案了 ANSI 代码无法在我的 python 解释器上运行 我想为这个项目的一些印刷品上色 我查找了如何为打印字符着色并找到了 ANSI 转义码 因此我在解释器上尝试了它 但它不起作用 例如 print 033 32m
  • Chrome 扩展程序 - 查看扩展程序选项卡是否打开

    我已经设置了当我单击 extn 图标时 我的 extnindex html opens 如果我第二次单击该图标 我不希望它打开第二个选项卡 我希望它能够聚焦已打开的选项卡 如果它已打开 问题在于if it s open部分 理想情况下 我不
  • TaskFactory.FromAsync 与 BeginGetRequestStream/EndGetRequestStream 挂起

    我有一个这样的方法 在声明时挂起responseObject使用 Task Factory FromAsync private async Task
  • 在 JavaEE 应用程序中使用 Jackson 作为 JAXB-JSON 处理器

    我看过很多关于此的文章和问题 但我就是不明白它的作用 我的目标是在 JavaEE 应用程序中使用 Jackson 作为 JSON 处理器 到目前为止我有什么 pom xml 要么这个
  • PowerShell 编码命令失败

    我试图使用 Powershell 的 EncodedCommand 标志弹出一个简单的消息框 但它一直失败 我在过去的几个小时里尝试过谷歌搜索 但似乎无法正常工作 它几乎看起来像一个编码错误 但我使用的是常规 UTF 8 和标准 ASCII
  • 执行非查询过程不工作asp.net core

    我想执行一个存储过程 该过程返回三个值 电子邮件 姓名 公司 ID 并获取一个参数 公司 ID 但它不起作用 我创建了一个具有这些属性的类和一个返回数据的存储过程 由它显示DatabaseFacade error 我的代码是 List
  • 如何计算图像的对比度?

    假设我有一个opencv BGR image img 如何计算该图像的对比度 对比度的一种定义是均方根对比度 可以按下式计算 首先 改造BGR image img到灰度 img grey cv2 cvtColor img cv2 COLOR
  • 如何水平居中对齐 div 内的文本?

    这可能是个愚蠢的问题 但我不知道如何得到这个 编辑 我只想将文本水平居中而不是图像 并且图像必须保持文本的基线 div img style width 30px height 60px display inline src http pla
  • 如何在字符级别对句子进行one-hot编码?

    我想将一个句子转换为一个 one hot 向量数组 这些向量将是字母表的独热表示 它看起来像下面这样 hello h 7 e 4 l 11 o 14 会成为 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0