自然语言处理(NLP)是计算机科学的一部分,更具体地说是人工智能的一部分,处理计算机与人类以自然语言进行的交互。人类使用自然语言作为交流手段。
自然语言处理的目的是让计算机像人类一样理解并生成自然语言。
计算机可以理解数据库中的表格等结构化数据,但人类语言采用文本和语音形式,这些是非结构化数据形式。NLP 应用范围从苹果 Siri 等语音助手到机器翻译、文本过滤等概念。
在本文中,我们将概述自然语言处理。
NLP很难吗?
人类语言很复杂。同样的事情在人类语言中可以用不同的方式表达。根据上下文及其用法,句子中使用的单词可能具有不同的含义。
需要事先了解上下文才能得出句子的正确含义。言语、手势和声音在人类语言交流中也发挥着重要作用。NLP 很困难,因为语言包含歧义和不确定性。这些都是自然语言处理面临的一些挑战。
NLP 的组成部分
自然语言处理有以下两个组成部分:
- 自然语言理解
自然语言理解是指计算机理解人类语言的能力。这是重新排列非结构化数据以便计算机能够理解的过程。 - 自然语言生成
自然语言生成是从结构化或非结构化数据生成人类可读文本的过程。
自然语言处理技术
我们来看看常用的自然语言处理技术。其中包括句法技术(如词干提取、词形还原、词性标记和标记化) 以及语义技术(如命名实体识别和停用词删除)。
词干提取
词干提取将单词简化为其词干,即词根或基本形式。这是通过删除添加到单词的任何词缀来完成的。
词形还原
词形还原是将单词转换为其词根的过程。它是借助词性标记和句子上下文来确定词根的。
代币化
令牌是代表单词或其一部分的任何东西。这意味着甚至字符也可以被视为标记。标记化是将句子分解为单个单词并存储它们的过程。
词性标注
词性 (POS) 标记对于句法和语义分析非常重要,因为单个单词在给定句子中可以具有多种含义。在这种情况下,需要知道该词的具体含义,以便计算机能够适当地处理它。
命名实体识别
NLP 中的命名实体识别 (NER) 是指将单词分类为子类别的过程。NER 模型首先识别感兴趣的实体,然后将其分类为最合适的类别。以下是一些最常见的命名实体类型的列表:
- 人
- 组织
- 日期
- 地方
停用词删除
停用词是句子中常用的词。停用词的示例包括“is”、“the”、“in”、“a”、“an”等。添加这些词是为了使句子在语法上正确,但在开发模型时几乎不重要,因此我们删除他们。这也减少了数据集的大小。
推荐阅读:用于 NLP 的 Python 库
自然语言处理的应用
以下是我们在日常生活中使用的一些最常见的 NLP 应用。
消息过滤器
NLP 最常见的应用是消息过滤。这意味着根据某些关键字的存在将消息分类为不同的类别,例如垃圾邮件、社交邮件、促销邮件等。该技术最流行的应用是 Gmail。
语言翻译
像谷歌翻译这样的翻译工具使用自然语言处理将给定的句子从一种语言翻译成另一种语言。
虚拟助理
虚拟助手不仅可以理解以自然语言给出的命令,还可以用相同的语言与你交谈。此类助手的例子有 Alexa、Siri、Google Home 等。
自动完成
自动更正、自动完成和预测文本等功能在我们的智能手机中很常见。他们分别通过查看目前输入的句子来纠正拼写、完成单词并预测或建议句子中的下一个单词。所有这些功能都利用了 NLP。
结论
自然语言处理是人工智能的一个子领域,致力于帮助机器理解自然语言。NLP 在数字世界中有许多广泛的应用,它以创新的方式帮助改善人机交互。