您好 Stackoverflow 社区,
我正在向大家寻求有关如何在 python 中的主题建模中以不同顺序处理相同单词的二元组的想法。
我有一个主题模型,其中两个意思相同的二元组被视为不同的特征,因为它们的顺序不同。我需要一种方法来将这两个二元组视为同义词。
欢迎提出想法和建议。
前任。'lease extension' 和 'extension lease' 我想把它们当作词矩阵中的同一个词
欢迎任何类型的建议和想法。
提前谢谢你,尼哈尔
您好 Stackoverflow 社区,
我正在向大家寻求有关如何在 python 中的主题建模中以不同顺序处理相同单词的二元组的想法。
我有一个主题模型,其中两个意思相同的二元组被视为不同的特征,因为它们的顺序不同。我需要一种方法来将这两个二元组视为同义词。
欢迎提出想法和建议。
前任。'lease extension' 和 'extension lease' 我想把它们当作词矩阵中的同一个词
欢迎任何类型的建议和想法。
提前谢谢你,尼哈尔
在将这些二元组视为可互换之前,您必须确保它们实际上是可互换的。如果不是,则会降低分析的质量。'foot_doctor' 和 'doctor_foot' 可能不是指同一个东西 - 特别是如果你采取了其他预处理步骤,例如词干或词形还原,即将'医生的脚'变成'医生的脚'。
假设这些二元组的含义是可互换的:将它们视为可互换的——您可以将一个重写为另一个。Python 提供了很多内置的字符串函数。在您的示例中,使用replace()
,我们可以用另一个替换一个二元组。
oldfakedoc = 'my landlord gave me a lease extension'
newfakedoc = oldfakedoc.replace('lease extension', 'extension lease')
print (newfakedoc)
给my landlord gave me a extension lease
. 循环遍历您要替换的所有二元组,然后运行您的模型。
如果您不想对所有文档进行词干化或词形还原,但您的主题在高度相关的单词(例如“jump”和“jumping”)上负载非常重,也可以使用此方法。此外,请确保您没有覆盖原始数据,以便在需要时返回并重建这些替换的位置。