【CSDN 编者按】技术的快速发展促使人类语言与技术的结合来得更快,自然语言处理已然成为当下很热门的话题之一。所以,想要进军自然语言处理领域的朋友们,不妨看看这篇文章,把基础打牢。

编译 | 弯月   责编 | 张文

头图 | CSDN 下载自视觉中国

出品 | CSDN(ID:CSDNnews)

自然语言处理(Natural Language Processing,简称NLP)可能是当前数据科学中最受关注的子领域。

NLP不仅有趣、有前途,而且还可以改变我们看待技术的方式。不仅是技术,它还可以改变我们理解人类语言的方式

自然语言处理是人类语言与技术的结合,如今该项技术在研究和行业领域受到的关注越来越多。自从第一台计算机诞生以来,人们就憧憬着创造出能够理解人类语言的计算机程序。

机器学习与人工智能领域的进步推动了自然语言处理的发展,以及人们持续高涨的兴趣。随着自然语言处理为我们的日常生活带来越来越多的便利,人们的兴趣也会越来越高。亚马逊的 Alexa、苹果的 Siri 以及 Google 助手等一系列技术产品的问世,充分表明了这项技术掀起的热浪。

事实上,自然语言处理也是我进入数据科学的缘由。我一直着迷于语言本身及其随着人类的经验和时间的发展。我想了解如何教计算机理解我们的语言,不仅如此,而且我还希望计算机能够使用人类的语言来和我们交流,并理解我们。

在本文中,我将介绍 6 种自然语言处理的基本技术,如果你也想涉足该领域,则应该掌握这些技术。


词形还原与词干提取

数据准备是所有 NLP 项目都必不可少的工作,常见的方式有两种:词形还原与词干提取,你可以选择其中一个方式。它们代表了该领域的核心概念,是你成为 NLP 大师需要学习的第一项技术。

初学者往往会混淆这两种技术。虽然二者有相似之处,但是有很大不同。

  • 词干提取(Stemming):词干提取是去除词缀得到词根的过程,即得到单词最一般的写法,比如:argue、argued、argues、arguing 和 argus 的词干为“argu”。执行词干提取的算法有很多,这些算法需要考虑单词常见的前缀与后缀。英语中常用的算法是 Porter 词干提取器,该算法包含 5 个阶段,需要按顺序进行,最终获取单词的词根。

  • 词形还原(Lemmatization):词形还原是指将一个单词还原为一般形式(能表达完整语义)。比如:“walk”、“walked”、“walks”以及“walking”的一般形式为“walk”。为了克服词干提取的缺点,人们设计了词形还原。这些算法需要了解语言与语法的知识,才能在提取单词词元的时候做出更好的决定。为了词形还原算法执行的准确率,它们需要提取每个单词的词元。因此,通常它们需要语言的词典,才能正确地分类每个单词。

根据这些定义,你应该可以看出词形还原比词干提取更加复杂,而且实现这种算法也需要更多的时间。但是,词形还原更加准确,而且最终分析结果的噪声也更少。


关键字提取

关键字提取,有时又称之为关键字检测或关键字分析,这是一种文本分析的 NLP 技术。这种技术的主要目的是自动地从文本的正文中提取出现频率最高的单词与词组。这种技术常常作为生成本文摘要的第一步,提取文本的主旨。

关键字提取算法借助了机器学习与人工智能的强大力量。这种算法使用神经网络来提取和简化文本,以方便计算机理解。这种算法适合任何类型的文本,从学术文本到社交媒体帖子中常用的口语化文本。

关键字提取在当今世界中有很多应用,包括社交媒体监控、客户服务/反馈、产品分析以及搜索引擎优化。


命名实体识别(NER)

词干提取、词形还原、命名实体识别(Named Entity Recognition,简称NER)是最基本以及核心的 NLP 技术。

NER 是一项从文本的正文中提取实体的技术,这里的实体主要包括人名、地名、机构名、专有名词等,以及时间、数量、货币、比例数值等文字。

NER 算法主要包含两大步骤。第一步,检测文本中的实体;第二步,将实体分类到一个类别集合。NER 的表现极大地依赖于开发模型时使用的训练数据。训练数据越接近真实的数据,最终的结果就越准确。

