NLP(自然语言处理,英文名 Natural Language Processing)是一种从文本中查找信息的方法,使其能够像人类理解的一样,被机器理解。
众所周知,机器学习的目标是为机器提供类似人脑的能力。NLP 就是为了向机器提供与我们的人脑相同的能力,即能够理解文本和语音。
我们人类通过电子邮件、网页、应用程序等阅读了非常多的文本信息。如果机器能够理解这些信息,那么在文本操作和情感分析领域可以完成多少自动化吗?
自然语言处理现在是一个热门话题,但在过去的50年里一直在研究。我们在日常生活中遇到了NLP的几种应用,比如小爱同学、Siri等,你有没有想过它们是如何识别你的声音并遵循你的指示的?
其实所有这些都是在自然语言处理的帮助下实现的。如今,机器越来越能够理解和操纵文本和语音。
接下来准备好了解 NLP 的工作原理和实际应用。
自然语言处理(NLP)的工作原理
自然语言处理的主要流程可以分为以下几个步骤:
-
分词:将文本分解为单独的单词和短语,以便进行下一步处理。
-
词性标注:对分词后的文本中每个单词或短语标注其对应的词性,如名词、动词、形容词等。
-
句法分析:分析句子中单词或短语之间的关系,并创建一个句法树来表示这些关系。
-
语义分析:分析文本的意义和目的,以便能够准确地理解文本,并作出适当的响应。
-
实体识别:识别文本中的具体实体,如人名、地名、组织机构等。
-
情感分析:分析文本中的情感色彩,如正面、负面或中性。
-
自然语言生成:使用先前的分析结果和语法规则生成自然语言文本。
所以第一步要做的就是分词。英文单词之间有空格隔开,所以很容易按照空格分词,但也有时候也需要把多个单词做为一个分词,比如“New York”,就需要做为一个词看待。
而中文由于没有空格,分词就是一个需要专门去解决的问题了。
对于中文而言,自然语言处理的流程基本分为以下两个步骤:
1.句子分词
当我们要分析一篇文章时,我们知道并不是每一个段落中的每一个句子都是完全同步的,或者一般来说,每一个句子都有自己的含义,所以考虑下面的文本:
现在的加尔各答在英国统治期间是印度的首都,直到1911年12月。自19世纪晚期以来,加尔各答已经成为民族主义运动的中心,这导致了当时的英属印度总督Curzon勋爵对孟加拉的分割。这引发了大规模的政治和宗教热潮,包括在加尔各答对英国官员的政治暗杀。”
现在看看这个段落在句子标记化之后会是什么样子:
“现在的加尔各答在英国统治期间是印度的首都,直到1911年12月。”
“自19世纪晚期以来,加尔各答已经成为民族主义运动的中心,这导致了当时的英属印度总督Curzon勋爵对孟加拉的分割。”
“这引发了大规模的政治和宗教热潮,包括在加尔各答对英国官员的政治暗杀。”
上面段落中的每个句子都被标记化了。在阅读标记化前后的段落后,你可能能够分辨出对句子的变化或影响。
2. 词干提取和词形还原
词干提取是指删减单词的前缀或后缀,以从中提取某些含义。然而,这种技术并不能确保这个词有某种意义。
例如,study,这里的后缀' ing '会被删掉,剩下的是' study ',这是正确的。但是对于' studied ',它会被切成' ed '和' studi ',这当然是不正确的。
另一方面,词形还原是一个被词形化的单词肯定会有一些含义的过程。“词袋”是一个用于词干提取和词形还原的工具。
流水线中使用的其他技术是停用词的识别,这可以在python库NLTK的帮助下轻松完成。
命名实体识别(NER)技术,将著名的人物、地点、产品等实体标记出来,对更多的含义和词性进行分类,以进行语音识别。
以上是一些帮助机器理解自然语言语法和语义的技术。
自然语言处理(NLP)的应用
1. 情绪分析
分析文本并给予他们积极或消极的评论,以便分析文本的上下文,这被称为情感分析。
例如,如果我们必须通过评论来分析公众对一部电影的评论,那么一组给定的句子或单词将被给予评论,如积极或消极。之后,所有的正面和负面评论将被计算出来,以得出电影的平均评分。
2. 聊天机器人
如今,为了帮助客户实时提问和回答,几乎每个web产品或应用程序都将聊天机器人作为首选之一。
聊天机器人越来越多的原因是,为用户提供个性化的助手体验是一种经济的方法。机器学习聊天机器人的使用激增。
许多组织中的Bot对话被记录为反映用户感受的评级,以了解市场的行为模式。
我们每天都会遇到许多使用NLP来处理用户的聊天机器人。
Zomato、Uber和银行等公司将聊天机器人与他们的客户服务渠道集成在一起,处理来回的对话,而人们可以进行更复杂和更大的对话。
有许多基于nlp的聊天机器人的例子,如X.ai, Xiaoice, Mitsuku等。
3.机器翻译
它是将一种自然语言翻译成目标语言的过程。例如,您必须使用谷歌翻译器将英语句子翻译为印地语或任何其他语言。这显示了这种技术的有用之处。
机器翻译有时不够高效,因为将一种语言翻译为另一种语言,找到完美的对应,并保留短语的含义需要先进的统计和NLP技术。
机器翻译是人工智能研究中最古老的子领域之一,目前有4种类型的机器翻译。
4. 语音识别
语音识别在很多领域都可以看到,无论是像谷歌Nest、Amazon echo这样的家庭自动化设备,还是像Amazon Alexa、谷歌Assistant这样的助手,而Apple Siri也是语音识别的一个很好的例子。
5. 社交媒体监控
近年来,社交媒体平台的使用大幅增加。现在几乎每个人都在使用至少一个社交媒体平台。
社交媒体使用的增加导致了大量数据的产生。然后对这些数据进行分析。NLP被公司用来了解消费者的行为,比如他们的偏好,他们有多喜欢一个产品或服务。
企业还利用社交媒体监控来解决客户面临的问题。不仅是私营企业,政府机构也利用社交媒体监控来识别对国家安全的潜在威胁。
6. 语法检查器
你可能遇到过Grammarly,也可能熟悉它的工作原理。
如果没有,Grammarly用于纠正文档中的语法错误。它会突出文档中的语法错误,并推荐正确的单词。但是它是如何工作的呢?
它使用自然语言处理来纠正语法,建议同义词,识别拼写错误,并提供更清晰和参与度的内容。
7. 电子邮件过滤
我们都用Gmail,不是吗?是的,我们也喜欢它提供的过滤功能。我们收到了大量的电子邮件,Gmail将它们分类为主要的、社交的、促销的和垃圾邮件。但这是怎么发生的呢?
像Gmail这样的电子邮件应用程序利用文本分类(一种NLP技术)来过滤我们的电子邮件。顾名思义,文本分类是将文本分类到预定义类别的过程。
总结
到目前为止,我们已经看到了NLP的威力,但它的工作从来没有展示的那么简单。
事实上,在深度学习下理解它是一项非常复杂的技术,因为自然语言中有很多语法和语义,人类很难掌握,我们试图通过机器使这种复杂的事情成为可能。
过去,NLP由机器学习算法提供支持,产生了一些非常优的结果。
自然语言处理是一项不断进步的技术,每一天,它都会充分发挥其潜力,它将在自动化领域创造奇迹。
深度学习中的自然语言处理是21世纪一个非常有要求和前途的领域。我们期待着更大的进步,因为我们知道它还没有发挥出全部潜力,但随着与新的机器学习算法的进一步关联,我们可以看到它在日常生活中的更多应用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:自然语言处理:NLP工作原理与应用 - Python技术站