我认为在评估这样一个模型时(至少)需要考虑两个部分:
- 生成的文本是否与输入的主题正确相关
- 生成的文本在语法和语义上是否可接受
在我看来,第一种评估可以通过自动方法(例如您建议的方法)合理地完成。请注意,余弦分数不应该被绝对解释:您可能应该用随机的主题样本计算余弦相似度,并且通常人们期望输入主题的相似度比任何其他主题都高得多。您还可以考虑其他变体,例如在生成的文本上训练主题模型以及来自各种已知主题的文档样本,然后检查生成的文本是否属于目标主题(即它应该与已知的文档分组属于这个话题)。
对于第二种评估,使用自动方法将是困难且不可靠的。据我所知,唯一可靠的方法是要求人工注释者评估文本在语法上是否正确以及其内容是否有意义。如果您打算这样做,您不妨要求他们注释文本与主题的相关程度。
[添加以下评论]
如果您仅通过计算与该目标主题的相似度来检查生成的文本是否与该主题相似,那么您获得的是例如平均余弦分数。然后您可能会选择一个阈值:例如,如果相似度高于 0.5,则认为该文本确实与主题相关。但是这个选项有两个问题:
- 在某些情况下,即使文本与主题正确相关,平均相似度也会低于阈值。例如,这可能发生在涵盖大量词汇的非常“广泛”的主题中。
- 相反,您可能会遇到平均相似度高于阈值的情况,但实际上与另一个主题进行比较会给出更高的相似度值。
这些问题是由于“绝对”解释相似度得分,而不是相对于其他相似度得分来解释它。相反,您不仅可以计算目标主题的相似度,还可以计算其他主题的相似度,然后只需检查目标主题是否是最相似的主题(或至少是最相似的主题之一)。这边走 :
- 目标相似度分数可能较低,只要高于其他主题即可
- 您可以检测到另一个主题恰好比目标主题具有更高相似度的情况