HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    NLP算法是什么(NLP算法是什么)

    发布时间:2023-04-08 06:07:58     稿源: 创意岭    阅读: 52        

    大家好!今天让创意岭的小编来大家介绍下关于NLP算法是什么的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解SEO相关业务请拨打电话175-8598-2043,或添加微信:1454722008

    本文目录:

    NLP算法是什么(NLP算法是什么)

    一、自然语言处理基础 - NLP

    什么是自然语言处理

    自然语言处理 (英语:natural language processing,缩写作 NLP) 是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

    自然语言处理有四大类常见的任务

    什么是命名实体识别

    命名实体识别(NER)是信息提取(Information Extraction)的一个子任务,主要涉及如何从文本中提取命名实体并将其分类至事先划定好的类别,如在招聘信息中提取具体招聘公司、岗位和工作地点的信息,并将其分别归纳至公司、岗位和地点的类别下。命名实体识别往往先将整句拆解为词语并对每个词语进行此行标注,根据习得的规则对词语进行判别。这项任务的关键在于对未知实体的识别。基于此,命名实体识别的主要思想在于根据现有实例的特征总结识别和分类规则。这些方法可以被分为有监督(supervised)、半监督(semi-supervised)和无监督(unsupervised)三类。有监督学习包括隐形马科夫模型(HMM)、决策树、最大熵模型(ME)、支持向量机(SVM)和条件随机场(CRF)。这些方法主要是读取注释语料库,记忆实例并进行学习,根据这些例子的特征生成针对某一种实例的识别规则。

    什么是词性标注

    词性标注 (pos tagging) 是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。

    什么是文本分类

    该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

    GLUE benchmark

    General Language Understanding Evaluation benchmark,通用语言理解评估基准,用于测试模型在广泛自然语言理解任务中的鲁棒性。

    LM:Language Model

    语言模型,一串词序列的概率分布,通过概率模型来表示文本语义。

    语言模型有什么作用?通过语言模型,可以量化地衡量一段文本存在的可能性。对于一段长度为n的文本,文本里每个单词都有上文预测该单词的过程,所有单词的概率乘积便可以用来评估文本。在实践中,如果文本很长,P(wi|context(wi))的估算会很困难,因此有了简化版:N元模型。在N元模型中,通过对当前词的前N个词进行计算来估算该词的条件概率。

    重要文献与资料

    https://segmentfault.com/a/1190000015460828

    https://segmentfault.com/a/1190000015284996

    https://segmentfault.com/a/1190000015285996

    我们介绍词的向量表征,也称为 word embedding 。词向量是自然语言处理中常见的一个操作,是搜索引擎、广告系统、推荐系统等互联网服务背后常见的基础技术。

    在这些互联网服务里,我们经常要比较两个词或者两段文本之间的相关性。为了做这样的比较,我们往往先要把词表示成计算机适合处理的方式。最自然的方式恐怕莫过于向量空间模型(vector space model)。 在这种方式里,每个词被表示成一个实数向量(one-hot vector),其长度为字典大小,每个维度对应一个字典里的每个词,除了这个词对应维度上的值是1,其他元素都是0。

    One-hot vector虽然自然,但是用处有限。比如,在互联网广告系统里,如果用户输入的query是“母亲节”,而有一个广告的关键词是“康乃馨”。虽然按照常理,我们知道这两个词之间是有联系的——母亲节通常应该送给母亲一束康乃馨;但是这两个词对应的one-hot vectors之间的距离度量,无论是欧氏距离还是余弦相似度(cosine similarity),由于其向量正交,都认为这两个词毫无相关性。 得出这种与我们相悖的结论的根本原因是:每个词本身的信息量都太小。所以,仅仅给定两个词,不足以让我们准确判别它们是否相关。要想精确计算相关性,我们还需要更多的信息——从大量数据里通过机器学习方法归纳出来的知识。

    在机器学习领域里,各种“知识”被各种模型表示,词向量模型(word embedding model)就是其中的一类。通过词向量模型可将一个 one-hot vector映射到一个维度更低的实数向量(embedding vector),如embedding(母亲节)=[0.3,4.2,−1.5,...],embedding(康乃馨)=[0.2,5.6,−2.3,...]。在这个映射到的实数向量表示中,希望两个语义(或用法)上相似的词对应的词向量“更像”,这样如“母亲节”和“康乃馨”的对应词向量的余弦相似度就不再为零了。

    词向量模型可以是概率模型、共生矩阵(co-occurrence matrix)模型或神经元网络模型。在用神经网络求词向量之前,传统做法是统计一个词语的共生矩阵X。

    X是一个|V|×|V| 大小的矩阵,Xij表示在所有语料中,词汇表V(vocabulary)中第i个词和第j个词同时出现的词数,|V|为词汇表的大小。对X做矩阵分解(如奇异值分解),得到的U即视为所有词的词向量:

    但这样的传统做法有很多问题:

    基于神经网络的模型不需要计算和存储一个在全语料上统计产生的大表,而是通过学习语义信息得到词向量,因此能很好地解决以上问题。

    神经网络

    当词向量训练好后,我们可以用数据可视化算法t-SNE[ 4 ]画出词语特征在二维上的投影(如下图所示)。从图中可以看出,语义相关的词语(如a, the, these; big, huge)在投影上距离很近,语意无关的词(如say, business; decision, japan)在投影上的距离很远。

    另一方面,我们知道两个向量的余弦值在[−1,1]的区间内:两个完全相同的向量余弦值为1, 两个相互垂直的向量之间余弦值为0,两个方向完全相反的向量余弦值为-1,即相关性和余弦值大小成正比。因此我们还可以计算两个词向量的余弦相似度。

    模型概览

    语言模型

    在介绍词向量模型之前,我们先来引入一个概念:语言模型。 语言模型旨在为语句的联合概率函数P(w1,...,wT)建模, 其中wi表示句子中的第i个词。语言模型的目标是,希望模型对有意义的句子赋予大概率,对没意义的句子赋予小概率。 这样的模型可以应用于很多领域,如机器翻译、语音识别、信息检索、词性标注、手写识别等,它们都希望能得到一个连续序列的概率。 以信息检索为例,当你在搜索“how long is a football bame”时(bame是一个医学名词),搜索引擎会提示你是否希望搜索"how long is a football game", 这是因为根据语言模型计算出“how long is a football bame”的概率很低,而与bame近似的,可能引起错误的词中,game会使该句生成的概率最大。

    对语言模型的目标概率P(w1,...,wT),如果假设文本中每个词都是相互独立的,则整句话的联合概率可以表示为其中所有词语条件概率的乘积,即:

    然而我们知道语句中的每个词出现的概率都与其前面的词紧密相关, 所以实际上通常用条件概率表示语言模型:

    N-gram neural model

    在计算语言学中,n-gram是一种重要的文本表示方法,表示一个文本中连续的n个项。基于具体的应用场景,每一项可以是一个字母、单词或者音节。 n-gram模型也是统计语言模型中的一种重要方法,用n-gram训练语言模型时,一般用每个n-gram的历史n-1个词语组成的内容来预测第n个词。

    Yoshua Bengio等科学家就于2003年在著名论文 Neural Probabilistic Language Models [ 1 ] 中介绍如何学习一个神经元网络表示的词向量模型。文中的神经概率语言模型(Neural Network Language Model,NNLM)通过一个线性映射和一个非线性隐层连接,同时学习了语言模型和词向量,即通过学习大量语料得到词语的向量表达,通过这些向量得到整个句子的概率。因所有的词语都用一个低维向量来表示,用这种方法学习语言模型可以克服维度灾难(curse of dimensionality)。注意:由于“神经概率语言模型”说法较为泛泛,我们在这里不用其NNLM的本名,考虑到其具体做法,本文中称该模型为N-gram neural model。

    在上文中已经讲到用条件概率建模语言模型,即一句话中第t个词的概率和该句话的前t−1个词相关。可实际上越远的词语其实对该词的影响越小,那么如果考虑一个n-gram, 每个词都只受其前面n-1个词的影响,则有:

    给定一些真实语料,这些语料中都是有意义的句子,N-gram模型的优化目标则是最大化目标函数:

    其中f(wt,wt−1,...,wt−n+1)表示根据历史n-1个词得到当前词wt的条件概率,R(θ)表示参数正则项。

    Continuous Bag-of-Words model(CBOW)

    CBOW模型通过一个词的上下文(各N个词)预测当前词。当N=2时,模型如下图所示:

    具体来说,不考虑上下文的词语输入顺序,CBOW是用上下文词语的词向量的均值来预测当前词。

    其中xt为第t个词的词向量,分类分数(score)向量 z=U∗context,最终的分类y采用softmax,损失函数采用多类分类交叉熵。

    Skip-gram model

    CBOW的好处是对上下文词语的分布在词向量上进行了平滑,去掉了噪声,因此在小数据集上很有效。而Skip-gram的方法中,用一个词预测其上下文,得到了当前词上下文的很多样本,因此可用于更大的数据集。

    如上图所示,Skip-gram模型的具体做法是,将一个词的词向量映射到2n个词的词向量(2n表示当前输入词的前后各n个词),然后分别通过softmax得到这2n个词的分类损失值之和。

    我们介绍了词向量、语言模型和词向量的关系、以及如何通过训练神经网络模型获得词向量。在信息检索中,我们可以根据向量间的余弦夹角,来判断query和文档关键词这二者间的相关性。在句法分析和语义分析中,训练好的词向量可以用来初始化模型,以得到更好的效果。在文档分类中,有了词向量之后,可以用聚类的方法将文档中同义词进行分组,也可以用 N-gram 来预测下一个词。希望大家在本章后能够自行运用词向量进行相关领域的研究。

    参考: https://www.paddlepaddle.org.cn/documentation/docs/zh/user_guides/simple_case/word2vec/README.cn.html

    二、现在很多做AI语音的厂商都在说NLP,NLP和传统关键词的区别究竟是什么?

    从外呼系统诞生的那一刻起,基于人工规则关键词匹配的语义理解方法,和以NLP算法驱动的语义理解方法,一直是对话系统工业界领域的争论焦点。基于关键词匹配的语义理解方法,对于快速搭建新对话场景有着其独特优势。在AI训练师的指导下,机器人通过已配置好的关键词进行匹配,能很‌快根据用户的表达做出机械的理解反应,所设置的关键词模板越复杂,机器人能应对的对话内容也越丰富。然而,简单粗暴的配置方式相应地也带来了一定的负面作用。随着对话内容的增多,关键词穷举所带来的难度呈指数级上升,形成的语义冲突更是不可忽视的难题。而以NLP算法驱动的语义理解方法则恰恰相反,算法的有效工作,往往是“娇生惯养”型的,需要前沿的算法和大量的垂直数据作为基础支持。然而,一旦满足前沿算法+大数据两大条件,以NLP驱动的方法在复杂对话场景的语义泛化性和精准识别上就能够大显神威。

    只有当行业区分后,垂直行业下的语料积累和NLP算法模型准确度才有提升的可能。我‌们曾在已有的1.0NLP系统中做过测试,分场景的意图判断准确度相比泛行业可以提升5%-7%。利用算法能力进行最终意向输出,替代过往的规则匹配,可以让意向判断更贴近真实的转化效‌果‌。与此同时,通过垂直领域下语料库、意图库的积累和调用,以及话术智能推‌荐‌,可以大大提升AIT话术交付的响应速度,更好应对618、双十一等大促节点下的客户爆发性需求。

    有了NLP2.0系统的加持,原先一些高难度的对话场景有了实现的可能。曾经,对于调查问卷、用户满意度调研之类的外呼需求,在关键信息提取、时间地址组织名等实体信息抽取上的要求非常高,靠简单关键词穷举是根本无法满足要求的。而有了NLP的实体识别功能和关键信息提取功能,复杂对话场景的数据分析变得可行;有了情绪识别和情景感知功能的加成,同样的用户回复⌄,机器人有了更多的语言表达选择,真正做到了千人千面;而有了知识图谱算法的支持,极大地减少了复杂重复问题的实施投入,也让机器人在客户各式各样问题面前变得更加从容。

    此次发布的NLP2.0系统,最核心的亮点,一知智能在杭州人工智能计算中心与升腾生态软硬件进行调优,结合浙大·一知人工智能联合研究中心,共同提出了在泛消费领域的专用大规模预训练语言模型“EAZI”。在基于数百G级别涵盖消费领域信息的互联网网‌页、论坛、微博、新闻等形式的高质‌量‌语料训练,结合数亿条一知智能自身积累的消费场景对话数据进行专项任务训练,可以同时支持多种语义理解算法,包含意图识别、问答识别、实体识别、情感识别、知识图谱以及对话内容生成等多项NLP常见任务。“EAZI”模型在Transformer架构基础上,自研基于语言学知识、领域数据增强技‌术‌,从模型架构表征层和交互层,再到预训练策略进行了全方位改进。具体而言:

    1、细粒度词法表征,并基于词义信息引入注意力机制,对句法进行约束,提升模型对于语言学知识的建模能力。

    2、结合消费场景积累的大量实体信息和引入Discourse的Mask机制,强化模型对场景专项识别的表征能力。有了垂直领域数据的增强,识别算法对于领域内常见的表达方式语言成分和语篇关系表征更为敏感。

    3、为满足工业界高并发、低时延、低资源消耗需求,EAZI使用了大模型蒸馏和初始化小模型策略,最终实现参数仅为十亿级别的轻量化预训练模型。相比于动辄千亿参数的大模型而言,在消费领域专有的识别场景中,实现效‌果‌与识别速度的双向提升,突破传统“巨无霸”大模型的效率限制。

    4、在实际训练过程中,一知智能与华为杭州计算中心共同协作,在升腾生态下,算力达到40 PFLOPS FP16,相当于2万台高性能PC的计算能力,显著提升算力的快速响应。

    三、产品经理如何入门自然语言处理(NLP)?

    自然语言处理,顾名思义即自然语言处理的技术,通常用缩写NLP指代。各类产品经理日常的工作中,会遇到大量自然语言处理的应用场景。以智能推荐为例,在待推荐物文本分类、主题分类等场景中都会用到。本篇以产品经理的视角,谈谈如何入门自然语言处理。

    统计模型

    很多大牛对人工智能的抨击在于,认为人工智能只是统计学,并不是真正的具有「智能」。在当前「弱人工智能」的时代背景下,学习统计模型仍然有非常重要的价值。

    拿经常用于分类场景的贝叶斯模型为例,在已经拿到用于训练集的语料中,可以通过统计得出A出现的概率、B出现的概率、在A出现的前提下B出现的概率,计算如果B出现同时A出现的概率(即给定B样本计算出现A的概率),就可以直接从前面三个统计概率计算得出。

    当然以上贝叶斯模型成立并且表现良好的前提是 数据量足够大,满足大数定律 。不难发现统计模型的精髓在于,假设数据量足够大后,可以用已有样本的统计情况,来做判别或预测。

    闭环流程

    NLP技术应用场景广泛且松散,且在很多情况下,作为中间处理技术流程,不被最终用户所感知。再加上近些年新的自然语言处理技术不断出现,给想入门自然语言处理的产品经理眼花缭乱,不知如何入手的困惑。

    入门自然语言处理也需要讲究MVP,以最小可行性的闭环,建立起初步认知,再不断扩展和丰富NLP的知识体系,逐步建立大的框架和认知。

    通常的自然语言处理任务可从「分词」—>「构建特征」—>「训练模型」—>「分类或预测应用」。

    以上流程中,除了分词外,与机器学习通常流程一样。英文一个个单词本身就是分开的,是不需要分词的。但对于中文来讲,词与词之间是连接在一起的,需要将文本内容,切分成一个个词再处理。

    完成分词后,计算机无法直接理解汉字,需要通过将一个个词,编码成计算机可以理解的数字再做处理,这个阶段即构建特征阶段。

    特征完成后,再根据自然语言处理任务类型,决定采用哪种算法训练模型,最后将训练好的模型应用于特定的分类或预测任务上。一个自然语言处理任务就完成了。

    标注与预处理

    前几年从事的智能推荐产品中,推荐系统本身以CTR作为优化目标,实际是将点击与否作为label,相当于用户帮着做了分布式的标注工作。

    传统基于统计的自然语言处理任务中,大部分任务类型是有监督学习,需要人在已有语料上做大量的标注工作,才能保证任务的正常进行。

    例如情感识别是否为正向情感,就需要人在语料上,将一条条信息标出是否为正向情感。再将此语料作为训练集训练模型,生成情感识别的分类模型用于情感识别。

    文档的预处理通常是将拿到的语料做去除标点符号、停用词、数字等处理,去除自然语言无关内容,加快计算机计算和模型生成速度。

    在完成以上处理后,可将文档做分词处理,再将词作编码处理即可。

    常见任务及算法原理

    自然语言处理通常有以下应用场景:分词、词性标注、主题识别、情感识别、文本分类、机器翻译等。下面将主要应用及背后算法原理作简要介绍。

    有监督的分类问题。 无论情感识别还是垃圾邮件分类,本质上都可以转化为几个目标类型的分类问题。按照贝叶斯公式的逻辑,将已有语料数据进行类型标注,基于统计模型的逻辑,训练得到分类模型,将待识别内容通过模型计算打分,根据阈值即可完成识别。例如二分类的情感识别,可以将0-0.5区间归为消极情感,0.5-1区间归为积极情感。多分类则是计算待分类样本离哪个区间更近,即识别为哪种类型。

    无监督的分类问题 。自然语言处理中,经常会有主题识别任务,这类任务通常是采用LDA主题模型,核心逻辑是将文章划分为「文档」—「主题」—「词」的三层逻辑,以无监督学习自动完成按照主题的词聚类。由于是无监督学习,需要根据实际情况指定学习出的主题个数,最终选择主题个数最合理的结果。依赖人的主观判断和理解一系列词背后组成的主题。

    生成问题 。生成问题常见的有文本纠错、词生成、句子生成、机器翻译等。生成问题从统计学逻辑上讲,是基于已有语料的统计,计算出接下来要生成内容的概率。拿机器翻译举例,需要事先准备好中英文对照的大量语料,基于语料,机器学习到中英文词对照、短语对照的知识,最终在翻译场景下,输出中文或英文相应的翻译内容。

    再拿隐马尔可夫模型做词性标注举例,基于已经标注的语料,隐马尔可夫模型可以学习到词与词之间词性的状态转移概率,基于这个概率可以计算出一个词属于哪种词性。

    深度学习的应用。 CNN构建的神经网络,比较适合解决NLP分类问题,但由于没有记忆,无法解决生成问题。RNN相较于CNN可以解决一定长度记忆问题,适合解决NLP领域一定长度的生成问题,例如词生成,但无法保留长期记忆。LSTM具有长期记忆的手段,可以做生成句子的任务。

    NLP 应用价值

    文本是最常见的生产资料,产品经理学习NLP的原理及应用,可以开阔解决问题的视野。

    拿在线教育行业举例,利用自然语言处理能力,可以自动识别出学生评论的情感倾向,可以辅助老师进行作文批改、自动出题、自动解题。

    不难看出,自然语言处理的应用场景,并非人做不了,而是可以替代人类的手工劳动,大大提升任务的效率,将人解放出来,做更有价值的工作。

    小乐帝,一线AI产品经理、科技优秀作者、产品经理读书会创始人。

    「产品经理读书会」

    专注于爱读书爱思考的产品人提供读书推荐、产品思考、以书会友的环境

    四、nlp cv ml dm都是什么

    分别是图像和文本两条支线的技术栈。最大的区别还是你需要面对的数据形式不同。数字图像的话通常你要处理矩阵(matrix)和频率等数据。文本上你要面对序列(time-based)和语义等形式的数据。虽然算法和路径,还有优化方法会有很多共通之处,但是因为训练数据和建模基于的数据的形式不同,cv和nlp还是有很多壁垒和代沟。然后换一个角度来说,应用场景还有职业发展路线,和所衔接的行业,也会很不同。

    以上就是关于NLP算法是什么相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    onlinegame网站(online gamea)

    webchatonline

    Download怎么记忆(down怎么记住)

    potato诈骗曝光相册

    杭州中国动漫博物馆4楼开放时间(杭州中国动漫博物馆4楼开放时间是几点)