Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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 如何在Tensorflow keras中使用nlp预测?_Python_Tensorflow_Keras - Fatal编程技术网

Python 如何在Tensorflow keras中使用nlp预测?

Python 如何在Tensorflow keras中使用nlp预测?,python,tensorflow,keras,Python,Tensorflow,Keras,我在预测命名实体识别集时有点问题。 经过我的训练和测试,一切都很顺利。现在我想测试原始数据,比如字符串 我试着用 model.predict(['Elon musk is good guy , he owns spacex, tesla.']) 但是它抛出了erorr UnimplementedError: Cast string to float is not supported [[node functional_29/Cast (defined at <ipython-

我在预测命名实体识别集时有点问题。 经过我的训练和测试,一切都很顺利。现在我想测试原始数据,比如字符串

我试着用

model.predict(['Elon musk is good guy , he owns spacex, tesla.'])
但是它抛出了erorr

UnimplementedError:  Cast string to float is not supported
     [[node functional_29/Cast (defined at <ipython-input-210-e13dae4a124d>:1) ]] [Op:__inference_predict_function_223088]

Function call stack:
predict_function
给予 数组([[0,0,0,0,0,0,0]] 但事实并非如此。甚至尝试了x_train[0]的一个片段句子,但它抛出的结果是这样的。
谢谢你的帮助。

我想你想预测单词,对吗

那么你应该把你的话分开:

sentence = 'Elon musk is good guy , he owns spacex, tesla.'
word_index = [[token2idx[word] for word in sentence.split(' ')]]
X = pad_sequences(sequences=word_index, maxlen=7, padding='post')
predicted = np.argmax(model.predict(X), axis=-1) 
print(predicted)
更新

正如讨论所显示的,问题在于模型在学习过程中具有较高的准确性,但输出始终为零

由于y类的大小不是均匀分布的,因此模型了解到,改进一类的预测将很快提高精度。所以你的y数据是这样的:
[0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,0]
。有三个类:
0,1,3
模型可以快速学习预测零,因为这可以最大程度地提高精度但是


该模型只学习预测0,这已经给了它很高的精确度。例如,当一个序列包含20个单词,因此20个y值和19个为0时,通过始终预测0,模型将达到95%的准确度。因此,在这种情况下,高精度并不能衡量模型的质量,因为为了提高所有类的模型性能,从95%跳到98%比从50%跳到95%更能提高模型的性能。

我猜你想预测单词,对吗

那么你应该把你的话分开:

sentence = 'Elon musk is good guy , he owns spacex, tesla.'
word_index = [[token2idx[word] for word in sentence.split(' ')]]
X = pad_sequences(sequences=word_index, maxlen=7, padding='post')
predicted = np.argmax(model.predict(X), axis=-1) 
print(predicted)
更新

正如讨论所显示的,问题在于模型在学习过程中具有较高的准确性,但输出始终为零

由于y类的大小不是均匀分布的,因此模型了解到,改进一类的预测将很快提高精度。所以你的y数据是这样的:
[0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,0]
。有三个类:
0,1,3
模型可以快速学习预测零,因为这可以最大程度地提高精度但是


该模型只学习预测0,这已经给了它很高的精确度。例如,当一个序列包含20个单词,因此20个y值和19个为0时,通过始终预测0,模型将达到95%的准确度。因此,在这种情况下,高精度是无法衡量模型质量的,因为为了提高所有类的模型性能,从95%跳到98%比从50%跳到95%更能提高模型的性能。

请澄清,哪个错误是通过
模型。预测(X)
返回?请澄清,下面是我的完整代码。非常感谢您的帮助,很遗憾,我无法查看整个代码,但由于您的模型具有很高的准确性,它认为它预测的是正确的,因此您的输出与预期一致。看一看你的y值,预处理可能是原因。看一看y=0是什么,你的模型可能会很好地学习预测零。因此,当你输入一个包含20个单词的句子时,只有一个单词y不是零,通过一直预测0,模型的准确率将达到95%。所以,要么训练更长的时间,要么看看你的模型结构,因为你的模型有96%的准确度,正如我所说的,不要说太多,你到底想预测什么?这是我的全部代码。非常感谢您的帮助,很遗憾,我无法查看整个代码,但由于您的模型具有很高的准确性,它认为它预测的是正确的,因此您的输出与预期一致。看一看你的y值,预处理可能是原因。看一看y=0是什么,你的模型可能会很好地学习预测零。因此,当你输入一个包含20个单词的句子时,只有一个单词y不是零,通过一直预测0,模型的准确率将达到95%。所以,要么训练更长的时间,要么看看你的模型结构,因为你的模型有96%的准确度,正如我所说的,不要说太多