什么是自然语言处理 (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 算法应用于预处理数据的过程。它从文本中提取有用信息。以下是一些最常见的自然语言处理任务
- 情感分析确定一段文本的情感基调或情感。情感分析将单词、短语和表达标记为正面、负面或中性。
- 命名实体识别识别和分类命名实体,例如人物、地点、日期和组织。
- 主题建模将相似单词和短语分组在一起,以识别文档或文本集合中的主要主题或主题。
- 机器翻译使用机器学习自动将文本从一种语言翻译成另一种语言。语言建模预测特定上下文中单词序列的可能性。
- 语言建模用于自动完成、自动更正应用程序和语音转文本系统。
需要注意的 NLP 的两个分支是自然语言理解 (NLU) 和自然语言生成 (NLG)。NLU 专注于使计算机能够使用人类使用的类似工具来理解人类语言。它旨在使计算机能够理解人类语言的细微差别,包括上下文、意图、情感和歧义。NLG 专注于从数据库或一组规则创建类人语言。NLG 的目标是生成人类易于理解的文本。
自然语言处理的优势
自然语言处理的一些优势包括:
- 提升沟通效率: NLP 支持与搜索应用程序进行更自然的交流。NLP 可以适应不同的风格和情绪,创造更便捷的客户体验。
- 提高效率: NLP 可以自动执行许多通常需要人工完成的任务。例如文本摘要、社交媒体和电子邮件监控、垃圾邮件检测和语言翻译。
- 内容管理: NLP 可以根据个人用户的偏好识别最相关的信息。理解上下文和关键词可以提高客户满意度。提高数据的可搜索性可以提高搜索工具的效率。
自然语言处理面临哪些挑战?
NLP 仍然面临许多挑战。人类的语言是不规则的,而且常常模棱两可,根据语境的不同会有多种含义。然而,程序员必须从一开始就教会应用程序这些复杂性。
同音异义词和语法会混淆数据集。即使是最好的情感分析也不能总是识别讽刺和反语。人类需要数年时间才能学会这些细微差别,而且即使如此,也很难通过短信或电子邮件来解读语气。
文本以各种语言发布,而 NLP 模型则使用特定语言进行训练。在输入 NLP 之前,您必须应用语言识别来按语言对数据进行排序。
不具体和过于笼统的数据将限制 NLP 准确理解和传达文本含义的能力。对于特定领域,要做出实质性声明,需要比大多数 NLP 系统可用的数据更多。特别是对于依赖最新、高度特定信息的行业。新的研究,例如 ELSER - Elastic Learned Sparse Encoder,正在努力解决这个问题,以产生更相关的结果。
处理人们的个人数据也会引发一些隐私问题。在医疗保健等行业,NLP 可以从患者文件中提取信息,以填写表格和识别健康问题。这些类型的隐私问题、数据安全问题和潜在的偏见使得 NLP 难以在敏感领域实施。
自然语言处理的商业应用有哪些?
NLP 具有广泛的商业应用
- 聊天机器人和虚拟助手: 用户可以与您的系统进行对话。这些是常见的客户服务工具。它们还可以引导用户完成复杂的工作流程,或帮助他们浏览网站或解决方案。
- 语义搜索: 通常用于电子商务中生成产品推荐。它通过分析搜索引擎和使用基于知识的搜索来解码关键词的上下文。它解释用户意图,以提供更相关的推荐。
- NER: 识别文本中的信息以填写表格或使其更易于搜索。教育机构可以使用它来分析学生的写作并自动评分。此外,文本转语音和语音转文本功能使残疾人更容易获取信息和交流。
- 文本摘要: 各行各业的研究人员可以快速将大型文档总结为简洁、易懂的文本。金融行业利用这一点来分析新闻和社交媒体,以帮助预测市场趋势。政府和法律行业使用它从文件中提取关键信息。
NLP 的未来是什么?
ChatGPT 和生成式 AI 有望带来变革。随着 ChatGPT 等技术进入市场,NLP 的新应用可能即将出现。我们可能会看到它与语音识别、计算机视觉和机器人技术等其他技术的集成,这将产生更先进、更复杂的系统。
NLP 也将变得更加个性化,使机器能够更好地理解单个用户并调整他们的响应和推荐。能够理解和生成多种语言的 NLP 系统是国际业务的一个主要增长领域。最重要的是,NLP 系统在生成自然语言方面正在不断改进:它们的声音每天都越来越像人类。
使用 Elastic 开始使用 NLP
Elastic Stack 8.0 的发布引入了将 PyTorch 模型上传到 Elasticsearch 的功能,以便在 Elastic Stack 中提供现代 NLP,包括命名实体识别和情感分析等功能。
Elastic Stack 目前支持符合标准 BERT 模型接口并使用 WordPiece 分词算法的 Transformer 模型。
- BERT
- BART
- DPR 双编码器
- DistilBERT
- ELECTRA
- MobileBERT
- RoBERTa
- RetriBERT
- MPNet
- 使用上述 Transformer 架构的 SentenceTransformers 双编码器
Elastic 使您能够利用 NLP 提取信息、对文本进行分类,并为您的企业提供更好的搜索相关性。使用 Elastic 开始使用 NLP。