什么是自然语言处理 (NLP)?

自然语言处理定义

自然语言处理 (NLP) 是一种人工智能 (AI) 形式,专注于计算机和人们如何使用人类语言进行交互。 NLP 技术帮助计算机使用我们自然的沟通方式(语音和书面文本)来分析、理解和响应我们。

自然语言处理是计算语言学的一个子专业。计算语言学是一个跨学科领域,结合了计算机科学、语言学和人工智能,研究人类语言的计算方面。

自然语言处理 (NLP) 的历史

自然语言处理的历史可以追溯到 20 世纪 50 年代,当时计算机科学家首次开始探索教机器理解和产生人类语言的方法。1950 年,数学家艾伦·图灵提出了他著名的图灵测试,该测试将人类语音与机器生成的语音进行对比,以查看哪个听起来更逼真。这也是研究人员开始探索使用计算机翻译语言的可能性的时候。

在其研究的第一个十年中,NLP 依赖于基于规则的处理。到 20 世纪 60 年代,科学家们开发了使用语义分析、词性标注和解析来分析人类语言的新方法。他们还开发了第一个语料库,这些语料库是用语言信息注释的大型机器可读文档,用于训练 NLP 算法。

在 20 世纪 70 年代,科学家们开始使用统计 NLP,它使用统计模型分析和生成自然语言文本,作为基于规则的方法的替代方案。

20 世纪 80 年代,重点是开发更高效的算法来训练模型并提高其准确性。这导致了机器学习算法在 NLP 中的兴起。机器学习是使用大量数据来识别模式的过程,这些模式通常用于进行预测。

深度学习、神经网络和 Transformer 模型从根本上改变了 NLP 研究。深度神经网络的出现,结合 Transformer 模型和“注意力机制”的发明,创造了诸如 BERT 和 ChatGPT 之类的技术。例如,注意力机制超越了查找与您的查询相似的关键字。它根据每个连接的术语的相关性对其进行加权。这是目前正在使用的一些最令人兴奋的 NLP 技术背后的技术。

自然语言处理是如何工作的?

自然语言处理以多种不同的方式工作。基于 AI 的 NLP 涉及使用机器学习算法和技术来处理、理解和生成人类语言。基于规则的 NLP 涉及创建一组可用于分析和生成语言数据的规则或模式。统计 NLP 涉及使用从大型数据集中导出的统计模型来分析和对语言进行预测。混合 NLP 结合了这三种方法。

如今,基于 AI 的 NLP 方法最受欢迎。与任何其他数据驱动的学习方法一样,开发 NLP 模型需要对文本数据进行预处理,并仔细选择学习算法。

步骤 1:数据预处理
这是清理和准备文本的过程,以便 NLP 算法可以对其进行分析。一些常见的数据预处理技术包括文本挖掘(它获取大量文本并将其分解为数据)或标记化(它将文本拆分为单个单元)。这些单元可以是标点符号、单词或短语。停用词删除是一种工具,可消除在分析中不是很有帮助的常用词和语音文章。词干提取和词形还原将单词分解为其基本词根形式,使其更容易识别其含义。词性标注识别句子中的名词、动词、形容词和其他词性。解析分析句子的结构以及不同单词之间的相互关系。

步骤 2:算法开发
这是将 NLP 算法应用于预处理数据的过程。它从文本中提取有用的信息。以下是一些最常见的自然语言处理任务

  • 情感分析 确定一段文本的情感基调或情感。情感分析将单词、短语和表达标记为正面、负面或中性。
  • 命名实体识别 识别并分类命名实体,例如人物、地点、日期和组织。
  • 主题建模 将相似的单词和短语分组在一起,以识别文档或文本集合中的主要主题或主题。
  • 机器翻译 使用机器学习自动将文本从一种语言翻译成另一种语言。语言建模预测在特定上下文中单词序列的可能性。
  • 语言建模 用于自动完成、自动更正应用程序和语音转文本系统。

需要注意的两个自然语言处理分支是自然语言理解(NLU)自然语言生成(NLG)。NLU 专注于使计算机能够使用人类使用的类似工具来理解人类语言。它旨在使计算机能够理解人类语言的细微差别,包括上下文、意图、情感和歧义。NLG 专注于从数据库或一组规则创建类人语言。NLG 的目标是生成可以让人类轻松理解的文本。

自然语言处理的优势

