在NLP预处理过程中如何处理嵌入文本中的数字?



我正在尝试对新闻文章的数据集运行LDA算法。我明白在预处理步骤中必须删除数字,并且我编写了一个简单的regex代码来用空格替换数字。

df['number_removed'] = df['text'].str.replace('d+', '',regex=True)

然而,我想保留一些数字,因为删除它们可能会改变上下文/主题。例如,

[Desired]"第四次工业革命,也被称为工业40,正开始改变商品的生产方式">

[错误]"第四次工业革命也被称为工业,正开始改变商品的生产方式">

注意:作为预处理的一部分,标点符号在示例中已被删除

所以,我在想:

  1. 运行LDA前是否可以保留必要的号码?
  2. 如何有选择地删除号码或处理上述情况?

在类似的情况下,有时会使用假标记(如<NUMBER>)替换数字,以便保留原始文本中存在数字的事实,但不会干扰语法上下文。重要的实际价值通常不是一概而论。

如果你想保留具体的数字(比如"industry 40")那么我想你需要调整你的正则表达式来保持这些模式。

最新更新