NLP是什么

而在计算机领域, NLP(Natural Language Processing),也就是人们常说的「自然语言处理」,就是研究如何让计算机读懂人类语言。

这包括,既要能让计算机理解自然语言文本的意义,也能以自然语言文本来表达给定的深层的意图、思想等。

所以,这项技术往往体现了人工智能的最高任务与境界,也就是说,只有当计算机具备了理解自然语言的能力时,机器才算实现了真正的智能。

然而,这一切远非人们想象的那么简单。 根本原因就在于自然语言文本和对话的各个层次上广泛存在各种各样的歧义性或多义性。

并且,由于中文词语是由汉字千变万化组成的,所以中文领域的「自然语言处理」显得尤为复杂。

专注于「自然语言处理」领域多年, 深耕「语义分析」技术, NLP 的技术和服务一直伴随着 ImageQ 的发展而不断进步。

从「中文分词」、「词云画像」、「词性分析」到「自动摘要」、「关系挖掘」、「情感分析」、「知识图谱」等,NLP 技术已不再单纯的停留在概念层面, 而是逐步渗透并成功应用在 ImageQ 服务的各个垂直领域中。

为什么需要NLP

日常生活中,我们总会碰到一些不知道怎么读的生僻字, 这时往往就会去搜索引擎搜索,比如“ 4 个又念什么”。

我们发现,搜索结果一定是向你展示“ 4 个又组成的字”是怎样的,并一旁附上拼音及注释等,而不是“ 4 个又念什么”这几个孤零零的词或者其表面的匹配结果。

▲搜索引擎相关结果展示

这其实就是NLP技术的一个体现了。通过这项技术,人们不必花费大量心力去学习和了解难懂的计算机语言,而是用自己最习惯的语言来使用计算机,并进一步了解这背后的意义。

NLP 究竟能用来干什么

那 NLP 究竟能干些什么呢? 我们类比小孩子的学习之路,并结合 ImageQ 平台开放的几项典型 NLP 技术来进行一下说明:

  • 幼儿园时期

这个时期的我们,接收到的还只是单个的词、或短或长的句子,我们不了解这其中的动词、名词有哪些,搞不懂当中的主体又是谁,也尚不清楚标点符号、分隔符是什么意思,只是单纯的你说一句,我学一句了,小脑袋里充斥着各样的东西,但更多是杂乱的,少有章法可言的。

好比我们身处的信息的海洋,每天,各类信息和数据不断涌现,尚未处理消化,新一轮的信息轰炸又随即展开,而后不断堆积,再涌现,再堆积......

到最后采集来的也都是杂乱的,断层的,一些有价值的内容也往往在这个过程中渐渐流失了。

  • 小学时期

到了小学,我们能学习到的内容慢慢多了起来, 我们知道了“摘”是动词,“花”是名词, “和”是连词等等,清楚标点符号有“,”“。”“?”等,也学会了如何分词、断句等等。

对应在NLP领域,则是「中文分词」、「词性分析」等层面的展现了。

■中文分词

「中文自动分词」处于中文自然语言处理的底层,是公认的中文信息处理的第一道工序,扮演着重要的角色, 而单词切分又是理解语言的最初的一道工序。

良好的分词效果能为机器理解提供基础,也为人们做出更好、更正确的决策提供一定依据。

■词性分析

在分词的基础之上,我们为每个分词结果中的单词单独标注一个正确的词性,确定每个词是动词、名词、形容词或其他。

▲词性分析

同一个词性在不同场景下所代表的具体属性也会不一样。比如“刀”用于日常生活中会是烹饪工具,而放在公安事件中,则又可能是一种作案工具了。

通过领先的具有自主知识产权的专利算法——基于BI-LSTM和CRF的文本序列标注系统及方法,运用语言学逻辑解构文字规律,并结合「深度学习」算法优化判断字词之间的语义规则,相较于传统自然语言处理系统,ImageQ 支持更精准的语义识别。

▲相关技术实现流程

  • 中学时期

这个时候,我们的学习有了更广泛的涉猎,也开始要学着提炼文章的中心思想, 观点倾向,分析个中人物、事件关系等等。

这又涉及到自然语言处理中的「依存句法」、「自动摘要」、「情感评分」层级的内容。我们主要讲一下「情感评分」。

「情感评分」即文本倾向性分析,依托「深度学习」、「机器学习」等语义理解技术,能快速判别大众对某一事件或产品持积极、中性还是消极态度。

比如我们给定「十九大」报告,其呈现出来情感评分远远大于 1,是积极的正面情绪为主。

▲「十九大」报告的情绪评分

具有自主知识产权的 ImageQ 语义分析引擎提供行业领先的 ImageQNLP 和 ImageQMind 语义分析技术, 基于大数据词库辅助和大量的行业语料库,通过「句法分析」和「机器学习」等方法实现智能语义分析。

在特定场景下的正负面情感分析准确度达到 85% ~ 90% 。经过行业数据标注学习后准确率可达 90% ~ 95%。

  • 大学时期

通过积累,我们已逐步形成自有的思维方式和知识体系, 在探索新技术的同时,也开始试着将所学应用到实际,解决某些现实问题。

