使用NLP在Python中展开文本中的缩写

2025年1月5日 | 阅读 5 分钟

引言

在本教程中,我们将学习如何使用 Python 的 NLP 在文本处理中展开缩写。文本预处理是 NLP 中的主要步骤之一。为了将文本数据转换为可分析和可预测的呈现形式,以用于我们的任务,这个清理过程称为文本预处理。缩写在正式的口语和书写中扮演着重要角色。NLP 也称为自然语言处理。它是一种被广泛使用和执行的缩写,用于改进对文本的理解。缩写是单词或短语的缩短形式,它将两个单词组合成一个。例如,“won't”是“would not”的缩写,“let's”是“let us”的缩写。虽然缩写在日常交流中很常见,但由于其歧义性和可能丢失的含义,它们可能会给 NLP 技术带来问题。

什么是缩写?

缩写是通过删除字母并用撇号替换它们来缩短一个单词或一组单词。它们常用于非正式的书写和对话中,以更简洁地表达思想。如今,一切都已转移到线上;我们通过消息或在 Facebook、Instagram、WhatsApp、Twitter、LinkedIn 等不同方式发帖与他人交流。与如此多的人交流,我们依赖于短文本和人类笔记。

什么是展开的缩写?

展开缩写对于确保 NLP 活动中的消息成功和分析非常重要。我们将短文本展开成其原始且无法理解的形式,从而使 NLP 模型能够捕捉文本的全部内容。这些技术有助于管理上下文、消除单词歧义并改进核心 NLP 应用,例如情感分析、命名实体识别和机器翻译。

展开缩写的技术有哪些?

展开缩写有几种技术,如下所示 -

1. 神经网络

一种基于神经网络的方法,使用深度学习模型进行泛化和收窄。这些模型可以通过学习单词之间复杂的模式和关系来提高处理短文本的能力。它们在大型数据集上进行训练,并且可以转移到多个站点。但它们需要大量的信息和训练数据。

2. 基于规则的方法

此过程涉及使用预定义的流程进行展开和收窄。规则详细解释了每个缩写。例如,“won't”用于代替“would not”。虽然规则很简单,但它们通常需要澄清。

3. 统计语言模型

模型中的统计语言模型使用大型语料库来检查句子中单词的概率。此模型可以捕获细节并预测给定缩写最有趣的内容。但是,它们可能需要比短句子或更多内容。

如何在 Python 中展开缩写?

我们可以使用以下方法在 Python 中展开缩写 -

使用 contractions 库

首先,我们需要安装该库。然后,您可以在 Google Colab 上尝试使用此库进行安装,因为它的开发非常出色。我们可以使用下面的 pip 命令来安装 contractions 库,如下所示 -

我们可以使用下面的命令在 Jupyter Notebook 中安装 contractions 库 -

程序代码 1

在这里,我们提供了一个程序代码,使用 contractions 库在 Python 的 NLP 中展开文本处理中的缩写。代码如下 -

输出

现在,我们运行上面的代码来找到原始文本的展开缩写。输出如下 -

The given text is: I'll call you by tomorrow. Let's start for waiting? 
          I'd love to see u here. It's given a big surprise.
          We've waited for this moment for many years. Can't express my feelings.
The expanded text is: I will call you by tomorrow. Let us start for waiting? I would love to see u here. It has giving a big surprise. We've waited for this moment for many years. Cannot express my feelings

程序代码 2

在这里,我们提供了一个程序代码,使用 contractions.fix() 函数在 Python 的 NLP 中展开文本处理中的缩写。代码如下 -

输出

现在,我们运行上面的代码来找到原始文本的展开缩写。输出如下 -

'I will call you by tomorrow. Let us start for waiting? \n          I would love to see you here. It is giving a big surprise.\n          We have waited for this moment for many years. Cannot express my feelings.'

展开缩写的应用有哪些?

以下是展开缩写的各种应用 -

  1. 机器翻译:展开缩写可以通过防止由模糊缩写引起的翻译错误来提高机器翻译的准确性。
  2. 情感分析:分析良好的理论取决于对文本含义的理解,包括短文本。
  3. 命名实体识别:展开缩写通过保留其完整形式来帮助识别和分类名称。

展开缩写的挑战有哪些?

展开缩写存在各种挑战。NLP 的展开缩写也带来了一些挑战。某些缩写词的歧义是一个主要挑战。例如,缩写“I'd”可以根据上下文展开为“I did”或“I would”。解决歧义需要对周围消息以及文本所传达的整体消息有充分的理解。

展开缩写的缺点有哪些?

展开缩写存在各种缺点或局限性。然而,NLP 中的展开缩写已取得积极成果。仍然存在一些需要考虑的局限性。内容期望与大规模数据集需求之间的冲突会造成问题。未来的研究将侧重于通过探索混合方法、利用上下文嵌入或创建自定义数据集来进行缩写展开来解决这些局限性。

结论

在本教程中,我们将学习如何使用 Python 的 NLP 在文本处理中展开缩写。展开缩写对于提高对文本的理解和 NLP 的成功非常重要。通过将缩短的文本转换为完整文本,NLP 模型可以更好地捕捉含义和上下文。基于规则的方法、统计模型和神经网络是泛化和收窄的有效技术,每种方法都有其优点和局限性。随着 NLP 的不断发展,页面缩减方面的进步将提高许多 NLP 应用的准确性和效率。