关系到 NER 模型准确性的另一个因素是构建模型时使用的语言知识。话虽如此,网上有很多预训练的 NER 平台,可供随时使用。

NER 可以应用到多种领域,比如构建推荐系统,在医疗保健中为患者提供更好的服务,以及在学术界中帮助学生获得相关的研究材料。


主题建模

你可以使用提取关键字的方式,将大段的文本压缩成几个主要的关键词和概念。然后在此基础上,提炼出文本的主题。

另外,还有一种更先进的识别文本主题的方式:主题建模。主题建模构建于非监督机器学习的基础之上,这类机器学习的训练不需要带标签的数据。

文本的主题建模算法有很多种,比如相似主题模型(Correlated Topic Model,CTM)、潜在狄利克雷分布(Latent Dirichlet Allocation,LDA)以及潜在语义分析(Latent Semantic Analysis,LSA),其中最常用的方法是 LDA。这种方法可以分析文本,并将文本分解成单词和语句,然后从这些单词和语句中提取不同的主题。你需要做的只是为算法提供文本,接下来的工作全部由算法完成。


文本摘要

还有一个非常实用,且前景非常看好的 NLP 应用,那就是文本摘要。这种算法可以将大段文本压缩成一小块只包含文本大意的文字。这种技术常用于提炼长篇新闻文章,以及提取研究论文的摘要。

文本摘要是一项先进的技术,它使用了上述我们提到的技术(比如主题建模以及关键字提取等)来完成目标工作。这种方法通常包含两大步骤:提取和抽象。

在提取阶段,算法会根据单词在文本中出现的频率,提取文本的主要部分。接着,算法会生成摘要,即通过一段全新的文本来传达原文的主旨。文本摘要的算法有很多种,比如 LexRank 与 TextRank。

LexRank 算法通过一个排名模型来分类文本中的句子。这种排名依据的是句子之间的相似性,某个句子与其余文本的相似性越高,它的排名就越高。


情感分析

情感分析(Sentiment Analysis)是人气最高、知名度最广的 NLP 技术之一。这种技术的核心功能是通过分析文本包含的单词,提取文本所表达的情感。

这项技术最简单的结果是一项表示积极、消极和中性的评分,该结果用数字表示。如果结果是负数,则代表文本背后的情绪为消极;如果结果为正数,则表示文本表达了积极的观点。

情感分析是机器学习技术的广泛应用之一。它可以通过监督学习实现,也可以通过非监督学习实现。最常见的通过监督学习实现的情感分析是使用朴素贝叶斯算法。还有其他机器学习算法也可用于情感分析的实现,比如梯度提升(Gradient Boosting)以及随机森林。


总结

人类对于计算理解自然语言,并使用自然语言与我们交流的渴望由来已久。随着技术与机器学习算法的飞速发展,这种想法已不只是一种憧憬。我们已经可以在日常生活中看到和体验这种技术。这种想法是自然语言处理的核心。

自然语言处理是当今的热门话题之一,也是非常有潜力的领域之一。各大公司和研究机构都在竞相创建能够完全理解并使用人类语言的计算机程序。自从 1960 年代虚拟代理问世以来,这项技术已获得了飞速的发展。

尽管自然语言处理可以执行的任务不同,但为了进军该领域,并建立自己的项目,你必须熟练掌握该领域基本的六大核心技术。

这些技术是所有自然语言处理模型的基础。如果你已经理解了这些技术,并知道何时使用何种技术,那么自然语言处理的大门就会向你敞开。

参考链接:https://towardsdatascience.com/6-nlp-techniques-every-data-scientist-should-know-7cdea012e5c3

程序员如何避免陷入“内卷”、选择什么技术最有前景,中国开发者现状与技术趋势究竟是什么样?快来参与「2020 中国开发者大调查」,更有丰富奖品送不停!



☞抖音否认封杀腾讯;程序员拒绝带电脑回家被开除,获赔 19.4 万;Excel 具备图灵完备性 | 极客头条
☞Windows 会有开源的一天吗?
☞谷歌下架应用引争议,网友请愿 GitHub 开发「App Store」!
☞和 Apple “较上劲”了?Google 解决 Cookie 隐私问题上拒绝“一刀切”

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