如何在python主题建模中处理不同序列中同一个单词的双字母?防爆。 '租约延期'和'延期租赁'

问题描述 投票:0回答:1

Hello Stackoverflow社区,

我将与大家联系,了解如何在python主题建模中以不同的顺序处理同一个单词的bigrams。

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

欢迎提出意见和建议。

防爆。 '租约延期'和'延期租约'我想把它们视为单词矩阵中的同一个单词

任何类型的建议和想法都是最受欢迎的。

提前谢谢你,Nikhar

python python-3.x lda topic-modeling topicmodels
1个回答
1
投票

在将这些双字母表视为可互换之前,您必须确保它们确实存在。如果不是,则会降低分析质量。 'foot_doctor'和'doctor_foot'可能不是指相同的东西 - 尤其是如果您采取其他预处理步骤,例如堵塞或引理,即将“医生的脚”变成“医生脚”。

假设这些双字母的含义是可以互换的:将它们视为可互换的 - 你可以将其重写为另一个。 Python提供了很多built-in string functions。在你的例子中,使用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。遍历要替换的所有双字母组,然后运行模型。

如果您不想阻止或引用所有文档,也可以使用这种方法,但主题非常重视与强烈相关的单词,例如“跳转”和“跳跃”。此外,请确保您不会覆盖原始数据,因此如果需要,您可以返回并重新构建这些替换的位置。

© www.soinside.com 2019 - 2024. All rights reserved.