Python 为不同字符串参数之间的文档相似性建模的最佳方法是什么?

Python 为不同字符串参数之间的文档相似性建模的最佳方法是什么?,python,machine-learning,modeling,sentence-similarity,question-answering,Python,Machine Learning,Modeling,Sentence Similarity,Question Answering,我有一个预测用户所面临问题的解决方案的问题 问题设置如下所示: 我们有一个问题和解决方案的数据库。对于每个问题,我们有三个参数来表示它 作业名称(字符串-作业名称) 作业Id(整数-作业Id) 根本原因(字符串-该问题的原因) 每个问题都有一个对应的解决方案,由面对该问题的用户添加。解决方案参数是 解决方案(字符串-用户为该问题输入的解决方案) 因此,我们希望利用该数据库并预测新问题的解决方案(问题是一组jobname、jobid、rootcause-都是字符串) 我们最初提出了这个解决方案。

我有一个预测用户所面临问题的解决方案的问题

问题设置如下所示:

我们有一个问题和解决方案的数据库。对于每个问题,我们有三个参数来表示它

  • 作业名称(字符串-作业名称)
  • 作业Id(整数-作业Id)
  • 根本原因(字符串-该问题的原因) 每个问题都有一个对应的解决方案,由面对该问题的用户添加。解决方案参数是

  • 解决方案(字符串-用户为该问题输入的解决方案)
  • 因此,我们希望利用该数据库并预测新问题的解决方案(问题是一组jobname、jobid、rootcause-都是字符串)

    我们最初提出了这个解决方案。 我们只想识别与查询问题类似的问题(一组jobname、jobid、rootcause),并为最近的问题提供解决方案。 但是在这种情况下,我们没有任何方法来测量训练误差,就像我们在房价预测问题中所做的那样


    一般来说,我们如何处理这个问题,以及我们需要使用什么样的机器学习模型?

    似乎,您想要构建一种推荐系统。根据问题的原因,列出建议的解决方案。一种可能的解决方案-使用矢量化
    根本原因
    ,然后尝试使用矢量相似性查找类似问题。

    我建议您首先识别特征。JobID没有任何意义。因此,如果jobName和rootcause可以帮助您预测解决方案。你应该用他们训练你的模型来预测解决方案,假设我们对
    jobid
    字段进行一次热编码,并对
    rootCause
    使用矢量化,正如你所说,我们如何为jobid和rootCause分配权重?。为此,我们需要测量模型的训练误差。我只是需要一些帮助来建模问题以测量训练误差。为了能够测量训练误差,你应该知道“正确”的答案。但你需要找到“最接近”的问题。当所有根本原因都有向量表示时,可以使用相似性度量(例如,两个向量之间的余弦相似性)来查找与新问题相似的问题。那么,在查找相似问题时,如何为jobid和根本原因分配权重?可以使用余弦距离来代替权重。如果两个向量(根本原因)的余弦距离接近1-这是类似的“问题”,如果接近0-则完全不同()。因此,您可以向用户显示10个最接近的问题。根本原因之间的距离很好,但您将谁纳入jobName参数?您为1分配了什么权重。根源与2之间的距离。作业ID之间的距离?