设计和训练人工智能模型的意义是什么?

前一篇:《人工智能模型训练技术,正则化!》

序言:人工智能模型的真正价值在于其实际应用,而不仅仅停留在理论阶段。本节将通过一个简单而常见的应用场景,展示如何将前面几节所设计和训练的模型应用于实际问题。我们将使用训练好的模型对句子进行分类,具体来说,识别社交平台上用户评论的类别。通过这样的技术,社交平台可以实时分析用户的情绪,迅速采取适当的响应措施,比如缓解冲突、提升用户体验,甚至优化平台的推荐算法。

接下来,我们将逐步引导您完成这一过程,从句子编码到模型预测结果的解读,展示如何将理论和实践结合起来,将人工智能的潜能充分释放。

使用模型对句子进行分类

现在你已经创建了模型,训练它,并通过优化解决了许多导致过拟合的问题,下一步就是运行模型并检查其结果。为此,你需要创建一个包含新句子的数组。例如:

sentences = [

"granny starting to fear spiders in the garden might be real",

"game of thrones season finale showing this sunday night",

"TensorFlow book will be a best seller"

]

然后使用与训练时创建词汇表时相同的 tokenizer 对这些句子进行编码。这一点很重要,因为只有使用相同的 tokenizer 才能确保使用的是模型训练时的词汇表和标记。

sequences = tokenizer.texts_to_sequences(sentences)

print(sequences)

打印输出的结果是上述句子的序列:

[[1, 816, 1, 691, 1, 1, 1, 1, 300, 1, 90],

[111, 1, 1044, 173, 1, 1, 1, 1463, 181],

[1, 234, 7, 1, 1, 46, 1]]

这里有很多 1 标记(表示“”的占位符),因为像“in”和“the”这样的停用词已经从词典中移除了,而像“granny”和“spiders”这样的单词并未出现在训练词典中。

在将这些序列传递给模型之前,需要确保它们的形状符合模型的预期——也就是目标长度。你可以像训练模型时那样使用 pad_sequences 来实现:

padded = pad_sequences(sequences, maxlen=max_length,

padding=padding_type, truncating=trunc_type)

print(padded)

这会将句子输出为长度为 100 的序列,所以第一个序列的输出结果会是这样的:

[ 1 816 1 691 1 1 1 1 300 1 90 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 ]

这个句子确实很短!

现在句子已经被标记化并填充为符合模型输入维度要求的格式了,是时候将它们传递给模型并获取预测结果了。这非常简单,只需要这样操作:

print(model.predict(padded))

结果会以列表的形式返回并打印出来,高分表示可能性较大的讽刺性。以下是我们示例句子的结果:

[[0.7194135 ]

[0.02041999]

[0.13156283]]

对于第一个句子 “granny starting to fear spiders in the garden might be real”,尽管它包含了许多停用词并且有大量的零填充,但它得到了一个很高的分数(0.7194135),这表明它具有很高的讽刺性。而后两个句子的分数低得多,表明它们的讽刺可能性较低。

总结:是的,人类为什么需要人工智能模型?因为在许多实际应用场景中,传统的计算程序或者编程代码无法有效解决问题,而这些场景往往只能由人类很好地处理。为了提高效率、降低运营成本,各大公司和企业才会投入巨额资金去研发和设计人工智能模型。

前一篇:《人工智能模型训练技术,正则化!》

序言:人工智能模型的真正价值在于其实际应用,而不仅仅停留在理论阶段。本节将通过一个简单而常见的应用场景,展示如何将前面几节所设计和训练的模型应用于实际问题。我们将使用训练好的模型对句子进行分类,具体来说,识别社交平台上用户评论的类别。通过这样的技术,社交平台可以实时分析用户的情绪,迅速采取适当的响应措施,比如缓解冲突、提升用户体验,甚至优化平台的推荐算法。

接下来,我们将逐步引导您完成这一过程,从句子编码到模型预测结果的解读,展示如何将理论和实践结合起来,将人工智能的潜能充分释放。

使用模型对句子进行分类

现在你已经创建了模型,训练它,并通过优化解决了许多导致过拟合的问题,下一步就是运行模型并检查其结果。为此,你需要创建一个包含新句子的数组。例如:

sentences = [

"granny starting to fear spiders in the garden might be real",

"game of thrones season finale showing this sunday night",

"TensorFlow book will be a best seller"

]

然后使用与训练时创建词汇表时相同的 tokenizer 对这些句子进行编码。这一点很重要,因为只有使用相同的 tokenizer 才能确保使用的是模型训练时的词汇表和标记。

sequences = tokenizer.texts_to_sequences(sentences)

print(sequences)

打印输出的结果是上述句子的序列:

[[1, 816, 1, 691, 1, 1, 1, 1, 300, 1, 90],

[111, 1, 1044, 173, 1, 1, 1, 1463, 181],

[1, 234, 7, 1, 1, 46, 1]]

这里有很多 1 标记(表示“”的占位符),因为像“in”和“the”这样的停用词已经从词典中移除了,而像“granny”和“spiders”这样的单词并未出现在训练词典中。

在将这些序列传递给模型之前,需要确保它们的形状符合模型的预期——也就是目标长度。你可以像训练模型时那样使用 pad_sequences 来实现:

padded = pad_sequences(sequences, maxlen=max_length,

padding=padding_type, truncating=trunc_type)

print(padded)

这会将句子输出为长度为 100 的序列,所以第一个序列的输出结果会是这样的:

[ 1 816 1 691 1 1 1 1 300 1 90 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 ]

这个句子确实很短!

现在句子已经被标记化并填充为符合模型输入维度要求的格式了,是时候将它们传递给模型并获取预测结果了。这非常简单,只需要这样操作:

print(model.predict(padded))

结果会以列表的形式返回并打印出来,高分表示可能性较大的讽刺性。以下是我们示例句子的结果:

[[0.7194135 ]

[0.02041999]

[0.13156283]]

对于第一个句子 “granny starting to fear spiders in the garden might be real”,尽管它包含了许多停用词并且有大量的零填充,但它得到了一个很高的分数(0.7194135),这表明它具有很高的讽刺性。而后两个句子的分数低得多,表明它们的讽刺可能性较低。

总结:是的,人类为什么需要人工智能模型?因为在许多实际应用场景中,传统的计算程序或者编程代码无法有效解决问题,而这些场景往往只能由人类很好地处理。为了提高效率、降低运营成本,各大公司和企业才会投入巨额资金去研发和设计人工智能模型。

posted @ 2024-11-20 08:53  果冻人工智能  阅读(38)  评论(0编辑  收藏  举报