英文怎样character级编码
英文可以以word形式编码。但是这种编码方式的问题在于在测试或者实际应用的时候出现 out-of-vocabulary(OOV)的问题,所以我们可以编码character。
以句子“these models make use of neural networks”为例。
我们的字典为
我们对这个文件处理生成字典
character_to_id = {}
with open('C:\\Users\\15226\\Desktop\\character.txt', 'r', encoding='utf-8') as f:for num, line in enumerate(f.readlines()):character_to_id[line.replace('\n', '')] = num
句子字符向量化代码
def character_encode(sentence):vector = np.zeros([sequence, max_character])for n, s in enumerate(sentence.split()):for nn, c in enumerate(s):vector[n][nn] = character_to_id[c]return vector
这里面是直接对句子进行character向量化,也可以先对单词进行character向量化,再对句子进行向量化
如果是一个batch的句子,我们向量化后会得到[batch_size,seq_len,max_char]的一个矩阵,经过embedding后,会得到一个[batch_size,seq_len,max_char,dim]的矩阵,再经过CNN处理,就可以将矩阵处理成rank=3的。
def make_conv(inp):convolutions = []for i, (width, num) in enumerate(filters):# He initialization for ReLU activation# with char embeddings init between -1 and 1# w_init = tf.random_normal_initializer(# mean=0.0,# stddev=np.sqrt(2.0 / (width * char_embed_dim))# )# Kim et al 2015, +/- 0.05w_init = tf.random_uniform(minval=-0.05, maxval=0.05)w = tf.get_variable([1, width, char_embed_dim, num],initializer=w_init,dtype=tf.float32)b = tf.get_variable("b_cnn_%s" % i, [num], dtype=tf.float32,initializer=tf.constant_initializer(0.0))conv = tf.nn.conv2d( # (batch_size, unroll_steps,max_chars - width + 1,num) 在词上面卷inp, w,strides=[1, 1, 1, 1],padding="VALID") + b# now max pool# (batch_size, unroll_steps,1,num),因为是多个卷积核,池化过后跟卷积核的宽度就没有关系了# 因为是char编码,这样就可以看到多个char,就相当于看到一个词的一部分或者多部分conv = tf.nn.max_pool(conv, [1, 1, max_character - width + 1, 1],[1, 1, 1, 1], 'VALID') ## activationconv = tf.nn.relu(conv)conv = tf.squeeze(conv, squeeze_dims=[2]) # (batch_size, unroll_steps,num)convolutions.append(conv)return tf.concat(convolutions, 2)
英文怎样character级编码相关推荐
- 数码管的共阳级和共阴级编码
数码管分为共阳级和共阴级,其编码如下: 共阳级编码为0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x88, 0x83, ...
- Excel中提取英文,数值和编码(LEN函数)
Excel中提取英文,数值和编码(LEN函数) 提取英文: 数据源中包含英文+中文,要求提取英文信息 =LEFT(A2,2*LEN(A2)-LENB(A2)) 解读:LEN函数按照字符数计算,LENB ...
- 对26个英文字母进行huffman编码
<ol><li class="alt"><span><span class="comment">1.建立哈夫曼树 ...
- Python实现英文文本的LZW编码压缩
LZW编码采用隐字典码的形式完成压缩. 文本中符号并不是独立存在的,前一个符号对后一个符号的出现有着很大影响. LZW算法利用文本开头部分的特征,作为整个文本的特征,即利用文本开头部分的内容,生成固定 ...
- mysql根据父级编码得到父级内容_在mysql查询中通过父级获取所有子级
为此你需要有一个存储函数: DELIMITER $$ DROP FUNCTION IF EXISTS `junk`.`GetFamilyTree` $$ CREATE FUNCTION `GetFam ...
- linux gbk英文转unicode,GBK编码转Unicode编码转换表
#include static Table_T tab_UCS2_to_GBK = NULL; // sizeof(tab_GBK_to_UCS2) / sizeof(tab_GBK_to_UCS2[ ...
- Netbeans 配置英文和默认utf-8编码
JAVA SDK 下载地址 http://www.oracle.com/technetwork/java/javase/downloads 解决办法: 进入netbeans 6.5\etc ,其中ne ...
- Yann LeCun新作:473种模型大对比,中日韩文本分类到底要用哪种编码?
雷锋网 AI科技评论按:就在前几天,Yann LeCun(中文名:杨立昆,被称为卷积网络之父)与其学生 张翔在arXiv上发表了一篇新作<Which Encoding is the Best f ...
- 词嵌入、句向量等方法汇总
在cips2016出来之前,笔者也总结多类似词向量的内容,自然语言处理︱简述四大类文本分析中的"词向量"(文本词特征提取)事实证明,笔者当时所写的基本跟CIPS2016一章中总结的 ...
最新文章
- boost::fibers模块实现适应非阻塞的测试程序
- 最佳实践:HTAP数据库TBase助力某省级单位核心系统IT架构升级
- 通信原理最佳接收-匹配滤波器
- 半导体物理学——(二)半导体中杂志和能级缺陷
- 【工程师学算法】工程常用算法(二)—— 卡尔曼滤波(Kalman Filter)
- ifv播放器android 版,ifv格式播放器
- 这7个摄影构图技巧,可能会帮你拍出好看照片!你学会了吗?
- 更新QQ连连看外挂 加入自动挂机多项功能
- Spark面试题、答案
- python量化策略——改进的美林时钟轮动策略(一)
- 这个时代,达不到百万级以上的并发量,都不叫高并发!!!
- Topcoder Open 2011 Qualification Round 3报告
- 联合循环—25(了解PID原理图1)
- 致敬 互联网背后的运维工程师们
- python array太慢_python - gdal ReadAsarray对于vrt非常慢 - 堆栈内存溢出
- 图像去噪的快速入门学习
- AD画PCB如何做矩形槽孔
- 避坑笔记之Ubuntu 20.04 安装 msfconsole
- W3school离线手册2019资源下载
- Learning without Forgetting 翻译