0

您好 Stackoverflow 社区,

我正在向大家寻求有关如何在 python 中的主题建模中以不同顺序处理相同单词的二元组的想法。

我有一个主题模型,其中两个意思相同的二元组被视为不同的特征,因为它们的顺序不同。我需要一种方法来将这两个二元组视为同义词。

欢迎提出想法和建议。

前任。'lease extension' 和 'extension lease' 我想把它们当作词矩阵中的同一个词

欢迎任何类型的建议和想法。

提前谢谢你,尼哈尔

4

1 回答 1

1

在将这些二元组视为可互换之前,您必须确保它们实际上是可互换的。如果不是,则会降低分析的质量。'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”)上负载非常重,也可以使用此方法。此外,请确保您没有覆盖原始数据,以便在需要时返回并重建这些替换的位置。

于 2019-04-12T11:07:28.460 回答