tensorflow - 深度学习中的词嵌入是如何工作的?
问题描述
我对 Word Embeddings 有一个非常基本的疑问。我的理解是,词嵌入用于以数字格式表示文本数据而不会丢失上下文,这对于训练深度模型非常有帮助。
现在我的问题是,词嵌入算法是否需要将所有数据学习一次,然后以数字格式表示每条记录?否则,每个记录将单独表示,并知道其他记录。
张量流代码:
这是我使用示例代码进行的一个实验,其中嵌入独立地将数据重新构建为指定的维度。
我的理解正确吗?
解决方案
不,它不需要一次学习所有数据,然后以数字格式表示每条记录,它是单独完成的。你做的是对的,但是自然语言处理的方法很多,我也可以给你推荐一个好方法,就是把每个字母变成一个数字,所以这里你可以用一个字母一个字母的预测,是真的吗?不会很快,但它可以保证很好的准确性,因为字母的词汇量少于单词的词汇量,它可以是这样的:
vocab = set( your_text ) # extract each distinct letter
vocab_to_int = {l:i for i,l in enumerate(vocab)} # transforms letter to number
int_to_vocab = {i:l for i,l in enumerate(vocab)} # do the inverse
transformed_text = [vocab_to_int[l] for l in your_text] # all text transformed
推荐阅读
- spring-boot - 如何在我的异常类中模拟一个类?
- docker - docker hub 的主要优点是什么?
- android - 无法更改微调器日期选择器的确认和取消按钮的颜色 android react native
- android - 我想用 kotlin soundPool 加载多个声音源文件
- kubernetes - 如何负载平衡在 2 个 Pod 上运行的有状态应用程序
- javascript - 如果数据存在并在 JQuery 中自动更改今天日期,则今天日期在 datepicker 中突出显示
- javascript - 在 javascript 中从 php 获取 json_encode
- java - 当我们将其设置为高优先级时,Daemon 线程的行为如何?
- javascript - 如何在对象数组中找到对象?
- java - 如何在 Spring Boot 中使用 KafkaTemplate 创建多个生产者,每个生产者用于不同的 Kafka 服务器