Python 为不同字符串参数之间的文档相似性建模的最佳方法是什么?
我有一个预测用户所面临问题的解决方案的问题 问题设置如下所示: 我们有一个问题和解决方案的数据库。对于每个问题,我们有三个参数来表示它Python 为不同字符串参数之间的文档相似性建模的最佳方法是什么?,python,machine-learning,modeling,sentence-similarity,question-answering,Python,Machine Learning,Modeling,Sentence Similarity,Question Answering,我有一个预测用户所面临问题的解决方案的问题 问题设置如下所示: 我们有一个问题和解决方案的数据库。对于每个问题,我们有三个参数来表示它 作业名称(字符串-作业名称) 作业Id(整数-作业Id) 根本原因(字符串-该问题的原因) 每个问题都有一个对应的解决方案,由面对该问题的用户添加。解决方案参数是 解决方案(字符串-用户为该问题输入的解决方案) 因此,我们希望利用该数据库并预测新问题的解决方案(问题是一组jobname、jobid、rootcause-都是字符串) 我们最初提出了这个解决方案。
一般来说,我们如何处理这个问题,以及我们需要使用什么样的机器学习模型?似乎,您想要构建一种推荐系统。根据问题的原因,列出建议的解决方案。一种可能的解决方案-使用矢量化
根本原因
,然后尝试使用矢量相似性查找类似问题。我建议您首先识别特征。JobID没有任何意义。因此,如果jobName和rootcause可以帮助您预测解决方案。你应该用他们训练你的模型来预测解决方案,假设我们对jobid
字段进行一次热编码,并对rootCause
使用矢量化,正如你所说,我们如何为jobid和rootCause分配权重?。为此,我们需要测量模型的训练误差。我只是需要一些帮助来建模问题以测量训练误差。为了能够测量训练误差,你应该知道“正确”的答案。但你需要找到“最接近”的问题。当所有根本原因都有向量表示时,可以使用相似性度量(例如,两个向量之间的余弦相似性)来查找与新问题相似的问题。那么,在查找相似问题时,如何为jobid和根本原因分配权重?可以使用余弦距离来代替权重。如果两个向量(根本原因)的余弦距离接近1-这是类似的“问题”,如果接近0-则完全不同()。因此,您可以向用户显示10个最接近的问题。根本原因之间的距离很好,但您将谁纳入jobName参数?您为1分配了什么权重。根源与2之间的距离。作业ID之间的距离?