Tensorflow:从问题中获取手册的一部分的最佳实践是啥?

Posted

技术标签:

【中文标题】Tensorflow:从问题中获取手册的一部分的最佳实践是啥?【英文标题】:Tensorflow: What's the best practice to get a section of a manual from a question?Tensorflow:从问题中获取手册的一部分的最佳实践是什么? 【发布时间】:2020-05-01 01:23:05 【问题描述】:

我想使用 Tensorflow 创建智能常见问题解答。我已经了解了如何管理聊天机器人,但我的需要是让用户搜索帮助,结果必须是手册中最可能的章节。

例如用户可以问:

“支持哪些操作系统?”

回复必须是手册中所有可能部分的列表,其中可能是正确答案。 我为培训过程设置的文本记录集只是手册本身。我遵循了文本分类示例,但我认为这不是我需要的,因为在这种情况下,它只会理解给定文本是属于一个类别还是另一个类别。

完成此任务的最佳做法是什么(我使用 Python)?

提前谢谢你

【问题讨论】:

【参考方案1】:

一个想法可能是使用Bert 或其他预训练模型(查看transformers)构建您的文本的embeddings,然后将此类嵌入与您的查询(问题)进行比较(例如使用余弦距离)并将最相似的解释为包含它们的部分或章节。

【讨论】:

一段时间后我恢复了这份工作并尝试了您的建议。似乎工作得很好!我使用 distiluse-base-multilingual-cased 作为模型,然后嵌入我的数据。即使它非常准确,有时结果也不是预期的:我发出三个按分数排序的不同响应,而正确的响应通常不是第一个。是否可以微调模型以记住下一个查询的正确响应? IE:在第一次查询时,正确的响应位于位置 3(并且用户将其标记为正确),下次我希望它可以有更高的分数。谢谢! 由于您可以收集有关用户选择的数据,因此您可以使用该信息来优化您的排名函数,以便您的最终排名是文档分数和用户数据的适当组合。

以上是关于Tensorflow:从问题中获取手册的一部分的最佳实践是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Python学习手册(第五部分)

TensorFlow开发者证书 中文手册

Tensorflow-lite - 从量化模型输出中获取位图

如何从 python 中的预训练模型中获取权重并在 tensorflow 中使用它?

在 Tensorflow 中进行这种基于切片的乘法的最有效方法

如何正确使用带有 C++ 的 tensorflow 从 YOLO 模型中获取输出?