在「媒体」,「政府」、「公安」等领域多年的积极探索,ImageQ 沉淀了不少技术,积累了大量的行业语料,词库和知识库,同时也汇聚了众多国内外优秀的专家团队协同合作,共同助力为行业客户解决其最重要最实际的问题,大量应用场景和案例也都获得客户的高度认可。

虽然现阶段针对一定应用, 具有相当「自然语言处理」能力的平台已经出现,并商品化,甚至开始产业化。但对「自然语言处理」的探索, 这还仍未称得上是终点。

不过可以预见的是,不论是探究自然本质还是付诸实际应用, NLP 技术在将来必定会有令人期待的惊喜和异常快速的发展。

NLP是什么的更多相关文章

  1. 【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理

    干货!详述Python NLTK下如何使用stanford NLP工具包 作者:白宁超 2016年11月6日19:28:43 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的 ...

  2. 【NLP】十分钟快览自然语言处理学习总结

    十分钟学习自然语言处理概述 作者:白宁超 2016年9月23日00:24:12 摘要:近来自然语言处理行业发展朝气蓬勃,市场应用广泛.笔者学习以来写了不少文章,文章深度层次不一,今天因为某种需要,将文 ...

  3. 【NLP】前戏:一起走进条件随机场(一)

    前戏:一起走进条件随机场 作者:白宁超 2016年8月2日13:59:46 [摘要]:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果.在中文分词.中文人名识别和歧义消解等任务中都有 ...

  4. 【NLP】蓦然回首:谈谈学习模型的评估系列文章(一)

    统计角度窥视模型概念 作者:白宁超 2016年7月18日17:18:43 摘要:写本文的初衷源于基于HMM模型序列标注的一个实验,实验完成之后,迫切想知道采用的序列标注模型的好坏,有哪些指标可以度量. ...

  5. 【NLP】Python NLTK处理原始文本

    Python NLTK 处理原始文本 作者:白宁超 2016年11月8日22:45:44 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集的大量公开 ...

  6. 【NLP】Python NLTK获取文本语料和词汇资源

    Python NLTK 获取文本语料和词汇资源 作者:白宁超 2016年11月7日13:15:24 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集 ...

  7. NLP点滴——文本相似度

    [TOC] 前言 在自然语言处理过程中,经常会涉及到如何度量两个文本之间的相似性,我们都知道文本是一种高维的语义空间,如何对其进行抽象分解,从而能够站在数学角度去量化其相似性.而有了文本之间相似性的度 ...

  8. 【NLP】Python NLTK 走进大秦帝国

    Python NLTK 走进大秦帝国 作者:白宁超 2016年10月17日18:54:10 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集的大量公 ...

  9. 【NLP】基于自然语言处理角度谈谈CRF(二)

    基于自然语言处理角度谈谈CRF 作者:白宁超 2016年8月2日21:25:35 [摘要]:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果.在中文分词.中文人名识别和歧义消解等任务 ...

  10. 【NLP】基于机器学习角度谈谈CRF(三)

    基于机器学习角度谈谈CRF 作者:白宁超 2016年8月3日08:39:14 [摘要]:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果.在中文分词.中文人名识别和歧义消解等任务中都 ...

随机推荐

  1. webstorm 2018 激活破解方法大全

    转载自:https://blog.csdn.net/voke_/article/details/76418116 方法一:(更新时间:2018/4/8)v3.3 注册时,在打开的License Act ...

  2. Java 关键字 速查表

    访问控制:private 私有的protected 受保护的public 公共的 类.方法和变量修饰符abstract 声明抽象class 类extends 扩允,继承final 终极,不可改变的im ...

  3. [20190130]删除tab$记录的恢复2.txt

    [20190130]删除tab$记录的恢复2.txt --//前面链接写好了脚本,开始测试删除后的恢复.千万不要在生产系统做这样的测试!!--//参考链接:http://blog.itpub.net/ ...

  4. c#判断两个对象和对象中的属性是否相同(以及记录对象中的哪些字段,和详细的改变情况)

    当前项目需要记录变更记录,即用户在进行编辑后,将变更操作记录下来.但是数据没有发生变化,则不记录. 代码1:(仅仅返回是否变化的标识) /// <summary> /// 反射对比实体属性 ...

  5. 使用concurrent.futures模块中的线程池与进程池

    使用concurrent.futures模块中的线程池与进程池 线程池与进程池 以线程池举例,系统使用多线程方式运行时,会产生大量的线程创建与销毁,创建与销毁必定会带来一定的消耗,甚至导致系统资源的崩 ...

  6. 在Django中接收文件并存储

    首先是一个views函数的例子 def get_user_profiles(request): if request.method == 'POST': myFile = request.FILES. ...

  7. beta版本合集

    beta版本合集 [<p><span style="text-align: center; padding-bottom: 6px; background-color: # ...

  8. socket 如何判断远端服务器的连接状态?连接断开,需重连

    fluent-logger-java is a Java library, to record events via Fluentd, from Java application. https://g ...

  9. 【Java多线程通信】syncrhoized下wait()/notify()与ReentrantLock下condition的用法比较

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6556925.html  一:syncrhoized使用同一把锁的多个线程用通信实现执行顺序的调度 我们知道,使 ...

  10. mysql 数据库基础命令

    数据库命令: 进入 mysql 库; use mysql; 查看用户权限 select * from user where user='root' \G; 创建数据库 create database ...