Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将多个序列设置为KERAS中的特征_Python_Machine Learning_Keras_Nlp - Fatal编程技术网

Python 如何将多个序列设置为KERAS中的特征

Python 如何将多个序列设置为KERAS中的特征,python,machine-learning,keras,nlp,Python,Machine Learning,Keras,Nlp,我想用Keras建立命名实体识别模型。 以下是我遵循的链接: 数据如下所示: word label 0 Thousands O 1 of O 2 demonstrators O 3 have O 4 marched O ... ... ... 44187 there

我想用Keras建立命名实体识别模型。 以下是我遵循的链接:

数据如下所示:

                word label
0          Thousands     O
1                 of     O
2      demonstrators     O
3               have     O
4            marched     O
...              ...   ...
44187          there     O
44188   accidentally     O
44189             or     O
44190   deliberately     O
44191              .     O
他们使用单词到向量,因此他们对单词和标签进行索引,因此
X
是我的特征(单词索引序列),而
y
是我的结果(标签索引序列):

但如果我有这样的数据集呢:

这里我有另一个专栏,那就是
POS
。如何将
POS
列的值添加到我的功能中? 因此,基本上,我不希望在我的X*中只包含
word
值,我还希望在我的X*中包含
POS
值(或任何其他值) 如果我有多个列,例如:

word
POS
is_capital_letter
word_length


如何将所有这些列添加到Keras expect中的我的功能中[samples,timesteps,features]

  • 样本是典型的独立观测值。在你的情况下,我假设这些是句子
  • Timesteps是连续提供给模型的独立输入变量。这些应该是一句话中的单词
  • 特征是一个观察的单独度量,也称为。一个单词的特征
在创建X的行中,假设w包含数据集中的一行([word,label]),则对句子和单词进行交互,并转换“单一”特征(word)

如果您有多个功能作为数据集中的第一列n(目标是最后一列,例如[word、POS、is_大写字母、word_长度、…、标签]),并且您已在transforms中以与数据集中相同的顺序收集/定义了必要的“transform”词典,然后,您可以按如下方式生成输入和目标:

transforms=(word2idx,pos2idx,…)
X=[[[i][w[i]]]表示范围内的i(n)]表示s中的w]表示s中的s
Y=[[label2idx[w[n]]表示s中的w]表示s中的s
当然,如果您有数字或其他类型的功能,那么您应该使用其他方法进行转换,而不是word2idx、pos2idx等。。。dicts,例如单词长度的MinMaxScaling等

填充也适用于新的X和Y,但它使用相同的值扩展每个特征,使其长度max_len。根据每个特征的subtitute值,这里很可能使用详细的填充

word
POS
is_capital_letter
word_length