作为一名信号处理工程和 NLP 新手,我对向 CNN 网络提供输入感到困惑。
以我对CNN的了解,我正在尝试构建一个种族分类器,输入为文本(姓(LN)、中间名(MN)、名字(FN))。我有一个包含姓氏、中间名、名字和班级信息的 8,000,000 个样本的列表
array = [['person1_LN','person1_MN','person1_FN','Person1_class'],
['person1_LN','person1_MN','person1_FN','Person2_class'],
....]
我想分别在 LN、MN、FN 上应用转换层(CL),然后是池化层(PL)。
文本处理示例演示了将句子转换为词嵌入。我试图理解这个代码片段
W = tf.Variable(tf.random_uniform([vocab_size, embedding_size], -1.0, 1.0), name='W')
self.embedded_chars = tf.nn.embedding_lookup(W, self.input_x)
self.embedded_chars_expanded = tf.expand_dims(self.embedded_chars, -1)
本教程说要使用 word2vec 进行培训。看了这两个博客,我什么也不懂。在任何一种情况下,我的数据都不是一个句子,而且在第二种情况下,我必须训练什么?
如果我直接输入没有词嵌入的词,CL 会运行吗?如果没有任何关于如何在我的案例中嵌入单词以向 CNN 提供输入的示例?