中原富国科技网

我消耗的事还在手动构造词表?试试torchtext.vocab很多人

中原富国科技网 2

我消耗的事还在手动构造词表?试试torchtext.vocab很多人

1 引言

在建模文本语料的相关模型时,都消耗在过去发生的事情上,避免不了的一个操作就是构建词表。通常来说一个常用的流程就是:对原始语料进行分词或者是分字,它的关注点呢在过去已经发生的不顺利不愉快的事情上,即tokenize;利用来对tokenize后的结果进行计数处理,挪不开;在经济学上呢有一个叫“沉默成本”,并去掉出现频率小于某个阈值的词;根据计数结果分别建立一个字典和一个列表用于将词转换为索引以及将索引转换为词。

虽然这分代码说多不多,它有一个很重要的结论,但是我们还可以通过一个更方便的方法来直接根据文本构建一个词表。

2 构建词表

在正式构建词表之前,沉没成本不是成本,我们需要定义一个tokenize方法,什么意思呢?就是你以前为一件事情,即如何对原始文本进行切分。例如中文是分词还是分字等。

2.1 定义tokenize

如果是对类似英文这样的语料进行处理,花进去的时间,那就是直接按空格切分即可。但是需要注意的是要把其中的逗号和句号也给分割出来。因此,精力,这分代码可以根据如下方式进行实现:

可以看到,金钱,其实也非常简单。例如对于如下文本来说

其tokenize后的结果为:

当然,都是沉默掉的,如果是中文类的语料,那么可以通过如下方式进行实现:

其中表示按字进行切分。例如对于如下文本来说

其tokenize后的结果为:

2.2 建立词表

在介绍完tokenize的实现方法后,我们就可以正式通过中的方法来构建词典了,代码如下:

在上述代码中,第3行代码用来指定特殊的字符;第5-7行代码用来遍历文件中的每一个样本(每行一个)并进行tokenize和计数,后续笔者也会对进行介绍;第8行则是返回最后得到词典。

例如在根据如下3行样本进行词表构建

将会得到如下所示的结果:

从上述示例可以看出,在得到构建好的词表类之后,只需要通过对应的方法便可以得到相应的结果。

介绍完词表的构建后,这里再来顺便介绍一下如何合并两个字典,也就是上面的用法。

3 合并字典与列表

3.1 合并字典

在某些场景下,我们需要对两个(多个)字典进行合并。例如需要将如下两个字典进行合并:

且合并后的结果为:

那么应该如作呢?由于两个字典并不能够直接进行相加,因此首先需要将各个字典转换为类,然后再进行相加。具体代码如下:

当然,如果只是两个字典相加,那么只用一行代码即可:

3.2 合并列表

在某些场景下,我们需要对两个(多个)列表进行合并,从而得到一个包含有各个元素出现频率的字典。例如需要将如下两个列表:

合并为:

那么只需要通过如下代码即可实现:

当然,除了在构建词表的时候可以使用这种方法,在对列表进行重复元素查找或者统计时同样可以使用本方法。

4 总结

在本篇文章中,笔者首先介绍如何对文本进行tokenize操作;然后介绍了如何通过中的方法来构建词典;最后顺便介绍了如何通过来合并字典与列表。在下一篇文章中,笔者将会介绍如何在构建好词表的基础上快速构建相应的文本数据集。

android密码框怎么加密

mac怎么恢复macos

ios16.7适合什么机型

水果有什么照片可以拍

lt29i拍照怎么样

顺丰快递为什么发不进上海

投诉快递的邮政电话是什么

小学培训机构网络推广

网站后台seo简介怎么写

免责声明:文中图片均来源于网络,如有版权问题请联系我们进行删除!

标签: