NLP 教程2025年3月17日 | 阅读 12 分钟 NLP 教程提供了 NLP 教程的基础和高级概念。我们的 NLP 教程专为初学者和专业人士设计。 什么是NLP?NLP 代表 自然语言处理,它是 计算机科学、人类语言 和 人工智能 的一部分。它是机器用于理解、分析、操作和解释人类语言的技术。它帮助开发人员组织知识以执行诸如 翻译、自动摘要、命名实体识别 (NER)、语音识别、关系提取 和 主题分段 等任务。 ![]() NLP 历史(1940-1960) - 专注于机器翻译 (MT) 自然语言处理始于 20 世纪 40 年代。 1948 - 1948 年,第一个可识别的 NLP 应用在伦敦的伯克贝克学院推出。 20 世纪 50 年代 - 20 世纪 50 年代,语言学和计算机科学之间存在冲突的观点。现在,乔姆斯基出版了他的第一本书《句法结构》,并声称语言本质上是生成性的。 1957 年,乔姆斯基还提出了生成语法(Generative Grammar)的思想,这是一种基于规则的句法结构描述。 (1960-1980) - 受到人工智能 (AI) 的影响 在 1960 年至 1980 年期间,主要发展是: 增强型转换网络 (ATN) 增强型转换网络 (ATN) 是一种能够识别常规语言的有限状态机。 格语法 格语法由 语言学家 Charles J. Fillmore 于 1968 年开发。格语法使用像英语这样的语言,通过使用介词来表达名词和动词之间的关系。 在格语法中,可以定义格角色来链接特定类型的动词和宾语。 例如:“Neha broke the mirror with the hammer”(Neha 用锤子打碎了镜子)。在这个例子中,格语法将 Neha 识别为施事者,mirror 识别为受事者,hammer 识别为工具。 在 1960 年至 1980 年期间,关键系统是: SHRDLU SHRDLU 是 Terry Winograd 在 1968-70 年编写的一个程序。它帮助用户与计算机通信并移动对象。它可以处理诸如“捡起绿色的球”之类的指令,并回答“黑盒子里有什么?”之类的问题。SHRDLU 的主要重要性在于它展示了语法、语义和对世界的推理可以结合起来,形成一个能够理解自然语言的系统。 LUNAR LUNAR 是一个经典的自然语言数据库接口系统示例,它使用了 ATN 和 Woods 的程序语义。它能够将复杂的自然语言表达式翻译成数据库查询,并且 78% 的请求都能无误地处理。 1980 年至今 直到 1980 年,自然语言处理系统都基于一套复杂的、手工编写的规则。1980 年之后,NLP 引入了机器学习算法进行语言处理。 在 20 世纪 90 年代初,NLP 开始快速发展并取得了很好的准确率,尤其是在英语语法方面。1990 年,电子文本的出现为训练和测试自然语言程序提供了很好的资源。其他因素可能包括具有快速 CPU 和更多内存的计算机的可用性。自然语言处理进步的主要因素是互联网。 现在,现代 NLP 包括各种应用,如语音识别、机器翻译 和 机器文本阅读。当我们结合所有这些应用时,它就能使人工智能获得对世界的认识。让我们以 AMAZON ALEXA 为例,使用这个机器人,您可以向 Alexa 提问,它会给您回复。 NLP 的优点
NLP 的缺点下面列出了 NLP 的缺点:
NLP 的组成部分NLP 包含以下两个组成部分: 1. 自然语言理解 (NLU) 自然语言理解 (NLU) 帮助机器通过从内容中提取元数据,如概念、实体、关键字、情感、关系和语义角色,来理解和分析人类语言。 NLU 主要用于商业应用程序,以理解客户在口语和书面语言中的问题。 NLU 包括以下任务:
2. 自然语言生成 (NLG) 自然语言生成 (NLG) 充当翻译器,将计算机数据转换为自然语言表示。它主要包括文本规划、句子规划和文本实现。 注意:NLU 比 NLG 困难。NLU 和 NLG 之间的区别
NLP的应用NLP 的应用如下: 1. 问答 问答系统专注于构建能够自动回答人类用自然语言提出的问题的系统。 ![]() 2. 垃圾邮件检测 垃圾邮件检测用于检测发送到用户收件箱的不需要的电子邮件。 ![]() 3. 情感分析 情感分析也称为意见挖掘。它在网上用于分析发送者的态度、行为和情绪状态。此应用程序通过结合 NLP(自然语言处理)和统计学来实现,为文本分配值(积极、消极或中性),识别上下文的情绪(快乐、悲伤、愤怒等)。 ![]() 4. 机器翻译 机器翻译用于将文本或语音从一种自然语言翻译成另一种自然语言。 ![]() 示例: 谷歌翻译 5. 拼写检查 微软公司提供 MS-word、PowerPoint 等文字处理软件进行拼写检查。 ![]() 6. 语音识别 语音识别用于将语音转换为文本。它用于各种应用程序,例如手机、家庭自动化、视频恢复、向 Microsoft Word 听写、语音生物识别、语音用户界面等。 7. 聊天机器人 实现聊天机器人是 NLP 的重要应用之一。许多公司使用它来提供客户聊天服务。 ![]() 8. 信息提取 信息提取是 NLP 最重要的应用之一。它用于从非结构化或半结构化的机器可读文档中提取结构化信息。 9. 自然语言理解 (NLU) 它将大量的文本转换为更正式的表示,例如一阶逻辑结构,这些结构更容易被计算机程序处理自然语言处理的符号。 如何构建 NLP 流水线构建 NLP 流水线的步骤如下: 步骤 1:句子分割 句子分割是构建 NLP 流水线的第一步。它将段落分解成独立的句子。 示例:考虑以下段落 - 独立日是每个印度公民最重要的节日之一。自印度从英国统治下独立以来,每年 8 月 15 日都会庆祝这一天。这一天真正意义上庆祝了独立。 句子分割产生以下结果:
步骤 2:词语分词 词语分词器用于将句子分解成单独的词语或标记。 示例 JavaTpoint 提供企业培训、暑期培训、在线培训和冬季培训。 词语分词器生成以下结果: "JavaTpoint", "offers", "Corporate", "Training", "Summer", "Training", "Online", "Training", "and", "Winter", "Training", "." 步骤 3:词干提取 词干提取用于将词语规范化为其基本形式或词根形式。例如,celebrates、celebrated 和 celebrating,这些词都源自同一个词根“celebrate”。词干提取的一个大问题是,它有时会产生一个可能没有意义的词根。 例如: intelligence、intelligent 和 intelligently,这些词都源自同一个词根“intelligen”。在英语中,“intelligen”这个词没有意义。 步骤 4:词形还原 词形还原与词干提取非常相似。它用于将单词的不同屈折形式组合起来,称为词元(Lemma)。词干提取和词形还原的主要区别在于,词形还原产生的词根具有意义。 例如:在词形还原中,单词 intelligence、intelligent 和 intelligently 有一个词根 intelligent,它是有意义的。 步骤 5:识别停用词 在英语中,有很多词语出现的频率非常高,例如“is”、“and”、“the”和“a”。NLP 流水线会将这些词标记为停用词。在进行任何统计分析之前,可以过滤掉停用词。 示例: He is a good boy.(他是一个好孩子。) 注意:当你构建一个摇滚乐队搜索引擎时,你不会忽略“The”这个词。步骤 6:依赖关系解析 依赖关系解析用于确定句子中的所有单词是如何相互关联的。 步骤 7:词性标记 (POS tags) POS 代表词性,包括名词、动词、副词和形容词。它表明一个词如何根据其含义和在句子中的语法功能。一个词根据它使用的上下文,可以有一个或多个词性。 示例: 在互联网上 "Google" 搜索某物。 在上面的例子中,“Google”被用作动词,尽管它是一个专有名词。 步骤 8:命名实体识别 (NER) 命名实体识别 (NER) 是检测命名实体(如人名、电影名、组织名或地点名)的过程。 示例: Steve Jobs 在旧金山的 Macworld 大会上发布了 iPhone,加利福尼亚。 步骤 9:分块 (Chunking) 分块用于收集单独的信息片段并将它们组合成更大的句子片段。 NLP 的阶段NLP 有以下五个阶段: ![]() 1. 词法分析和形态分析 NLP 的第一阶段是词法分析。此阶段扫描源代码作为字符流,并将其转换为有意义的词元。它将整个文本划分为段落、句子和单词。 2. 句法分析 (Parsing) 句法分析用于检查语法、词语排列,并显示词语之间的关系。 示例: Agra goes to the Poonam(阿格拉去 Poonam) 在现实世界中,“Agra goes to the Poonam”没有意义,因此这个句子被句法分析器拒绝。3. 语义分析 语义分析涉及意义表示。它主要关注单词、短语和句子的字面意义。 4. 语篇整合 语篇整合取决于其前面的句子,并且还调用其后面句子的含义。 5. 语用分析 语用学是 NLP 的第五个也是最后一个阶段。它通过应用一套描述合作对话的规则来帮助你发现预期的效果。 例如:“Open the door”(开门)被解释为请求而不是命令。 为什么 NLP 很难?NLP 很难,因为语言中存在歧义和不确定性。 歧义 存在以下三种歧义:
当句子中的单个词语存在两个或多个可能的含义时,就存在词法歧义。 示例 Manya is looking for a match.(Manya 正在寻找一个火柴/匹配对象。) 在上面的例子中,单词“match”指的是 Manya 正在寻找一个伴侣,还是 Manya 正在寻找一场比赛(板球或其他比赛)。
当句子中存在两个或多个可能的含义时,就存在句法歧义。 示例 I saw the girl with the binocular.(我看到了那个拿着望远镜的女孩。) 在上面的例子中,是我有望远镜吗?还是那个女孩有望远镜?
当您使用代词来指代某物时,就存在指代歧义。 示例: Kiran went to Sunita. She said, "I am hungry."(Kiran 去了 Sunita。她说:“我饿了。”) 在上面的句子中,你不知道谁饿了,是 Kiran 还是 Sunita。 NLP API自然语言处理 API 允许开发人员集成人机通信,并完成多项有用的任务,例如语音识别、聊天机器人、拼写校正、情感分析等。 下面列出了 NLP API:
NLP 库Scikit-learn:它提供了广泛的算法来在 Python 中构建机器学习模型。 自然语言工具包 (NLTK): NLTK 是所有 NLP 技术的完整工具包。 Pattern:它是一个用于 NLP 和机器学习的 Web 挖掘模块。 TextBlob:它提供了一个简单的接口来学习基本的 NLP 任务,如情感分析、名词短语提取或词性标记。 Quepy:Quepy 用于将自然语言问题转换为数据库查询语言中的查询。 SpaCy:SpaCy 是一个开源 NLP 库,用于数据提取、数据分析、情感分析和文本摘要。 Gensim:Gensim 可以处理大型数据集并处理数据流。 自然语言与计算机语言的区别
前提条件在学习 NLP 之前,您必须具备 Python 的基础知识。 目标受众我们的 NLP 教程旨在帮助初学者。 问题我们保证您在本 NLP 教程中不会遇到任何问题。但如果存在任何错误或失误,请在联系表格中提交错误。 |
我们请求您订阅我们的新闻通讯以获取最新更新。