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:从问题中获取手册的一部分的最佳实践是啥?的主要内容,如果未能解决你的问题,请参考以下文章
Tensorflow-lite - 从量化模型输出中获取位图
如何从 python 中的预训练模型中获取权重并在 tensorflow 中使用它?