nlp是什么_nlp是什么算法 - CSDN
精华内容
参与话题
  • 简单来说:NLP的目的是让机器能够理解人类的语言,是人和机器进行交流的技术。...直到上个世纪八十年代,大部分自然语言处理系统还是基于人工规则的方式,使用规则引擎或者规则系统来做问答、翻译等功能。 第一次突...

    简单来说:NLP的目的是让机器能够理解人类的语言,是人和机器进行交流的技术。它应用在我们生活中,像:智能问答、机器翻译、文本分类、文本摘要,这项技术在慢慢影响我们的生活。

    NLP的发展历史非常之久,计算机发明之后,就有以机器翻译为开端做早期的NLP尝试,但早期做得不是很成功。直到上个世纪八十年代,大部分自然语言处理系统还是基于人工规则的方式,使用规则引擎或者规则系统来做问答、翻译等功能。

    第一次突破是上个世纪九十年代,有了统计机器学习的技术,并且建设了很多优质的语料库之后,统计模型使NLP技术有了较大的革新。接下来的发展基本还是基于这样传统的机器学习的技术,从2006年深度学习开始,包括现在图像上取得非常成功的进步之后,已经对NLP领域领域影响非常大。

    当年上小学时有一本书叫《字词句篇与达标训练》,里面讲了字、词、句、篇,我们开始学写字,词是最基础的一级,中文的一个字比英文的一个字母的语义要丰富的多,但表义能力仍然较差。所以中文一般的处理情况都是按照词级别,词级别的分析就有了中文分词、有了命名实体识别这样的层次来做底层处理。

    在这个底层处理之上是段落级别,是一句话、一段话、短的文本,对这个级别文本做法又对应了相关的技术,包括:依存文法分析、词位置分析、语义归一化、文本纠错等等功能。但是这个功能也是为它更上级的服务去服务的,达观称之为“篇章”级的应用。

    大部分同学平时做比赛、做项目关注的点最多是在“篇章”级的应用,底下这些中文分词等都已经有很好的工具了,不用再从头到尾去开发,只要关心上层的应用,把底下的工具用好,让它产生需要的Feature,来做分类、主题模型、文章建模,这种比较高层次的应用。

    所以,要做好NLP,包括我们公司在内,这三个级别的技术都是自己掌握的。但是如果个人学习使用是有权衡的。某个同学的某一个技术特别好也是OK的,因为现在开源工具,甚至商用工具有很好的效果。如果不要求精度特别高或者有特殊的要求,用这些工具一般是可以达到你的要求。

    每个层次的技术都是完全不同的,而且层次间的技术是有联系,一般的联系是底层是为上层服务。
    人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
    如何快速入门NLP自然语言处理概述
    http://www.duozhishidai.com/article-11742-1.html
    改变世界的七大NLP技术,你了解多少?
    http://www.duozhishidai.com/article-8918-1.html
    达观数据:想用好自然语言处理技术,要先克服这些困难
    http://www.duozhishidai.com/article-5348-1.html
    人工智能与自然语言处理概述:AI三大阶段、NLP关键应用领域
    http://www.duozhishidai.com/article-3382-1.html
    从语言学到深度学习NLP,一文概述自然语言处理
    http://www.duozhishidai.com/article-1120-1.html


    多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

    多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台
    展开全文
  • 导读:在人类社会中,语言扮演着重要的角色,语言是人类区别于其他动物的根本标志,没有语言,人类的思维无从谈起,沟通交流更是无源之水。所谓“自然”乃是寓意自然进化形成,是为了...
        

    640?wx_fmt=gif

    导读:在人类社会中,语言扮演着重要的角色,语言是人类区别于其他动物的根本标志,没有语言,人类的思维无从谈起,沟通交流更是无源之水。


    所谓“自然”乃是寓意自然进化形成,是为了区分一些人造语言,类似C++、Java等人为设计的语言。


    NLP的目的是让计算机能够处理、理解以及运用人类语言,达到人与计算机之间的有效通讯。


    作者:涂铭 刘祥 刘树春

    本文摘编自《Python自然语言处理实战:核心技术与算法》,如需转载请联系我们


    640?wx_fmt=jpeg



    01 什么是NLP


    1. NLP的概念


    NLP(Natural Language Processing,自然语言处理)是计算机科学领域以及人工智能领域的一个重要的研究方向,它研究用计算机来处理、理解以及运用人类语言(如中文、英文等),达到人与计算机之间进行有效通讯。


    在一般情况下,用户可能不熟悉机器语言,所以自然语言处理技术可以帮助这样的用户使用自然语言和机器交流。从建模的角度看,为了方便计算机处理,自然语言可以被定义为一组规则或符号的集合,我们组合集合中的符号来传递各种信息。


    这些年,NLP研究取得了长足的进步,逐渐发展成为一门独立的学科,从自然语言的角度出发,NLP基本可以分为两个部分:自然语言处理以及自然语言生成,演化为理解和生成文本的任务,如图所示。


    640?wx_fmt=png

    ▲NLP的基本分类


    自然语言的理解是个综合的系统工程,它又包含了很多细分学科,有代表声音的音系学,代表构词法的词态学,代表语句结构的句法学,代表理解的语义句法学和语用学。


    • 音系学:指代语言中发音的系统化组织。

    • 词态学:研究单词构成以及相互之间的关系。

    • 句法学:给定文本的哪部分是语法正确的。

    • 语义学:给定文本的含义是什么?

    • 语用学:文本的目的是什么?


    语言理解涉及语言、语境和各种语言形式的学科。而自然语言生成(Natural Language Generation,NLG)恰恰相反,从结构化数据中以读取的方式自动生成文本。该过程主要包含三个阶段:


    • 文本规划:完成结构化数据中的基础内容规划

    • 语句规划:从结构化数据中组合语句来表达信息流

    • 实现:产生语法通顺的语句来表达文本


    2. NLP的研究任务


    NLP可以被应用于很多领域,这里大概总结出以下几种通用的应用:


    • 机器翻译:计算机具备将一种语言翻译成另一种语言的能力。

    • 情感分析:计算机能够判断用户评论是否积极。

    • 智能问答:计算机能够正确回答输入的问题。

    • 文摘生成:计算机能够准确归纳、总结并产生文本摘要。

    • 文本分类:计算机能够采集各种文章,进行主题分析,从而进行自动分类。

    • 舆论分析:计算机能够判断目前舆论的导向。

    • 知识图谱:知识点相互连接而成的语义网络。


    机器翻译是自然语言处理中最为人所熟知的场景,国内外有很多比较成熟的机器翻译产品,比如百度翻译、Google翻译等,还有提供支持语音输入的多国语言互译的产品。


    情感分析在一些评论网站比较有用,比如某餐饮网站的评论中会有非常多拔草的客人的评价,如果一眼扫过去满眼都是又贵又难吃,那谁还想去呢?另外有些商家为了获取大量的客户不惜雇佣水军灌水,那就可以通过自然语言处理来做水军识别,情感分析来分析总体用户评价是积极还是消极。


    智能问答在一些电商网站有非常实际的价值,比如代替人工充当客服角色,有很多基本而且重复的问题,其实并不需要人工客服来解决,通过智能问答系统可以筛选掉大量重复的问题,使得人工座席能更好地服务客户。


    文摘生成利用计算机自动地从原始文献中摘取文摘,全面准确地反映某一文献的中心内容。这个技术可以帮助人们节省大量的时间成本,而且效率更高。


    文本分类是机器对文本按照一定的分类体系自动标注类别的过程。举一个例子,垃圾邮件是一种令人头痛的顽症,困扰着非常多的互联网用户。2002年,Paul Graham提出使用“贝叶斯推断”来过滤垃圾邮件,1000封垃圾邮件中可以过滤掉995封并且没有一个是误判,另外这种过滤器还具有自我学习功能,会根据新收到的邮件,不断调整。也就是说收到的垃圾邮件越多,相对应的判断垃圾邮件的准确率就越高。


    舆论分析可以帮助分析哪些话题是目前的热点,分析传播路径以及发展趋势,对于不好的舆论导向可以进行有效的控制。


    知识图谱(Knowledge Graph/Vault)又称科学知识图谱,在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。知识图谱的一般表现形式如图所示。


    640?wx_fmt=png

    ▲知识图谱图示


    3. NLP相关知识的构成


    3.1 基本术语


    为了帮助读者更好地学习NLP,这里会一一介绍NLP领域的一些基础专业词汇。


    (1)分词(segment)


    词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,因此,中文词语分析是中文分词的基础与关键。


    中文和英文都存在分词的需求,不过相较而言,英文单词本来就有空格进行分割,所以处理起来相对方便。但是,由于中文是没有分隔符的,所以分词的问题就比较重要。


    分词常用的手段是基于字典的最长串匹配,据说可以解决85%的问题,但是歧义分词很难。举个例子,“美国会通过对台售武法案”,我们既可以切分为“美国/会/通过对台售武法案”,又可以切分成“美/国会/通过对台售武法案”。


    (2)词性标注(part-of-speech tagging)


    基于机器学习的方法里,往往需要对词的词性进行标注。词性一般是指动词、名词、形容词等。标注的目的是表征词的一种隐藏状态,隐藏状态构成的转移就构成了状态转移序列。例如:我/r爱/v北京/ns天安门/ns。其中,ns代表名词,v代表动词,ns、v都是标注,以此类推。


    (3)命名实体识别(NER,Named Entity Recognition)


    命名实体是指从文本中识别具有特定类别的实体(通常是名词),例如人名、地名、机构名、专有名词等。


    (4)句法分析(syntax parsing)


    句法分析往往是一种基于规则的专家系统。当然也不是说它不能用统计学的方法进行构建,不过最初的时候,还是利用语言学专家的知识来构建的。句法分析的目的是解析句子中各个成分的依赖关系。


    所以,往往最终生成的结果是一棵句法分析树。句法分析可以解决传统词袋模型不考虑上下文的问题。比如,“小李是小杨的班长”和“小杨是小李的班长”,这两句话,用词袋模型是完全相同的,但是句法分析可以分析出其中的主从关系,真正理清句子的关系。


    (5)指代消解(anaphora resolution)


    中文中代词出现的频率很高,它的作用的是用来表征前文出现过的人名、地名等。


    例如,清华大学坐落于北京,这家大学是目前中国最好的大学之一。在这句话中,其实“清华大学”这个词出现了两次,“这家大学”指代的就是清华大学。但是出于中文的习惯,我们不会把“清华大学”再重复一遍。


    (6)情感识别(emotion recognition)


    所谓情感识别,本质上是分类问题,经常被应用在舆情分析等领域。情感一般可以分为两类,即正面、负面,也可以是三类,在前面的基础上,再加上中性类别。


    一般来说,在电商企业,情感识别可以分析商品评价的好坏,以此作为下一个环节的评判依据。通常可以基于词袋模型+分类器,或者现在流行的词向量模型+RNN。经过测试发现,后者比前者准确率略有提升。


    (7)纠错(correction)


    自动纠错在搜索技术以及输入法中利用得很多。由于用户的输入出错的可能性比较大,出错的场景也比较多。所以,我们需要一个纠错系统。具体做法有很多,可以基于N-Gram进行纠错,也可以通过字典树、有限状态机等方法进行纠错。


    (8)问答系统(QA system)


    这是一种类似机器人的人工智能系统。比较著名的有:苹果Siri、IBM Watson、微软小冰等。问答系统往往需要语音识别、合成,自然语言理解、知识图谱等多项技术的配合才会实现得比较好。


    3.2 知识结构


    作为一门综合学科,NLP是研究人与机器之间用自然语言进行有效通信的理论和方法。这需要很多跨学科的知识,需要语言学、统计学、最优化理论、机器学习、深度学习以及自然语言处理相关理论模型知识做基础。


    作为一门杂学,NLP可谓是包罗万象,体系化与特殊化并存,这里简单罗列其知识体系,知识结构结构图如图所示。


    640?wx_fmt=png

    ▲知识结构图示


    自然语言的学习,需要有以下几个前置知识体系:


    • 目前主流的自然语言处理技术使用python来编写。

    • 统计学以及线性代数入门。



    02 中文分词技术


    1. 中文分词简介


    “词”这个概念一直是汉语语言学界纠缠不清而又绕不开的问题。“词是什么”(词的抽象定义)和“什么是词”(词的具体界定),这两个基本问题迄今为止也未能有一个权威、明确的表述,更无法拿出令大众认同的词表来。主要难点在于汉语结构与印欧体系语种差异甚大,对词的构成边界方面很难进行界定。


    比如,在英语中,单词本身就是“词”的表达,一篇英文文章就是“单词”加分隔符(空格)来表示的,而在汉语中,词以字为基本单位的,但是一篇文章的语义表达却仍然是以词来划分的。


    因此,在处理中文文本时,需要进行分词处理,将句子转化为词的表示。这个切词处理过程就是中文分词,它通过计算机自动识别出句子的词,在词间加入边界标记符,分隔出各个词汇。


    整个过程看似简单,然而实践起来却很复杂,主要的困难在于分词歧义。以NLP分词的经典语句举例,“结婚的和尚未结婚的”,应该分词为“结婚/的/和/尚未/结婚/的”,还是“结婚/的/和尚/未/结婚/的”?这个由人来判定都是问题,机器就更难处理了。


    此外,像未登录词、分词粒度粗细等都是影响分词效果的重要因素。


    自中文自动分词被提出以来,历经将近30年的探索,提出了很多方法,可主要归纳为“规则分词”“统计分词”和“混合分词(规则+统计)”这三个主要流派。


    • 规则分词最早兴起的方法,主要是通过人工设立词库,按照一定方式进行匹配切分,其实现简单高效,但对新词很难进行处理。

    • 随后统计机器学习技术的兴起,应用于分词任务上后,就有了统计分词,能够较好应对新词发现等特殊场景。

    • 然而实践中,单纯的统计分词也有缺陷,那就是太过于依赖语料的质量,因此实践中多是采用这两种方法的结合,即混合分词


    下面将详细介绍这些方法的代表性算法。


    640?wx_fmt=jpeg


    2. 规则分词


    基于规则的分词是一种机械分词方法,主要是通过维护词典,在切分语句时,将语句的每个字符串与词表中的词进行逐一匹配,找到则切分,否则不予切分。


    按照匹配切分的方式,主要有正向最大匹配法、逆向最大匹配法以及双向最大匹配法三种方法。


    2.1 正向最大匹配法


    正向最大匹配(Maximum Match Method,MM法)的基本思想为:假定分词词典中的最长词有i个汉字字符,则用被处理文档的当前字串中的前i个字作为匹配字段,查找字典。若字典中存在这样的一个i字词,则匹配成功,匹配字段被作为一个词切分出来。如果词典中找不到这样的一个i字词,则匹配失败,将匹配字段中的最后一个字去掉,对剩下的字串重新进行匹配处理。


    如此进行下去,直到匹配成功,即切分出一个词或剩余字串的长度为零为止。这样就完成了一轮匹配,然后取下一个i字字串进行匹配处理,直到文档被扫描完为止。


    其算法描述如下:


    • 从左向右取待切分汉语句的m个字符作为匹配字段,m为机器词典中最长词条的字符数。

    • 查找机器词典并进行匹配。若匹配成功,则将这个匹配字段作为一个词切分出来。若匹配不成功,则将这个匹配字段的最后一个字去掉,剩下的字符串作为新的匹配字段,进行再次匹配,重复以上过程,直到切分出所有词为止。


    比如我们现在有个词典,最长词的长度为5,词典中存在“南京市长”和“长江大桥”两个词。


    现采用正向最大匹配对句子“南京市长江大桥”进行分词,那么首先从句子中取出前五个字“南京市长江”,发现词典中没有该词,于是缩小长度,取前4个字“南京市长”,词典中存在该词,于是该词被确认切分。再将剩下的“江大桥”按照同样方式切分,得到“江”“大桥”,最终分为“南京市长”“江”“大桥”3个词。


    显然,这种结果还不是我们想要的。


    640?wx_fmt=jpeg


    2.2 逆向最大匹配法


    逆向最大匹配(Reverse Maximum Match Method,RMM法)的基本原理与MM法相同,不同的是分词切分的方向与MM法相反。逆向最大匹配法从被处理文档的末端开始匹配扫描,每次取最末端的i个字符(i为词典中最长词数)作为匹配字段,若匹配失败,则去掉匹配字段最前面的一个字,继续匹配。相应地,它使用的分词词典是逆序词典,其中的每个词条都将按逆序方式存放。


    在实际处理时,先将文档进行倒排处理,生成逆序文档。然后,根据逆序词典,对逆序文档用正向最大匹配法处理即可。


    由于汉语中偏正结构较多,若从后向前匹配,可以适当提高精确度。所以,逆向最大匹配法比正向最大匹配法的误差要小。统计结果表明,单纯使用正向最大匹配的错误率为1/169,单纯使用逆向最大匹配的错误率为1/245。


    比如之前的“南京市长江大桥”,按照逆向最大匹配,最终得到“南京市”“长江大桥”。当然,如此切分并不代表完全正确,可能有个叫“江大桥”的“南京市长”也说不定。


    2.3 双向最大匹配法


    双向最大匹配法(Bi-directction Matching method)是将正向最大匹配法得到的分词结果和逆向最大匹配法得到的结果进行比较,然后按照最大匹配原则,选取词数切分最少的作为结果。


    据SunM.S.和Benjamin K.T.(1995)的研究表明,中文中90.0%左右的句子,正向最大匹配法和逆向最大匹配法完全重合且正确,只有大概9.0%的句子两种切分方法得到的结果不一样,但其中必有一个是正确的(歧义检测成功),只有不到1.0%的句子,使用正向最大匹配法和逆向最大匹配法的切分虽重合却是错的,或者正向最大匹配法和逆向最大匹配法切分不同但两个都不对(歧义检测失败)。这正是双向最大匹配法在实用中文信息处理系统中得以广泛使用的原因。


    前面举例的“南京市长江大桥”,采用该方法,中间产生“南京市/长江/大桥”和“南京市/长江大桥”两种结果,最终选取词数较少的“南京市/长江大桥”这一结果。


    下面是一段实现逆向最大匹配的代码。


    #逆向最大匹配
    class IMM(object):
        def __init__(self, dic_path):
            self.dictionary = set()
            self.maximum = 0
            #读取词典
            with open(dic_path, 'r', encoding='utf8'as f:
                for line in f:
                    line = line.strip()
                    if not line:
                        continue
                    self.dictionary.add(line)
                    self.maximum = len(line)
        def cut(self, text):
            result = []
            index = len(text)
            while index > 0:
                word = None
                for size in range(self.maximum, 0-1):
                    if index - size < 0:
                        continue
                    piece = text[(index - size):index]
                    if piece in self.dictionary:
                        word = piece
                        result.append(word)
                        index -= size
                        break
                if word is None:
                    index -= 1
            return result[::-1]

    def main():
        text = "南京市长江大桥"

        tokenizer = IMM('./data/imm_dic.utf8')
        print(tokenizer.cut(text))


    运行main函数,结果为:


    ['南京市''长江大桥']


    基于规则的分词,一般都较为简单高效,但是词典的维护是一个很庞大的工程。在网络发达的今天,网络新词层出不穷,很难通过词典覆盖到所有词。


    3. 统计分词


    随着大规模语料库的建立,统计机器学习方法的研究和发展,基于统计的中文分词算法渐渐成为主流。


    其主要思想是把每个词看做是由词的最小单位的各个字组成的,如果相连的字在不同的文本中出现的次数越多,就证明这相连的字很可能就是一个词。


    因此我们就可以利用字与字相邻出现的频率来反应成词的可靠度,统计语料中相邻共现的各个字的组合的频度,当组合频度高于某一个临界值时,我们便可认为此字组可能会构成一个词语。


    基于统计的分词,一般要做如下两步操作:


    • 建立统计语言模型。

    • 对句子进行单词划分,然后对划分结果进行概率计算,获得概率最大的分词方式。这里就用到了统计学习算法,如隐含马尔可夫(HMM)、条件随机场(CRF)等。


    限于篇幅,本文只对统计分词相关技术做简要介绍。更多详细内容请参考《Python自然语言处理实战:核心技术与算法》一书第3章第3.3节。


    4. 混合分词


    事实上,目前不管是基于规则的算法、还是基于HMM、CRF或者deep learning等的方法,其分词效果在具体任务中,其实差距并没有那么明显。在实际工程应用中,多是基于一种分词算法,然后用其他分词算法加以辅助。


    最常用的方式就是先基于词典的方式进行分词,然后再用统计分词方法进行辅助。如此,能在保证词典分词准确率的基础上,对未登录词和歧义词有较好的识别。


    关于作者:涂铭,阿里巴巴数据架构师,对大数据、自然语言处理、Python、Java相关技术有深入的研究,积累了丰富的实践经验。

    刘祥,百炼智能自然语言处理专家,主要研究知识图谱、NLG等前沿技术,参与机器自动写作产品的研发与设计。

    刘树春,七牛云高级算法专家,七牛AI实验室NLP&OCR方向负责人,主要负责七牛NLP以及OCR相关项目的研究与落地。


    本文摘编自《Python自然语言处理实战:核心技术与算法》,经出版方授权发布。


    延伸阅读《Python自然语言处理实战

    点击上图了解及购买

    转载请联系微信:togo-maruko


    推荐语:阿里巴巴、前明略数据和七牛云的高级专家和科学家撰写,零基础掌握NLP的核心技术、方法论和经典算法。


    640?


    据统计,99%的大咖都完成了这个神操作


    640?wx_fmt=png


    更多精彩


    在公众号后台对话框输入以下关键词

    查看更多优质内容!


    PPT | 报告 | 读书 | 书单

    大数据 | 揭秘 | 人工智能 | AI

    Python | 机器学习 | 深度学习 | 神经网络

    可视化 | 区块链 | 干货 | 数学


    猜你想看




    Q: 中文分词技术都有哪些挑战

    欢迎留言与大家分享

    觉得不错,请把这篇文章分享给你的朋友

    转载 / 投稿请联系:baiyu@hzbook.com

    更多精彩,请在后台点击“历史文章”查看

    640?wx_fmt=jpeg

    640?wx_fmt=gif点击阅读原文,了解更多

    展开全文
  • 不懂什么是自然语言处理?它在商业智能中又有哪些应用?带着这样的疑问,慧都网将从定义和应用两个方向,通过3分钟的时间快速了解自然语言处理NLP)。 语言是一项基本的沟通工具。人类使用语言来传递信息和意义...

    不懂什么是自然语言处理?它在商业智能中又有哪些应用?带着这样的疑问,慧都网将从定义和应用两个方向,通过3分钟的时间快速了解自然语言处理(NLP)。

    语言是一项基本的沟通工具。人类使用语言来传递信息和意义,人类善于用语言来描述现实世界。我们通常会通过语义线索来实现这一点,语义线索可以是文字,符号或者图像,它能提供与现实世界中所代表的事物更紧密的联系。

    当人们看到文本时,他们通常能理解其中的含义。而当计算机看到文本时,它们只能看到字符串,无法将其对应到现实世界的事物或者理解其中包含的想法。随着人类越来越依赖于计算系统,计算机理解文本和语言也变得越来越重要。这就是自然语言处理(NLP)的作用。现在,机器学习和人工智能正在不断发展,自然语言处理正是计算机与人类交流之间的桥梁。

    什么是自然语言处理?

    自然语言处理是计算机科学和计算语言学中的一个领域,用于研究人类(自然)语言和计算机之间的相互作用。语义是指单词之间的关系和意义。自然语言处理的重点是帮助计算机利用信息的语义结构(数据的上下文)来理解含义。

    例如,统计图表可能非常抽象。下图是一个对数图表,展示了各种动物的大脑和体重之间的关系。

    现在,如果我们应用语义来更好地表达此图的含义,它将如下所示:

    第二张图表使用了与每个动物相关的图像。然后图表立即变得更有意义了,因为我们的视觉系统不必识别前一图像中杂乱的文本标签。

    同样地,计算机使用语义来为单词和文本分配含义和意图。这能允许计算机和最终用户之间的对话。

    自然语言处理的例子

    自然语言已经渗透到日常生活中。最常见的自然语言技术有 Alexa,Siri 和 Google Assistant 等,这些技术能够通过识别语音模式来推断意义并提供适当的响应。NLP 也是一些 Gmail 功能的基础。例如 Gmail 使用 NLP 来自动解析并理解电子邮件的内容,它能够检测到像会议邀请,包裹发货通知和提醒等的内容。

    NLP 使用强大的解析,语法规则和算法来从人们的话语中获得意图。话语是通用语言中的语句或问题片段,由一系列的关键字组成。

    NLP 另一个常见的例子是网络搜索引擎。当您在搜索引擎中输入短语时,它将根据其他类似的搜索行为提供建议。您还可以在社交媒体网站上的搜索功能中看到它。例如,搜索“我认识的居住在奥斯汀的人”,这将显示在该地区的朋友列表。

    自然语言如何影响商业智能

    如今,商业智能(BI)供应商正在为可视化提供自然语言界面,以便用户可以自然地与他们的数据进行交互,在他们想到问题时提出问题。在 BI 市场中,自然语言通常被归类在“智能分析”中,与机器学习和人工智能的应用有关。

    自然语言处理能够为所有层次的用户(从初级到高级)开放数据分析,因为使用该技术来获得见解并不需要深入了解 BI 工具。

    “每个人都渴望获得有关数据的见解。自然语言是解决这一问题的一种重要方式。它能够让您询问有关数据的问题,而不需要考虑这样做的原理。”

    ——Tableau 自然语言团队的开发经理 Vidya Setlur

    在询问有关数据的问题时,人们通常不会从空白状态开始。我们经常会依赖上下文来激发我们的好奇心。同样地,在 BI 工具中,NLP 系统利用对话中的上下文来理解用户查询背后的意图并进行进一步对话,从而创建更自然的对话体验。

    例如,如果某人对他的数据有后续问题时,他不必复述问题以深入挖掘或澄清歧义。您可以使用 BI 工具“查找加利福尼亚附近的大地震”,然后提出一个后续问题,例如“德克萨斯附近怎么样?” 而不需要在第二个问题中也提到地震。

    上图是某人在 Tableau 自然语言功能中询问数据问题的例子,Ask Data。

    BI 工具中的自然语言功能能够让人们通过简单地与数据的交谈来获得洞察力。随着 BI 行业自然语言的日趋成熟,它将打破组织采用分析的障碍,并改变人们与数据交互的方式。

    慧都BI提供Tableau的产品和技术服务,更有企业级BI业务分析解决方案,我们拥有包括QlikTableauPower BI和 IBM Cognos全球领先的BI产品,并提供相关解决方案,让数据创造无限价值。

    与此同时可以拨打慧都热线023-68661681或咨询慧都在线客服,我们将帮您转接BI专业团队,并发送相关资料给您!

    展开全文
  • 一、什么是自然语言处理NLP)   首先先了解一下什么是自然语言,自然语言是人类社会发展过程中自然产生的语言,是最能体现人类智慧和文明的产物,也是大猩猩与人的区别(2019斯坦福cs224n,lesson1)。它是一种...

    一、什么是自然语言处理(NLP)

      首先先了解一下什么是自然语言,自然语言是人类社会发展过程中自然产生的语言,是最能体现人类智慧和文明的产物,也是大猩猩与人的区别(2019斯坦福cs224n,lesson1)。它是一种人与人交流的载体,像计算机网络一样,我们使用语言传递知识,人类语言产生是非常近的事情,大概是在10万年前,至于科学家怎么论证的,我也不清楚,但肯定不是敲着头盖骨化石问“爷爷,你当时会说话吗?”问出来的。据我猜测可能是根据书写文字的年代推断出来的,语言早于书写,书写出现在5000年前,例如大家所熟知的甲骨文距今约3600年(甲骨文发现于中国河南省安阳市殷墟,是商朝(约公元前17世纪-公元前11世纪)的文化产物,距今约3600多年的历史)。
    在这里插入图片描述
      语言是很神奇的东西,只需要短短几个符号,你就可以在脑海里重现一幅图,一个场景。语言是思维的载体,是人类交流思想、表达情感最自然、最直接、最方便的工具,人类历史上以语言文字形式记载和流传的知识占知识总量的80%以上。
    在这里插入图片描述
      而自然语言处理是一门计算机科学、人工智能、认知科学、信息论、数学及语言学的交叉学科。虽然语言只是人工智能的一部分(人工智能还包括机器学习、计算机视觉等),但它是非常独特的一部分。这个星球上许多生物都拥有超过人类的视觉系统,但只有人类才拥有这么高级的语言。
    在这里插入图片描述图片来源 – blog.wizeline.com

    自然语言研究内容包括如下:
    序列列标注:分词/POS Tag/NER/语义标注
    这是最典型的NLP任务,比如中文分词,词性标注,命名实体识别,语义角色标注等都可以归入这一类问题,它的特点是句子中每个单词要求模型根据上下文都要给出一个分类类别。
    分类任务:⽂文本分类/情感计算
    比如我们常见的文本分类,情感计算等都可以归入这一类。它的特点是不管文章有多长,总体给出一个分类类别即可。
    句子关系判断:Entailment/QA/⾃自然语⾔言推理
    比如Entailment,QA,语义改写,自然语言推理等任务都是这个模式,它的特点是给定两个句子,模型判断出两个句子是否具备某种语义关系。
    生成式任务:机器翻译/⽂文本摘要
    比如机器翻译,文本摘要,写诗造句,看图说话等都属于这一类。它的特点是输入文本内容后,需要自主生成另外一段文字。

      自然语言处理的目标是让计算机处理或者说“理解”自然语言,用来完成有意义的任务,比如人工助手订购机票、机器翻译、情感分析、问答系统、智能客服QA等。完全理解和表达语言是极其困难的,完美的语言理解在一定意义上等效于实现了人工智能。

    二、NLP的发展简史

    1950年前:图灵测试 1950年前阿兰·图灵图灵测试:人和机器进行交流,如果人无法判断自己交流的对象是人还是机器,就说明这个机器具有智能。

    1950-1970:主流:基于规则形式语言理论

    乔姆斯基,根据数学中的公理化方法研究自然语言,采用代数和集合论把形式语言定义为符号的序列。他试图使用有限的规则描述无限的语言现象,发现人类普遍的语言机制,建立所谓的普遍语法。

    1970-至今:主流:基于统计 谷歌、微软、IBM,20世纪70年代,弗里德里克·贾里尼克及其领导的IBM华生实验室将语音识别率从70%提升到90%。 1988年,IBM的彼得·布朗提出了基于统计的机器翻译方法。 2005年,Google机器翻译打败基于规则的Sys Tran。

    2010年以后:逆袭:机器学习,深度学习。

    AlphaGo先后战胜李世石、柯洁等,掀起人工智能热潮。深度学习、人工神经网络成为热词。领域:语音识别、图像识别、机器翻译、自动驾驶、智能家居。

    三、自然语言处理的技术挑战

       自然语言处理为什么难? 人类语言是充满歧义的,不像编程语言那样明确。编程语言中有各种变量名,但人类语言中只有少数几个代词可以用,你得思考到底指代的是谁……
      人类语言的解读依赖于现实世界、常识以及上下文。由于说话速度书写速度阅读速度的限制,人类语言非常简练,省略了大量背景知识。
    大量存在的未知语言现象
    如:高山、高升;
    吉林、武夷山、桂林、温泉、温馨、时光;
    虎蝇,埃博拉,奥特,闷骚;
    BoW, word2vec;
    一带一路;
    厉害了word哥;
    吃瓜群众;

    在这里插入图片描述
    四字姓名,对中文实体识别带来了巨大的困扰。

    无处不在的歧义词汇
    如:苹果、粉丝;
    bank, interest;
    那辆白色的车是黑车。
    臭豆腐真香啊!
    在这里插入图片描述

    复杂或歧义结构比比皆是
    喜欢乡下的孩子。
    上大学子烛光追思钱伟长。
    “动物保护警察”明年上岗。
    欢迎新老师生前来就餐。
    在这里插入图片描述

    普遍存在的隐喻表达
    在微信圈里潜水;
    打铁还要自身硬;
    你简直是个木头脑袋!
    雪域高原处处盛开民族团结之花;
    各族人民要像石榴籽一样紧紧拥抱在一起。
    帝国主义和一切反动派都是纸老虎。
    在这里插入图片描述

    对翻译而言,不同语言之间的概念不对等
    馒头: steamed bread
    句子1:We do chicken right.(正确翻译:我们是烹鸡专家。)
    在这里插入图片描述

    句子2:vanilla Transformer(正确翻译:普通版Transformer)

      以上展示的是NLP中文任务的主要难点(巨坑),各位初入NLP行当的兄弟现在跳坑还来得及。。。
      下一篇讲讲述“如何用数学语言表示词”,敬请期待!~

    reference:

    1、nlp中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert

    2、放弃幻想,全面拥抱Transformer:自然语言处理三大特征抽取器(CNN/RNN/TF)比较

    3、《自然语言处理方法与应用》- 宗成庆

    4、《知识指导的自然语言处理》- 刘知远

    5、自然语言处理

    6、NLP-LOVE/ML-NLP

    展开全文
  • NicoElNino/Shutterstock.comNicoElNino / Shutterstock.comNatural language processing enables computers to process what we’re saying into commands that it can execute. Find out how the basics of how it...
  • 什么是NLP

    2007-10-17 20:38:00
    2008年两个奥运会(夏季奥运会和残疾人奥运会)之间,计划在天津举办一个大型的国际学术会议“1ST WORLD CONGRESS ON EXCELLENCE IN SPORT AND LIFE" 。这实际上是几个会议的组合,包括了5th World Congress on ...
  • 什么是NLP

    千次阅读 2019-07-05 15:19:20
    自然语言处理 - 知乎 https://www.zhihu.com/topic/19560026/intro
  • 什么是自然语言处理自然语言处理NLP)是指机器理解并解释人类写作、说话方式的能力。 NLP的目标是让计算机/机器在理解语言上像人类一样智能。最终目标是弥补人类交流(自然语言)和计算机理解(机器语言)之间...
  • 自然语言处理NLP)- 建立一个搜索引擎(信息检索系统)的点点滴滴 教程在最底下 代码: 建索引:   搜索:                       bensonrachel简书教程...
  • 中文自然语言处理可能是 NLP 中最难的?

    万次阅读 热门讨论 2018-06-22 13:22:21
    在人工智能背景技术下,自然语言处理NLP)技术被越来越多的人看好,并受到重视。其中,以微软小冰为代表的聊天机器人,如今却成了网红,迅速刷爆了微信和朋友圈,一个17岁纯情少女懂礼貌、有素质和会作诗,众多...
  • 1.什么是信息抽取(IE) 信息抽取的英文就是Information Extraction,是把文本信息转换成结构化信息。整体步骤有三步: 从文本中了解到特定的信息; 然后从特定信息中获取到特定类别的对象; 然后获取对象之间的...
  • 先了解自然语言处理(NLP)与自然语言生成(NLG) 语音助手越来越像人类了,与人类之间的交流不再是简单的你问我答,不少语音助手甚至能和人类进行深度交谈。在交流的背后,离不开自然语言处理NLP)和自然语言生成...
  • 国内大陆部分主要NLP团队

    千次阅读 2019-05-25 19:22:29
    微软亚洲研究院自然语言计算组...清华大学自然语言处理与社会人文计算实验室http://nlp.csai.tsinghua.edu.cn/site2/ 清华大学智能技术与系统信息检索组http://www.thuir.cn/cms/ ...
  • OPENNLP——java的NLP工具

    千次阅读 2012-06-01 22:42:27
    Apache OpenNLP库是一个基于机器学习的自然语言文本处理的开发工具包,它支持自然语言处理中一些共有的任务,例如:标记化、句子分割、词性标注、固有实体提取(指在句子中辨认出专有名词,例如:人名)、浅层分析...
  • 60分钟带你学习PyTorch框架。

    千人学习 2020-03-11 14:39:34
    随着对于深度学习研究的逐渐深入,在自然语言处理领域,出现了很多深度学习的模型,这些模型相比于传统的机器学习方法,在准确率等指标上面有了很大的提高。本课程拟就深度学习在自然语言处理领域的应用,从基础开始...
  • (一)NLP基础知识

    万次阅读 2018-05-24 16:46:15
    一种流行的自然语言处理库、自带语料库、具有分类,分词等很多功能,国外使用者居多,类似中文的jieba处理库 2、文本处理流程 3、分词 英文用NLTK,中文用jieba等,比较难处理时候,可能得借助正则表达式。 4...
  • 1、自然语言处理圣经---《自然语言处理综论》2、视频课程《深度学习与自然语言处理-2018》3、Natural Language Processing (NLP)4、吴恩达经典课程 - Machine Learning —Coursera5、斯坦福 Natural Language ...
  • nlp四大顶会:

    千次阅读 2019-08-02 11:27:21
    ACL:The Association for Computational Linguistics,https://www.aclweb.org/portal EMNLP:Conference on Empirical Methods in Natural Language Processing,... NAACL:The North America...
  • 自然语言处理NLP) vs 自然语言理解(NLU)

    万次阅读 多人点赞 2018-01-08 10:27:03
    自然语言处理,是Natural Language Processing, 简称NLP 自然语言理解,是Natural Language Understanding,简称NLU。(图1) (图2) 1、概括来说,NLP,除了NLU(图中红框部分),还包含理解之前的处理阶段、...
  • NLP的四大基本任务

    千次阅读 2019-04-15 08:36:26
    1. 序列标注:分词/POS Tag/NER/语义标注 2. 分类任务:文本分类/情感计算 3. 句子关系判断:Entailment/QA/自然语言推理 4. 生成式任务:机器翻译/文本摘要
1 2 3 4 5 ... 20
收藏数 344,678
精华内容 137,871
关键字:

nlp是什么