NLP 通过将计算语言学(基于规则的人类语言建模)与统计建模、机器学习 (ML) 和深度学习相结合,使计算机和数字设备能够识别、理解和生成文本和语音。
NLP 研究有助于推动生成式 AI 时代的到来,其涉及从大型语言模型 (LLM) 的交流技巧到图像生成模型理解请求的能力。NLP 已经成为许多人日常生活的一部分,为搜索引擎提供支持,通过语音命令、语音操作的 GPS 系统和智能手机上的问题解答数字助理来提示聊天机器人(如 Amazon 的 Alexa、Apple 的 Siri 和 Microsoft 的 Cortana)进行客户服务。
此外,NLP 在企业解决方案中也发挥着越来越大的作用,可以帮助业务运营实现简化和自动化、提高员工工作效率并简化业务流程。
利用 NLP,人类将能够更轻松地通过日常使用的自然人类语言与机器进行交流和协作。这为许多行业和应用带来了好处。
利用 NLP,系统将能够理解用户查询背后的意图,从而提供更准确、与上下文更相关的搜索结果。由 NLP 提供支持的搜索引擎不仅仅依赖于关键字匹配,而是分析单词和短语的含义,即使查询模糊或复杂,也能够更轻松地找到相关信息。这有助于改善网络搜索、文档检索以及企业数据系统中的用户体验。
NLP 可以为高级语言模型提供支持,以便为各种用途生成类人文本。GPT-4 等预训练模型可根据用户提供的提示生成文章、报告、营销文案、产品描述,甚至是创意写作内容。NLP 提供支持的工具还可以协助自动执行多种任务,例如起草电子邮件、撰写社交媒体帖子或法律文书协作。NLP 可以理解上下文、语气和风格,从而确保生成的内容具有连贯性、相关性,并且与要传达的信息一致,从而节省内容创作花费的时间和精力,同时保持质量。
NLP 将计算语言学的强大功能与机器学习算法和深度学习相结合。计算语言学利用数据科学来分析语言和语音。它包括两种主要类型的分析:句法分析和语义分析。句法分析通过解析单词的语法并应用预先编程的语法规则来确定单词、短语或句子的含义。语义分析使用句法输出从单词中提取含义,并在句子结构中解释它们的含义。
单词的解析可以采用两种形式之一。“依赖关系解析”着眼于单词之间的关系,例如识别名词和动词,而“成分分析”会生成解析树(或语法树):句子或单词串的句法结构的寻根和有序表示。生成的解析树是语言翻译器和语音识别功能的基础。理想情况下,这种分析使输出(文本或语音)可为 NLP 模型和人所理解。
自监督学习 (SSL) 尤其有助于支持 NLP,因为 NLP 需要大量标注数据来训练 AI 模型。由于这些标注数据集需要花费大量时间来注释(该过程涉及人工标记),因此收集足够的数据可能非常困难。自监督方法可以提高时间利用率和成本效益,因为它们取代了部分或全部需要手动标注的训练数据。
三种不同的 NLP 方法包括:
最早的 NLP 应用是简单的 if-then 决策树,需要预编程规则。它们只能根据特定的提示提供答案,例如 Moviefone 的原始版本就具备最基本的自然语言生成 (NLG) 功能。由于基于规则的 NLP 没有机器学习或 AI 功能,因此该功能非常有限且不可扩展。
统计 NLP 是较晚发展起来的,它能自动提取、分类和标记文本和语音数据的元素,然后为这些元素的每种可能含义分配统计可能性。这依赖于机器学习,能够进行复杂的语言学细分,如词性标注。
统计 NLP 引入了将语言元素(例如单词和语法规则)映射到向量表示的基本技术,以便可以使用数学(统计)方法(包括回归或马尔可夫模型)对语言进行建模。这为早期的 NLP 开发提供了信息,例如拼写检查器和 T9 文本输入法(使用 9 个键输入文本,用于按键式电话)。
最近,深度学习模型已成为 NLP 的主导模式,通过使用大量原始、非结构化数据(文本和语音)来变得更加准确。深度学习可视为统计 NLP 的进一步发展,不同之处在于它使用了神经网络模型。模型分为几个子类别:
序列到序列 (seq2seq):基于循环神经网络 (RNN),主要用于机器翻译,将一个领域(例如德语)的短语转换为另一个领域的短语(例如英语)。
转换器模型:它们使用语言的词元化(每个词元的位置 - 单词或子词)和自我注意力(捕获依赖程度和关系)来计算不同语言部分之间的关系。转换器模型通过在海量文本数据库上使用自监督学习,可以高效地进行训练。转换器模型的一个里程碑是 Google 的来自转换器的双向编码器表示 (BERT),此表示法后来成为且目前仍然是 Google 搜索引擎工作原理的基础。
自回归模型:这种类型的转换器模型经过专门训练,可以预测序列中的下一个单词,代表了生成文本能力的巨大飞跃。自回归 LLM 的示例包括 GPT、Llama、Claude 和开源 Mistral。
基础模型:预先构建和整理的基础模型,可以加快 NLP 工作的启动速度,并提高对其运作的信任度。例如,IBM® Granite 基础模型适用于各行各业。它们支持 NLP 任务,包括内容生成和洞察提取。此外,它们还促进了检索增强生成,这是一个通过将模型与外部知识源联系起来以提高响应质量的框架。这些模型还执行命名实体识别,包括识别和提取文本中的关键信息。
一些 NLP 任务通常有助于处理人类文本和语音数据,从而帮助计算机理解它所摄取的内容。其中一些任务包括:
共指消解
命名实体识别
词性标注
词义消歧
这是确定两个词是否以及何时指代同一实体的任务。最常见的例子是确定某个代词所指的人或物体(例如,“she” = “Mary”)。但是,它也能够识别文本中的隐喻或习语(例如,“熊”并不是一种动物,而是指一个身材高大、毛发旺盛的人)。
NEM 将单词或短语识别为有用的实体。NER 将“London”识别为地点,或将“Maria”识别为人名。
也称为语法标注,是根据特定单词或文本的用法和上下文确定其词性的过程。例如,词性标注将“I can make a paper plane”中的“make”识别为动词,将“What make of car do you own?”中的“make”识别为名词。
这是为一个有多种可能含义的词选择一个词义。这种方法使用语义分析过程来检查上下文中的单词。例如,词义消歧法有助于区分动词“make”在“make the grade”和“make a bet”中的含义。而要区分“I will be merry when I marry Mary”则需要复杂的 NLP 系统。
NLP 的工作原理是结合各种计算技术,以机器可以处理的方式分析、理解和生成人类语言。以下是典型的 NLP 管道及其步骤的概述:
NLP 文本预处理将原始文本转换成机器更容易理解的格式,为分析做好准备。首先进行标记化,这涉及将文本拆分为更小单位,如单词、句子或短语。这有助于将复杂的文本分解为可管理的部分。接下来,应用小写来标准化文本,通过将所有字符转换为小写,确保“Apple”和“apple”这样的词得到相同处理。停用词删除是另一个常见步骤,其中,“is”或“the”等常用词被过滤掉,因为它们不会为文本添加重要的含义。词干提取或词形还原将单词简化为它们的词根形式(例如,“running”变为“run”),通过对同一个单词的不同形式进行分组,可以更轻松地分析语言。此外,文本清理会删除可能使分析混乱的不需要的元素,例如标点符号、特殊字符和数字。
经过预处理后,文本变得干净、标准化,可供机器学习模型进行有效解释。
特征提取是将原始文本转换为机器可以分析和解释的数字表示的过程。这涉及使用 Bag of Words 和 TF-IDF 等 NLP 技术将文本转换为结构化数据,这些技术可以对文档中单词的存在和重要性进行量化。更高级的方法包括 Word2Vec 或 GloVe 等词嵌入方法,它们将词语表示为连续空间中的密集向量,从而捕获词与词之间的语义关系。上下文嵌入通过考虑词语出现的上下文进一步增强了这一点,能够实现更丰富、更细微的表示。
文本分析涉及通过各种计算技术从文本数据中解释和提取有意义的信息。该过程包括词性 (POS) 标注等任务,用于识别单词的语法角色,以及命名实体识别 (NER),用于检测名称、位置和日期等特定实体。依赖关系解析用于分析单词之间的语法关系,以了解句子结构,而情感分析用于确定文本的情感基调,评估它是积极、消极还是中立。主题建模用于识别文本或整个文档语料库中的潜藏主题或话题。自然语言理解 (NLU) 是 NLP 的一个子集,侧重于分析句子背后的含义。利用 NLU,软件将能够在不同的句子中找到相似的含义或处理具有不同含义的单词。通过这些技术,NLP 文本分析可将非结构化文本转换为洞察分析。
然后,处理后的数据用于训练机器学习模型,该模型将学习数据中的模式和关系。在训练过程中,该模型会调整其参数,以最大限度地减少错误并提高其性能。经过训练后,该模型可用于根据新的、未知的数据进行预测或生成输出。通过评估、验证和微调,NLP 建模的有效性会不断得以完善,以提高实际应用中的准确性和相关性。
在上述各个过程中,一些不同的软件环境非常有用。例如,Natural Language Toolkit (NLTK) 是一套用 Python 编程语言编写、适用于英语的库和程序。它支持文本分类、标记化、词干提取、标注、解析和语义推理功能。TensorFlow 是一个用于机器学习和 AI 的免费开源软件库,可用于训练 NLP 应用程序的模型。如果有兴趣熟悉此类工具,相关教程和认证比比皆是。
即使是最先进的 NLP 模型,也不是完美的,就像人类语音容易出错一样。与任何 AI 技术一样,NLP 也有潜在的缺陷。人类语言充满了歧义,因此,程序员要编写能够准确确定文本或语音数据的预期含义的软件非常困难。人类学习语言可能需要数年时间,而且许多人从未停止过学习。但是,程序员必须教会由自然语言提供支持的应用程序识别和理解不规则语法现象,这样,他们的应用程序才能准确和有用。相关风险可能包括:
和任何 AI 功能一样,在训练中使用有偏见的数据会使回答产生偏差。NLP 功能的用户越多样化,这种风险就越大,例如在政府服务、医疗保健和人力资源互动中。从网络上获取的训练数据集很容易带有偏见。
与编程一样,存在“垃圾进,垃圾出”(GIGO) 的风险。语音识别,也称为语音转文本,是将语音数据以可靠的方式转换为文本数据的任务。但是,如果语音输入是晦涩的方言、含糊不清、充满俚语、同音异义词、语法不正确、习语、片段、发音错误、缩写或在背景噪音太强的情况下录制,NLP 解决方案可能会困惑。
不断有新词被发明出来或引入进来。语法惯例可能会发生演变,也可能被故意打破。在这些情况下,NLP 要么尽力去猜测,要么承认自己不确定,无论哪种情况,都会造成复杂化。
当人们说话时,他们的语言表达甚至肢体语言所表达的含义可能与字面的言辞完全不同。为了表达效果而夸大其词、为了强调重要性而强调单词或讽刺可能会被 NLP 混淆,从而使语义分析变得更加困难且不太可靠。
现在,几乎每个行业都可以找到 NLP 应用程序。
在金融交易中,访问数据、进行交易或买卖时,数纳秒足以决定成败。NLP 可以加快从财务报表、年度报告和监管报告、新闻稿甚至社交媒体中挖掘信息的速度。
新的医学见解和突破可能比许多医疗保健专业人员能获知的速度更快。基于 NLP 和 AI 的工具可以帮助加快对健康记录和医学研究论文的分析,从而做出更明智的医疗决策,或协助检测甚至预防疾病。
NLP 可以对理赔进行分析,通过寻找某些模式来确定需要关注的领域,并发现理赔处理中的低效问题,从而进一步优化处理方式和员工工作。
几乎所有法律案件都需要查阅大量文件、背景资料和法律先例。NLP 可以帮助实现法律取证自动化、协助组织信息、加快审查速度并确保捕获所有相关细节以供考虑。
IBM® Granite 是我们开放式、性能优异、值得信赖的 AI 模型系列,专门为企业量身定制,并经过优化,可以帮助您扩展 AI 应用。深入了解语言、代码、时间序列和防护措施选项。
了解自然语言处理如何帮助您与计算机更自然地对话。
我们对 2,000 家组织进行了调查,旨在了解他们的 AI 计划,以发现哪些方法有效、哪些方法无效,以及如何才能取得领先。
深入了解 IBM 开发人员网站,访问博客、文章、时事通讯,并了解更多有关 IBM 嵌入式 AI 的信息。
学习基本概念并通过亲手实验、课程、指导项目、试用等方式培养您的技能。