国际学术会议是一种学术影响度较高的会议,它具有国际性、权威性、高知识性、高互动性等特点,其参会者一般为科学家、学者、教师等。具有高学历的研究人员把它作为一种科研学术的交流方式,够为科研成果的发表和对科研学术论文的研讨提供一种途径 ;同时也能促进科研学术理论水平的提高。针对自然语言处理方向比较重要的几个会议有:ACL、EMNLP、NACAL、CoNLL、IJCNLP、CoNLL、IJCNLP、COLING、ICLR、AAAI、NLPCC等
会议链接地址: ACL
它是自然语言处理与计算语言学领域 最高级别 的学术会议,由计算语言学协会主办,每年一届。主要涉及对话(Dialogue)、篇章(Discourse)、评测( Eval)、信息抽取( IE)、信息检索( IR)、语言生成(LanguageGen)、语言资源(LanguageRes)、机器翻译(MT)、多模态(Multimodal)音韵学/ 形态学( Phon/ Morph)、自动问答(QA)、语义(Semantics)、情感(Sentiment)、语音(Speech)、统计机器学习(Stat ML)、文摘(Summarisation)、句法(Syntax)等多个方面。
ACL 成立于1962年, 每年举办一次 。这个学会主办了 NLP/CL 领域最权威的国际会议,即ACL年会。1982年和1999年,ACL分别成立了欧洲分会([EACL)和北美分会(NAACL)两个区域性分会。近年来,亚太地区在自然语言处理方面的研究进步显著,2018年7月15日,第56届ACL年会在澳大利亚墨尔本举行。开幕仪式上,ACL主席Marti Hearst正式宣布成立国际计算语言学学会亚太地区分会( AACL ,The Asia-Pacific Chapter of Association for Computational Linguistics)。此次成立ACL亚太分会,将进一步促进亚太地区NLP相关技术和研究的发展。据悉,首届AACL会议预计在2020年举行,此后将每两年举行一次。
会议链接地址: EMNLP
EMNLP涉及多个研究方向,其中包括:信息提取、信息检索和问答系统,语言和视觉,语言理论和心理语言学,机器学习,机器翻译和多语言,分割、标记和语法 分析,语义学,情感分析和观点挖掘,社交媒体和计算社交科学,口语处理,概述,生成,论述和对话,文本挖掘和自然语言分析。
EMNLP也是由ACL主办的,其中ACL学会下设多个特殊兴趣小组(Special Interest Groups ),SIGs聚集了NLP/CL不同子领域的学者,性质类似一个大学校园的兴趣社团。其中比较有名的诸如 SIGDAT(Special Interest Group on Linguistic Data & Corpus-based Approaches to Natural Language Processing)、SIGNLL(Special Interest Group on Natural Language Learning)等。这些 SIGs 也会召开一些国际学术会议,其中比较有名的就是 SIGDAT 组织的 EMNLP 和 SIGNLL 组织的 CoNLL(Conference on Computational Natural Language Learning), 均为每年举办一次 。
会议链接地址: NACAL
NACAL会议主要涉及对话,篇章,评测,信息抽取,信息检索,语言生成,语言资源,机器翻译,多模态,音韵学/ 形态学,自动问答,语义,情感,语音,统计机器学习,文摘,句法等多个方面。
NACAL是 ACL 的的北美分会,当然也是由 ACL 主办。这里把 NAACL 单独列出来是因为相比于 ACL 的欧洲分会 EACL(之前是 每三年举办一次 ,过去存在感不太强,据说从2020年开始将改为每年举办,相信会逐渐被大家重视起来),NAACL 是 每年举办一次 ,就目前而言,大家对它的认可度比 EACL 高。ACL、EMNLP、NAACL 均为每年举办一次。因为是同一学术组织举办,所以会有些有意思的潜规则。例如 ACL、EMNLP 会在各大洲轮流举办,而每当ACL在北美举办时,当年NAACL就停办一次(同理,当ACL在欧洲举办时,当年EACL就停办一次)。
会议链接地址: CoNLL
SIGDAT 组织的 EMNLP 和 SIGNLL 组织的 CoNLL( Conference on Computational Natural Language Learning),均为每年举办一次。其中CoNLL的主要涉及的方向有:对话与互动系统、信息提取、信息检索,问题回答、从认知角度研究学习方法(如机器学习、生物启发、主动学习、混合模型)、语言模型、分割、词汇语义和成分语义、语言理论与资源、用于NLP的机器学习、机器翻译、语言学中的归纳法和类比法、词法分析、词性标注和序列标注等。
会议链接地址: COLING
COLING会议主要涵盖的方向有:信息提取、信息检索和问答系统;机器学习;机器翻译;分割、标记和语法 分析;语义学;情感分析和观点挖掘;社交媒体和计算社交科 学;口语处理;对话生成;文本挖掘等。
COLING 全称 International Conference on Computational Linguistics,1965年开办,它是由老牌 NLP/CL 学术组织 ICCL(The International Committee on Computational Linguistics) 组织的, 每两年举办一次 。不过可能由于不是每年举行,感觉最近几次会议的质量起伏比较大,从认可度上也确有被EMNLP赶超的趋势。
会议链接地址: ICLR
ICLR主要发表深度学习各方面的前沿研究,其中涵盖人工智能、统计学和数据科学以及机器视觉、计算生物学、语音识别、文本理解、游戏和机器人等重要应用领域。
ICLR由Yann LeCun 和 Yoshua Bengio 等大牛发起,会议开创了公开评议机制(open review),但在今年取消了公开评议,改为双盲评审。它是一个很年轻的会议,今年举办到第6届,但已经成为深度学习领域不容忽视的重要会议,甚至有深度学习顶会“无冕之王”之称。ICLR也是世界上发展最快的人工智能会议之一,今年将有4000多名参会者。
会议链接地址: AAAI
AAAI是人工智能领域的主要学术会议,由美国人工智能促进协会主办。AAAI 成立于 1979 年,最初名为 “美国人工智能协会” (American Association for Artificial Intelligence),2007 年才正式更名为 “人工智能促进协会”(Association for the Advancement of Artificial Intelligence )。致力于促进对思维和智能行为机制及其在机器中的体现的科学理解。AAAI旨在促进人工智能的研究和负责任的使用。AAAI还旨在提高公众对人工智能的理解,改善人工智能从业者的教学和培训,并就当前人工智能发展的重要性和潜力以及未来方向为研究规划者和资助者提供指导
近年的 AAAI 会议不乏中国学者的身影,据统计 AAAI 2018 接收的 910 多篇论文中有1/3以上一作是华人名字。此外,2019 年 AAAI 程序主席是南京大学周志华教授,另一位程序主席是密歇根大学教授 Pascal Van Hentenryck。
会议链接地址: NLPCC
NLPCC主要涉及的方向有:分词和命名实体识别、句法分析、语义分析、语篇分析、面向少数民族和低资源语言的NLP、自然语言处理的应用、数字出版、文档工程、OCR和字体计算、用于移动计算的NLP、机器翻译和多语言信息访问、NLP的机器学习、Web/文本挖掘与大数据、信息检索与提取、知识表示与获取、个性化与推荐、用于搜索和广告的NLP等
作为自然语言处理和汉语计算领域的国际领先会议,NLPCC最近被CCF确认为C类会议。它为来自学术界、工业界和政府的研究人员和实践者提供了一个主要论坛,以分享他们的想法、研究成果和经验,并促进他们在该领域的研究和技术创新。NLPCC历届会议分别在北京(2012)、重庆(2013)、深圳(2014)、南昌(2015)、昆明(2016)、大连(2017)、呼和浩特(2018)、甘肃(2019)成功举办。
ACL、EMNLP、NAACL 和 COLING 可以说是 NLP 领域的四大顶会。其中 ACL、EMNLP、NAACL都是一家的(均由 ACL 举办)。ACL 、AAAI是 CCF 推荐A类国际学术会议,EMNLP 和 COLING 是B类,NAACL 、CoNLL、NLPCC则是C类。
更多自然语言处理、pytorch相关知识,还请关注 AINLPer 公众号,极品干货即刻送达。
网络舆情分析技术有数据抓取,数据分析,数据实时监控。
实施舆情监控必须具备三个条件:1 监控的主体必须是有执法权的国家部门;2 被监控对象有危害社会危害国家的重大嫌疑;3 监控的程序必须合理合法,不得侵害个人隐私以及正常的商业利益,必须维护个人和团体的合法权益,监控的目的是维护国家的安全与稳定。
有关舆情监控可以联系上海蜜度。上海蜜度的新浪舆情通根据客户需求进行全网数据的获取、清洗、监测、分析、预警,同时通过数据挖掘与分析模型减少人为因素对客观数据分析结果的影响,保证舆情数据的及时性、准确性、全面性。 专业舆情服务团队则根据客户具体需求提供更加个性化的人工服务,包括:内容分拣、要闻推送、简报制作、专业报告定制等舆情服务
什么是自然语言处理如下:
自然语言处理技术有标记化、删除停止词、提取主干、单词嵌入、词频-逆文档频率、主题建模、情感分析。
1、标记化(Tokenization)
标记化指的是将文本切分为句子或单词,在此过程中,我们也会丢弃标点符号及多余的符号。
这个步骤并非看起来那么简单。举个例子:纽约(New York)一词被拆成了两个标记,但纽约是个代名词,在我们的分析中可能会很重要,因此最好只保留一个标记。在这个步骤中要注意这一点。
标记化的好处在于,会将文本转化为更易于转成原始数字的格式,更合适实际处理。这也是文本数据分析显而易见的第一步。
2、删除停止词(Stop Words Removal)
在标记化之后,下一步自然是删除停止词。这一步的目标与上一步类似,也是将文本数据转化为更容易处理的格式。这一步会删除英语中常见的介词,如“and”、“the”、“a”等。之后在分析数据时,我们就能消除干扰,专注于具有实际意义的单词了。
通过比对定义列表中的单词来执行停止词的删除非常轻松。要注意的重要问题是:并没有普天皆适的停止词列表。因此这个列表一般是从零开始创建,并针对所要处理的应用执行了定制。
自然语言处理有哪些应用:
1机器翻译2语音识别3情感分析4问答系统5自动摘要6聊天机器人7市场预测8文本分类9字符识别10拼写检查
拓展知识:
每个人都知道什么是翻译-我们将信息从一种语言翻译成另一种语言。当机器完成相同的操作时,我们要处理的是如何“机器”翻译。机器翻译背后的想法很简单-开发计算机算法以允许自动翻译而无需任何人工干预。最著名的应用程序可能是Google Translate。
Google翻译基于SMT-统计机器翻译。这不是单字逐字替换的工作。Google翻译会搜集尽可能多的文本,然后对数据进行处理来找到合适的翻译。这和我们人类很相似,当我们还是孩子的时候,我们从给词语赋予意思含义,到对这些词语的进行组合抽象和推断。
但并非所有闪光的都是金子,考虑到人类语言固有的模糊性和灵活性,机器翻译颇具挑战性。人类在认知过程中会对语言进行解释或理解,并在许多层面上进行翻译,而机器处理的只是数据、语言形式和结构,现在还不能做到深度理解语言含义。
语音识别技术已经存在了50多年了。半个世纪以来,科学家一直在解决这个问题,直到最近几十年,语音识别才取得了巨大的进步。
现在,我们拥有各种各样的语音识别软件程序,这些程序可以使我们解码人的语音。它的应用包括移动电话,家庭自动化,免提计算,虚拟辅助,视频游戏等。
总而言之,这项技术已被用来替代其他输入方式,例如以任何的键入,单击或选择文本。如今,语音识别已成为众多产品中的一个热门话题,例如语音助手(Cortana,Google Assistant,Siri等)。
每个人都知道这些应用不是那么完美。对于更复杂的任务,NLP和神经网络无法很好地应对其任务。但是谁知道呢,也许这个问题会随着时间很快就会解决?
自然语言处理(NLP,Natural Language Processing)是人工智能领域中的一个重要方向,主要研究人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理的底层任务由易到难大致可以分为词法分析、句法分析和语义分析。分词是词法分析(还包括词性标注和命名实体识别)中最基本的任务,也是众多NLP算法中必不可少的第一步,其切分准确与否往往与整体结果息息相关。
金融领域分词的难点
分词既简单又复杂。简单是因为分词的算法研究已经很成熟了,大部分的算法(如HMM分词、CRF分词)准确率都可以达到95%以上;复杂则是因为剩下的5%很难有突破,主要可以归结于三点:
▲粒度,即切分时的最小单位,不同应用对粒度的要求不一样,比如“融资融券”可以是一个词也可以是两个词
▲歧义,比如“恒生”一词,既可指恒生公司,又可指恒生指数
▲未登录词,即未出现在算法使用的词典中的词,比如不常见的专业金融术语,以及各种上市公司的名称
在金融领域中,分词也具有上述三个难点,并且在未登录词方面的难点更为突出,这是因为金融类词汇本来就多,再加上一些专有名词不仅有全称还有简称,这就进一步增大了难度。
在实际应用中,以上难点时常会造成分词效果欠佳,进而影响之后的任务。尤其是在一些金融业务中,有许多需要与用户交互的场景,某些用户会用口语化的词汇描述业务,如果分词错误会影响用户意图的解析,这对分词的准确性提出了更高的要求。因此在进行NLP上层应用开发时,需要对分词算法有一定的了解,从而在效果优化时有能力对分词器进行调整。接下来,我们介绍几种常用的分词算法及其应用在金融中的优劣。
几种常见的分词算法
分词算法根据其核心思想主要分为两种:
第一种是基于字典的分词,先把句子按照字典切分成词,再寻找词的最佳组合方式,包括最大匹配分词算法、最短路径分词算法、基于N-Gram model的分词算法等;
第二种是基于字的分词,即由字构词,先把句子分成一个个字,再将字组合成词,寻找最优的切分策略,同时也可以转化成序列标注问题,包括生成式模型分词算法、判别式模型分词算法、神经网络分词算法等。
最大匹配分词寻找最优组合的方式是将匹配到的最长词组合在一起,主要的思路是先将词典构造成一棵Trie树(也称为字典树),Trie树由词的公共前缀构成节点,降低了存储空间的同时可以提升查找效率。
最大匹配分词将句子与Trie树进行匹配,在匹配到根结点时由下一个字重新开始进行查找。比如正向(从左至右)匹配“他说的确实在理”,得出的结果为“他/说/的确/实在/理”。如果进行反向最大匹配,则为“他/说/的/确实/在理”。
这种方式虽然可以在O(n)时间对句子进行分词,但是只单向匹配太过绝对,尤其是金融这种词汇较丰富的场景,会出现例如“交易费/用”、“报价单/位”等情况,所以除非某些词的优先级很高,否则要尽量避免使用此算法。
最短路径分词算法首先将一句话中的所有词匹配出来,构成词图(有向无环图DAG),之后寻找从起始点到终点的最短路径作为最佳组合方式,例:
我们认为图中每个词的权重都是相等的,因此每条边的权重都为1。
在求解DAG图的最短路径问题时,总是要利用到一种性质:即两点之间的最短路径也包含了路径上其他顶点间的最短路径。比如S->A->B->E为S到E到最短路径,那S->A->B一定是S到B到最短路径,否则会存在一点C使得d(S->C->B)<d(S->A->B),那S到E的最短路径也会变为S->C->B->E,这就与假设矛盾了。利用上述的最优子结构性质,可以利用贪心算法或动态规划两种求解算法:
(1)基于Dijkstra算法求解最短路径,该算法适用于所有带权有向图,求解源节点到其他所有节点的最短路径,并可以求得全局最优解;
(2)N-最短路径分词算法,该方法是对Dijkstra算法的扩展,在每一步保存最短的N条路径,并记录这些路径上当前节点的前驱,在最后求得最优解时回溯得到最短路径。这种方法的准确率优于Dijkstra算法,但在时间和空间复杂度上都更大。
相较于最大匹配分词算法,最短路径分词算法更加灵活,可以更好地把词典中的词组合起来,能更好地解决有歧义的场景。比如上述“他说的确实在理”这句话,用最短路径算法的计算结果为“他/说/的/确实/在理”,避免了正向最大匹配的错误。但是对于词典中未存在的词基本没有识别能力,无法解决金融领域分词中的“未登录词”难点。
N-Gram(又称N元语法模型)是基于一个假设:第n个词出现与前n-1个词相关,而与其他任何词不相关。在此种假设下,可以简化词的条件概率,进而求解整个句子出现的概率。
现实中,常用词的出现频率或者概率肯定比罕见词要大。因此,可以将求解词图最短路径的问题转化为求解最大概率路径的问题,即分词结果为“最有可能的词的组合“。
计算词出现的概率,仅有词典是不够的,还需要充足的语料,所以分词任务已经从单纯的“算法”上升到了“建模”,即利用统计学方法结合大数据挖掘,对“语言”(句子出现的概率)进行建模。
我们将基于N-gram模型所统计出的概率分布应用到词图中,可以得到词的概率图。对该词图用最短路径分词算法求解最大概率的路径,即可得到分词结果。
相较于前两种分词算法,基于N-Gram model的分词算法对词频进行了统计建模,在切分有歧义的时候力求得到全局最优值,比如在切分方案“证券/自营/业务”和“证券/自/营业/务”中,统计出“证券/自营/业务”出现的概率更大,因此结果有更高的准确率。但也依然无法解决金融场景中未登录词的问题。
生成式模型主要有隐马尔可夫模型(HMM,Hidden Markov Model)、朴素贝叶斯分类等。HMM是常用的分词模型,基于Python的jieba分词器和基于Java的HanLP分词器都使用了HMM。
HMM模型认为在解决序列标注问题时存在两种序列,一种是观测序列,即人们显性观察到的句子,另一种是隐状态序列,即观测序列的标签。假设观测序列为X,隐状态序列是Y,则因果关系为Y->X。因此要得到标注结果Y,必须对X的概率、Y的概率、P(X|Y)进行计算,即建立P(X,Y)的概率分布模型。
HMM算法可以在一定程度上解决未登录词的问题,但生成式模型的准确率往往没有接下来要谈到的判别式模型高。
判别式模型主要有感知机、支持向量机(SVM,Support Vector Machine)、条件随机场(CRF,Conditional Random Field)、最大熵模型等,其中感知机模型和CRF模型是常用的分词模型。
(1)平均感知机分词算法
感知机是一种简单的二分类线性模型,通过构造超平面,将特征空间(输入空间)中的样本分为正负两类。通过组合,感知机也可以处理多分类问题。但由于每次迭代都会更新模型的所有权重,被误分类的样本会造成很大影响,因此采用平均的方法,在处理完一部分样本后对更新的权重进行平均。
(2)CRF分词算法
CRF可以看作一个无向图模型,假设给定的标注序列为Y,观测序列为X,CRF对条件概率P(Y|X)进行定义,而不是对联合概率建模。
平均感知机算法虽然速度快,但仍不够准确。适合一些对速度要求高、对准确性要求相对不那么高的场景。CRF分词算法可以说是目前最常用的分词、词性标注和实体识别算法,它对未登陆词也有很好的识别能力,是目前在速度、准确率以及未登录词识别上综合表现最突出的算法,也是我们目前所采用的解决方案,但速度会比感知机慢一些。
在NLP中,最常用的神经网络为循环神经网络(RNN,Recurrent Neural Network),它在处理变长输入和序列输入问题中有着巨大的优势。LSTM(Long Short-Term Memory,长短期记忆网络)为RNN变种的一种,在一定程度上解决了RNN在训练过程中梯度消失和梯度爆炸的问题。
目前对于序列标注任务,业内公认效果最好的模型是BiLSTM+CRF。相比于上述其它模型,双向循环神经网络BiLSTM,可以更好地编码当前字等上下文信息,并在最终增加CRF层,核心是用Viterbi算法进行解码,以得到全局最优解,避免B,S,E这种不可能的标记结果的出现,提高准确率。
神经网络分词虽然能在准确率、未登录词识别上有更好的表现,但RNN无法并行计算,在速度上没有优势,所以该算法通常在算法研究、句子精确解析等对速度要求不高的场景下使用。
分词作为NLP底层任务之一,既简单又重要,很多时候上层算法的错误都是由分词结果导致的。因此,对于底层实现的算法工程师,不仅需要深入理解分词算法,更需要懂得如何高效地实现和调试。
而对于上层应用的算法工程师,在实际分词时,需要根据业务场景有选择地应用上述算法,比如在搜索引擎对大规模网页进行内容解析时,对分词对速度要求大于精度,而在智能问答中由于句子较短,对分词的精度要求大于速度。
在人工智能出现之前,机器智能处理结构化的数据(例如 Excel 里的数据)。但是网络中大部分的数据都是非结构化的,例如:文章、、音频、视频…
在非结构数据中,文本的数量是最多的,他虽然没有和视频占用的空间大,但是他的信息量是最大的。
为了能够分析和利用这些文本信息,我们就需要利用 NLP 技术,让机器理解这些文本信息,并加以利用。
每种动物都有自己的语言,机器也是!
自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁,以实现人机交流的目的。
人类通过语言来交流,狗通过汪汪叫来交流。机器也有自己的交流方式,那就是数字信息。
不同的语言之间是无法沟通的,比如说人类就无法听懂狗叫,甚至不同语言的人类之间都无法直接交流,需要翻译才能交流。
而计算机更是如此,为了让计算机之间互相交流,人们让所有计算机都遵守一些规则,计算机的这些规则就是计算机之间的语言。
既然不同人类语言之间可以有翻译,那么人类和机器之间是否可以通过“翻译”的方式来直接交流呢?
NLP 就是人类和机器之间沟通的桥梁!
为什么是“自然语言”处理?
自然语言就是大家平时在生活中常用的表达方式,大家平时说的「讲人话」就是这个意思。
NLP 有2个核心的任务:
自然语言理解就是希望机器像人一样,具备正常人的语言理解能力,由于自然语言在理解上有很多难点(下面详细说明),所以 NLU 是至今还远不如人类的表现。
自然语言理解的5个难点:
想要深入了解NLU,可以看看这篇文章《一文看懂自然语言理解-NLU(基本概念+实际应用+3种实现方式)》
NLG 是为了跨越人类和机器之间的沟通鸿沟,将非语言格式的数据转换成人类可以理解的语言格式,如文章、报告等。
NLG 的6个步骤:
想要深入了解NLG,可以看看这篇文章《一文看懂自然语言生成 – NLG(6个实现步骤+3个典型应用)》
情感 分析
互联网上有大量的文本信息,这些信息想要表达的内容是五花八门的,但是他们抒发的 情感 是一致的:正面/积极的 – 负面/消极的。
通过 情感 分析,可以快速了解用户的舆情情况。
聊天机器人
过去只有 Siri、小冰这些机器人,大家使用的动力并不强,只是当做一个 娱乐 的方式。但是最近几年智能音箱的快速发展让大家感受到了聊天机器人的价值。
而且未来随着智能家居,智能 汽车 的发展,聊天机器人会有更大的使用价值。
语音识别
语音识别已经成为了全民级的引用,微信里可以语音转文字, 汽车 中使用导航可以直接说目的地,老年人使用输入法也可以直接语音而不用学习拼音…
机器翻译
目前的机器翻译准确率已经很高了,大家使用 Google 翻译完全可以看懂文章的大意。传统的人肉翻译未来很可能会失业。
NLP 可以使用传统的机器学习方法来处理,也可以使用深度学习的方法来处理。2 种不同的途径也对应着不同的处理步骤。详情如下:
方式 1:传统机器学习的 NLP 流程
方式 2:深度学习的 NLP 流程
英文 NLP 语料预处理的 6 个步骤
中文 NLP 语料预处理的 4 个步骤
自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁,以实现人机交流的目的。
NLP的2个核心任务:
NLP 的5个难点:
NLP 的4个典型应用:
NLP 的6个实现步骤:
版本
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。
自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。
维基百科版本
自然语言处理(NLP)是计算机科学,信息工程和人工智能的子领域,涉及计算机与人类(自然)语言之间的交互,特别是如何对计算机进行编程以处理和分析大量自然语言数据。自然语言处理中的挑战通常涉及语音识别,自然语言理解和自然语言生成。
自然语言处理的应用如下:
自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。
因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。
自然语言处理主要应用于机器翻译、舆情监测、自动摘要、观点提取、文本分类、问题回答、文本语义对比、语音识别、中文OCR等方面。
那么,让我们从自然语言处理的第一个应用开始。
搜索自动更正和自动完成
每当你在谷歌上搜索某个东西,在输入2-3个字母后,它会显示可能的搜索词。或者,如果你搜索一些有错别字的东西,它会更正它们,仍然会找到适合你的相关结果。是不是很神奇?
它是每个人每天都在使用的东西,但从来没有太多的关注它。这是自然语言处理的一个很好的应用,也是一个很好的例子。它影响世界上数百万人,包括你和我。
搜索自动完成和自动更正都有助于我们更有效地找到准确的结果。现在,其他许多公司也开始在他们的网站上使用这个功能,比如Facebook和Quora。
搜索自动完成和自动更正背后的驱动引擎是语言模型。
语言翻译
你有没有用谷歌翻译来找出不同语言中的某个词或短语?它将一段文字用一种语言翻译成另一种语言的容易程度是相当惊人的,对吧?它背后的技术是机器翻译。
在早期,机器翻译系统是基于词典和基于规则的系统,它们的成功率非常有限。
然而,由于神经网络领域的发展、海量数据的可用性和强大的机器,机器翻译在将文本从一种语言转换成另一种语言时变得相当精确。
如今,像Google翻译这样的工具可以很容易地将文本从一种语言转换成另一种语言。这些工具正在帮助许多人和企业打破语言障碍并取得成功。
社交媒体监控
如今,越来越多的人开始使用社交媒体发布他们对某一特定产品、政策或事项的看法。这些信息可能包含一些关于个人好恶的有用信息。
因此,分析这些非结构化数据有助于生成有价值的信息。自然语言处理在这里也起到了作用。
如今,公司使用各种NLP技术分析社交媒体帖子,了解客户对其产品的看法。公司还利用社交媒体监控来了解客户在使用产品时所面临的问题。
不仅仅是公司,甚至政府也用它来识别与国家安全相关的潜在威胁。
一、一般处理流程
语料获取 -> 文本预处理 -> 特征工程 -> 特征选择
1、语料获取
即需要处理的数据及用于模型训练的语料。
数据源可能来自网上爬取、资料积累、语料转换、OCR转换等,格式可能比较混乱。需要将url、时间、符号等无意义内容去除,留下质量相对较高的非结构化数据。
2、文本预处理
将含杂质、无序、不标准的自然语言文本转化为规则、易处理、标准的结构化文本。
①处理标点符号
可通过正则判定、现有工具(zhon包)等方式筛选清理标点符号。
②分词
将连续的自然语言文本,切分成具有语义合理性和完整性的词汇序列的过程。
一般看来英文较容易可通过空格符号分词,中文相对复杂,参考结巴分词、盘古分词、Ansj等工具。
常见的分词算法有:基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法和基于规则的分词方法,每种方法下面对应许多具体的算法。
③词性标注
为自然语言文本中的每个词汇赋予一个词性的过程,如名词、动词、副词等。可以把每个单词(和它周围的一些额外的单词用于上下文)输入预先训练的词性分类模型。
常用隐马尔科夫模型、N 元模型、决策树
④stop word
英文中含大量 a、the、and,中文含大量 的、是、了、啊,这些语气词、助词没有明显的实际意义,反而容易造成识别偏差,可适当进行过滤。
⑤词形还原
偏向于英文中,单数/复数,主动/被动,现在进行时/过去时/将来时等,还原为原型。
⑥统计词频
因为一些频率过高/过低的词是无效的,对模型帮助很小,还会被当做噪声,做个词频统计用于停用词表。
⑦给单词赋予id
给每一个单词一个id,用于构建词典,并将原来的句子替换成id的表现形式
⑧依存句法分析
通过分析句子中词与词之间的依存关系,从而捕捉到词语的句法结构信息(如主谓、动宾、定中等结构关系),并使用树状结构来表示句子的句法结构信息(如主谓宾、定状补等)。
3、特征工程
做完语料预处理之后,接下来需要考虑如何把分词之后的字和词语表示成计算机能够计算的类型。
如果要计算我们至少需要把中文分词的字符串转换成数字,确切的说应该是数学中的向量。有两种常用的表示模型分别是词袋模型和词向量。
①词向量
词向量是将字、词语转换成向量矩阵的计算模型。目前为止最常用的词表示方法是 One-hot,这种方法把每个词表示为一个很长的向量。
②词袋模型
即不考虑词语原本在句子中的顺序,直接将每一个词语或者符号统一放置在一个集合(如 list),然后按照计数的方式对出现的次数进行统计。统计词频这只是最基本的方式,TF-IDF 是词袋模型的一个经典用法。
常用的表示模型有:词袋模型(Bag of Word, BOW),比如:TF-IDF 算法;词向量,比如 one-hot 算法、word2vec 算法等。
4、特征选择
在文本挖掘相关问题中,特征工程也是必不可少的。在一个实际问题中,构造好的特征向量,是要选择合适的、表达能力强的特征。
举个自然语言处理中的例子来说,我们想衡量like这个词的极性(正向情感还是负向情感)。我们可以预先挑选一些正向情感的词,比如good。然后我们算like跟good的PMI,用到点互信息PMI这个指标来衡量两个事物之间的相关性。
特征选择是一个很有挑战的过程,更多的依赖于经验和专业知识,并且有很多现成的算法来进行特征的选择。目前,常见的特征选择方法主要有 DF、 MI、 IG、 CHI、WLLR、WFO 六种。
5、模型训练
在特征向量选择好了以后,接下来要做的事情是根据应用需求来训练模型,我们使用不同的模型,传统的有监督和无监督等机器学习模型,如 KNN、SVM、Naive Bayes、决策树、GBDT、K-means 等模型;深度学习模型比如 CNN、RNN、LSTM、 Seq2Seq、FastText、TextCNN 等。这些模型在分类、聚类、神经序列、情感分析等应用中都会用到。
当选择好模型后,则进行模型训练,其中包括了模型微调等。在模型训练的过程中要注意由于在训练集上表现很好,但在测试集上表现很差的过拟合问题以及模型不能很好地拟合数据的欠拟合问题。同时,也要防止出现梯度消失和梯度爆炸问题。
6、模型评估
在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。模型的评价指标主要有:错误率、精准度、准确率、召回率、F1 值、ROC 曲线、AUC 曲线等。
7、投产上线
模型的投产上线方式主要有两种:一种是线下训练模型,然后将模型进行线上部署提供服务;另一种是在线训练模型,在线训练完成后将模型 pickle 持久化,提供对外服务。
三、NLP应用方向
1、命名实体识别
指识别自然语言文本中具有特定意义的实体,主要包括人名、地名、机构名、时间日期等。
传统机器学习算法主要有HMM和CRF,深度学习常用QRNN、LSTM,当前主流的是基于bert的NER。
2、情感分析
文本情感分析和观点挖掘(Sentiment Analysis),又称意见挖掘(Opinion Mining)是自然语言处理领域的一个重要研究方向。简单而言,是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。
情感分析技术可以分为两类,一类是基于机器学习的方法,通过大量有标注、无标注的主观语料,使用统计机器学习算法,通过提取特征,进行文本情感分析。另一类是基于情感词典的方法,根据情感词典所提供的词的情感极性(正向、负向),从而进行不同粒度的(词语、短语、属性、句子、篇章)下的文本情感分析。
3、文章标签
文章标签是利用机器学习算法,对文章进行文字和语义的分析后,提取出若干个重要的词或者短语(关键短语)。关键短语是NLP基础的算法模块,有了关键短语,能为后续的搜索、推荐等更高级的应用提供有力的抓手。
适用场景:1、个性化推荐:通过对文章的标签计算,结合用户画像,精准的对用户进行个性化推荐;2、话题聚合:根据文章计算的标签,聚合相同标签的文章,便于用户对同一话题的文章进行全方位的信息阅读;3、搜索:使用中心词可以对query进行相似度计算、聚类、改写等,可以用于搜索相关性计算。
4、案件串并
①信息抽取
运用实体抽取、关系抽取,从案情中抽取关键信息,如从警情中可以抽取报警人项目、报警人电话、案发地址等信息
②实体对齐
相同的实体在不同的案情中会有不同的表述,会给串并带来困难。可针对地址、人名、组织名进行对齐处理。
③文本聚类
对于关键片段类信息,无法像实体那样对齐,需要借助文本聚类技术进行关联。
④构建图谱
将信息抽取结果存入图谱。每个警情id对应一个节点,实体、属性、关键片段作为节点,对齐的实体、同一类的文本存为同一个节点。
除了来自于从警情中抽取的信息,还可以将其他警务系统中存在的结构化数据导入(如来自户籍信息的人物关系),从而丰富图谱。
⑤图谱检索
完成以上工作,即完成了案件串并的必要基础建设,接下来通过图谱的查询功能自动完成案件的串并。首先需要设定串并的条件,案件串并的条件在警务实战中已有很多的积累,如“具有相似的作案手段”,又如“相似作案手段,嫌疑人有共同联系人”,只需要将这些条件用图谱查询语言表达出来。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)