Python 使用TensorFlow标记字符串中字符的体系结构
我想创建一个用于标记句子中字符的神经网络。这里有一个例子 我的数据集示例:Python 使用TensorFlow标记字符串中字符的体系结构,python,tensorflow,keras,Python,Tensorflow,Keras,我想创建一个用于标记句子中字符的神经网络。这里有一个例子 我的数据集示例:s=“昨天我去了游泳池” 我的预期产出: 昨天->class日期(d) 我去了->class动作(a) 游泳池->class位置(l) 需要注意的是,我在角色级别上工作,我希望每个角色都能被分类为如下类型: input = "Yesterday I went to the swimming pool" output = "ddddddddd aaaaaaaaa lllllllllllll
s=“昨天我去了游泳池”
我的预期产出:
->class昨天
日期(d)
->class我去了
动作(a)
->class游泳池
位置(l)
input = "Yesterday I went to the swimming pool"
output = "ddddddddd aaaaaaaaa lllllllllllllllll"
我已经知道或,但出于某些原因,我不会在这里公开,这不适合我的应用程序
为了简单起见,我们假设输入字符串的长度都相同,比如说30个字符
我已经编写了一个简单的概念证明,用于将一个字符分为4类。这是我的模型:
model = tf.keras.models.Sequential([
tf.keras.layers.Dense(32, activation='relu'),
tf.keras.layers.Dense(32, activation='relu'),
tf.keras.layers.Dense(32, activation='relu'),
tf.keras.layers.Dense(4, activation='softmax', name="char2"),
])
它工作得很好,我很快就达到了100%的准确率。但是它只对一个字符进行分类,如果我想对所有字符串进行分类,我必须为字符0创建一个模型,为字符1创建第二个模型,为字符2创建第三个模型,依此类推。我认为有更好的解决方案,尤其是因为我的网络中必须有相同的层
所以我的问题是关于网络架构。我的应用程序的最佳架构是什么?我已经做了很多关于多输出网络的研究,但是没有找到满意的解决方案。这似乎很有趣,但没有任何答案
欢迎任何帮助。也许某种双向LSTM可以工作。但我不确定为什么要对每个字符进行具体分类,如果可以对每个单词/标记进行分类(这是词性标记等问题中更常见的方法),就可以立即知道每个字符属于哪个类别。