一文了解自然语言处理的每个范畴用到的核心技术,难点和热点
Posted Python与算法社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文了解自然语言处理的每个范畴用到的核心技术,难点和热点相关的知识,希望对你有一定的参考价值。
希望时间的流逝不仅仅丰富了我们的阅历,更重要的是通过提炼让我们得以升华,走向卓越。
QQ交流群:646901659
1电影Her见识NLP
可能很多朋友看过好莱坞的电影《Her》,电影中讲述的主角耳朵里戴了一个耳机,这是一个人工智能的虚拟助手,能够通过耳机与人工智能来对话。
人机交互方式在经历了第一代的键盘鼠标,第二代的触摸屏和按键后,第三代对话式人工智能操作系统正在来临,让用户通过最便捷、简单的方式获取信息和服务。
这其中功不可没的就是自然语言处理技术(NLP),我们熟知的问答系统就是一种最直接的人机交互方式。NLP过去经历了怎样的发展,现在发展到了什么程度,对于想入行NLP领域的朋友,一定关心需要学些哪些核心技术,论文和书籍,然后踏入这个行业。出于对NLP的敬畏和喜爱,搜集了一些相关文献,查阅相关NLP的书籍,搜索维基百科,相关博客后,梳理总结在下面,以飨读
2NLP发展三阶段
微软副院长周明博士将NLP的发展划分为以下三个阶段:
第一阶段是基础技术:分词、词性标注、语义分析。
第二阶段是核心技术:词汇、短语、句子、篇章的表示。包括机器翻译、提问和回答、信息检索、信息抽取、聊天和对话、知识工程、语言生成、推荐系统。
第三阶段是“NLP+”:仿照“人工智能+”或“互联网+”的概念,实际上就是把自然语言处理技术深入到各个应用系统和垂直领域中。比较有名的是搜索引擎、智能客服、商业智能和语音助手,还有更多在垂直领域——法律、医疗、教育等各个方面的应用。
3NLP的主要范畴
NLP包括的范畴参考维基百科,如下:
Chinese word segmentation,中文自动分词
Part-of-speech tagging,词性标注
Parsing,句法分析
Natural language generation,自然语言生成
Text categorization,文本分类
Information retrieval,信息检索
Information extraction,信息抽取
Text-proofing,文字校对
Question answering,问答系统
Machine translation,机器翻译
Automatic summarization,自动摘要
下面综述下每个范畴研究的问题,用到主要技术,研究的难点和热点。
4中文分词
中文分词主要难点包括:词的歧义切分,未登录词识别。
中文分词基本的方法包括:基于词典的方法。在基于词典的方法中,对于给定的词,只有词典中存在的词语能够被识别,其中最受欢迎的方法是最大匹配法,这种方法的效果取决于词典的覆盖度,因此随着新词不断出现,这种方法存在明显的缺点。
基于统计的方法。由于使用了概率或评分机制而非词典对文本进行分词而被广泛应用。这种方法只能识别 out-of-vocabulary 词而不能识别词的类型,比如只能识别为一串字符串而不能识别出是人名;统计方法很难将语言知识融入分词系统,因此对于不符合语言规范的结果需要额外的人工解析;在许多现在分词系统中,OOV 词识别通常独立于分词过程。
5词性标注
词性标注是指为给定句子中的每个词赋予正确的词法标记,给定一个切好词的句子,词性标注的目的是为每一个词赋予一个类别,这个类别称为词性标记,比如,名词(noun)、动词(verb)、形容词(adjective)等。
它是自然语言处理中重要的和基础的研究课题之一,是一个预处理过程,也是其他许多智能信息处理技术的基础,已被广泛的应用于机器翻译、文字识别、语音识别和信息检索等领域。
长期以来,兼类词的词性歧义消解和未知词的词性识别一直是词性标注领域需要解决的热点问题。
词性标注主要分为基于规则的和基于统计的方法,是一个非常典型的序列标注问题。最初采用的方法是隐马尔科夫生成式模型, 然后是判别式的最大熵模型、支持向量机模型,目前学术界通常采用条件随机场模型,随着深度学习技术的发展,研究者们也提出了很多有效的基于深层神经网络的词性标注方法。
传统词性标注方法的特征抽取过程主要是将固定上下文窗口的词进行人工组合,而深度学习方法能够自动利用非线性激活函数完成这一目标。进一步,如果结合循环神经网络如双向 LSTM,则抽取到的信息不再受到固定窗口的约束,而是考虑整个句子。
分词,词性标注技术一般只需对句子的局部范围进行分析处理,目前已经基本成熟,其标志就是它们已经被成功地用于文本检索、文本分类、信息抽取等应用之中。
6句法分析
句法分析主要的包括方法如下:
依存句法分析,其基本假设:句法结构本质上包含词和词之间的依存(修饰)关系。一个依存关系连接两个词,分别是核心词(head)和依存词(dependent)。依存关系可以细分为不同的类型,表示两个词之间的具体句法关系。目前研究主要集中在数据驱动的依存句法分析方法,主要有两种主流方法:基于图( graph-based)的分析方法和基于转移( transition-based)的分析方法。
短语结构句法分析的研究基于上下文无关文法(Context Free Grammar,CFG)。上下文无关文法可以定义为四元组。根据文法规则的来源不同,句法分析器的构建方法总体来说可以分为两大类:人工书写规则,从数据中自动学习规则。
句法分析、语义分析技术需要对句子进行全局分析,目前,深层的语言分析技术还没有达到完全实用的程度。
7文本分类
文本分类(Text Classification)的任务是根据给定文档的内容或主题,自动分配预先定义的类别标签。
对文档进行分类,一般需要经过两个步骤:文本表示,学习分类。文本表示是指将无结构化的文本内容转化成结构化的特征向量形式,作为分类模型的输入。在得到文本对应的特征向量后,就可以采用各种分类或聚类模型,根据特征向量训练分类器或进行聚类。
文本分类或聚类的主要研究任务和相应关键技术综述如下:
为了根据文本内容生成特征向量,需要首先建立特征空间。其中典型代表是文本词袋(Bag of Words)模型,每个文档被表示为一个特征向量,其特征向量每一维代表一个词项。所有词项构成的向量长度一般可以达到几万甚至几百万的量级。
如此高维的特征向量表示如果包含大量冗余噪音,会影响后续分类聚类模型的计算效率和效果。因此,我们往往需要进行特征选择(Feature Selection)与特征提取(Feature Extraction),选取最具有区分性和表达能力的特征建立特征空间,实现特征空间降维;或者,进行特征转换(Feature Transformation),将高维特征向量映射到低维向量空间。特征选择、提取或转换是构建有效文本特征向量的关键问题。
一般可以直接使用经典的模型或算法解决文本分类或聚类问题。例如,对于文本分类,我们可以选用朴素贝叶斯、决策树、k-NN、逻辑回归(Logistic Regression)、支持向量机(Support Vector Machine, SVM)等分类模型。
对于文本聚类,我们可以选用 k-means、层次聚类或谱聚类(spectral clustering)等聚类算法。 这些模型算法适用于不同类型的数据而不仅限于文本数据。
但是,文本分类或聚类会面临许多独特的问题。例如,如何充分利用大量无标注的文本数据,如何实现面向文本的在线分类或聚类模型,如何应对短文本带来的表示稀疏问题,如何实现大规模带层次分类体系的分类功能,如何充分利用文本的序列信息和句法语义信息,如何充分利用外部语言知识库信息等等,这些问题都是构建文本分类和聚类模型所面临的关键问题。
文本分类的模型主要有三类:基于规则的分类模型,基于机器学习的分类模型, 基于神经网络的方法。
限于篇幅,剩余范畴接下来推送。
附参考的两篇论文,一篇是自动分词研究综述:
另一篇是在去年微软研究院的一个分词和登录词识别方法。
感兴趣的在后台回复:seg
以上是关于一文了解自然语言处理的每个范畴用到的核心技术,难点和热点的主要内容,如果未能解决你的问题,请参考以下文章
国内“谁”能实现chatgpt,短期穷出的类ChatGPT简评(算法侧角度为主),以及对MOSSChatYuan给出简评,一文带你深入了解宏观技术路线。