自然语言处理的一些优势包括

  • 提升沟通: 自然语言处理允许与搜索应用程序进行更自然的沟通。自然语言处理可以适应不同的风格和情感,创造更方便的客户体验。
  • 效率: 自然语言处理可以自动化许多通常需要人们完成的任务。一些例子包括文本摘要、社交媒体和电子邮件监控、垃圾邮件检测以及语言翻译。
  • 内容管理: 自然语言处理可以根据个人用户的偏好识别最相关的信息。理解上下文和关键词可以提高客户满意度。使数据更易于搜索可以提高搜索工具的效率。

自然语言处理的挑战是什么?

自然语言处理仍然面临许多挑战。人类的语音是不规则的,并且常常是模棱两可的,根据上下文的不同可能有多种含义。然而,程序员必须从一开始就向应用程序教授这些复杂之处。

同音异义词和句法可能会使数据集混淆。即使是最好的情感分析也并不总是能识别讽刺和反语。人类需要数年才能学会这些细微差别 —— 即使如此,例如,在短信或电子邮件中也难以解读语气。

文本以各种语言发布,而自然语言处理模型是根据特定语言进行训练的。在输入自然语言处理之前,您必须应用语言识别来按语言对数据进行排序。

不具体和过于笼统的数据将限制自然语言处理准确理解和传达文本含义的能力。对于特定领域,需要比大多数自然语言处理系统可用的更多数据才能提出实质性主张。特别是对于依赖最新、高度具体信息的行业。新的研究,例如ELSER – Elastic Learned Sparse Encoder — 正在努力解决这个问题,以产生更相关的结果。

处理人们的个人数据也会引起一些隐私问题。在医疗保健等行业,自然语言处理可以从患者文件中提取信息,以填写表格并识别健康问题。这些类型的隐私问题、数据安全问题和潜在的偏见使得自然语言处理难以在敏感领域实施。

自然语言处理的商业应用有哪些?

自然语言处理具有广泛的商业应用

  • 聊天机器人和虚拟助手: 用户可以与您的系统进行对话。这些是常见的客户服务工具。它们还可以引导用户完成复杂的工作流程或帮助他们浏览网站或解决方案。
  • 语义搜索: 通常在电子商务中用于生成产品推荐。它通过分析搜索引擎和使用基于知识的搜索来解码关键词的上下文。它解释用户意图以提供更相关的推荐。
  • 命名实体识别: 识别文本中的信息以填写表格或使其更易于搜索。教育机构可以使用它来分析学生的写作并自动化评分。此外,文本转语音和语音转文本功能使信息更容易访问,并使残疾人更容易沟通。
  • 文本摘要: 各行各业的研究人员可以快速将大型文档概括为简洁易懂的文本。金融行业利用这一点来分析新闻和社交媒体,以帮助预测市场趋势。政府和法律行业使用它从文档中提取关键信息。

自然语言处理的未来是什么?

ChatGPT 和生成式人工智能带来了变革的希望。随着 ChatGPT 等技术进入市场,自然语言处理的新应用可能指日可待。我们可能会看到与语音识别、计算机视觉和机器人技术等其他技术的集成,这将导致更先进和复杂的系统。

自然语言处理也将变得更加个性化,使机器能够更好地理解个人用户并调整他们的响应和建议。能够理解和生成多种语言的自然语言处理系统是国际业务的主要增长领域。最重要的是,自然语言处理系统在生成听起来自然的语言方面不断进步:它们每天听起来越来越像人类。

开始使用 Elastic 进行自然语言处理

Elastic Stack 8.0 的发布引入了将 PyTorch 模型上传到 Elasticsearch 的能力,以在 Elastic Stack 中提供现代自然语言处理,包括命名实体识别和情感分析等功能。

Elastic Stack 当前支持符合标准 BERT 模型接口并使用 WordPiece 分词算法的 Transformer 模型。

这是目前与 Elastic 兼容的架构

  • BERT
  • BART
  • DPR 双编码器
  • DistilBERT
  • ELECTRA
  • MobileBERT
  • RoBERTa
  • RetriBERT
  • MPNet
  • 带有上述 Transformer 架构的 SentenceTransformers 双编码器

Elastic 让您利用自然语言处理来提取信息、分类文本并为您的业务提供更好的搜索相关性。开始使用 Elastic 进行自然语言处理