智子社区顾问白硕:人工智能的诗与远方,一文读懂NLP起源、流派和技术

自然语言处理NLP之终极指南(Pytho… 理解和使用自然语言处理之终极指南(Python编码)(经典收藏版12k字,附数据简化筹员2月17日Fri新闻) 秦陇纪10译编 12k字:理解和使用自然语言处理之终极指南(Python编码)7k字;附数据简化DataSimp筹收技术简历414字、2月17日Fri新闻四则4k字。欢迎加入共建“数据简化DataSimp”学会及社区,关注、收藏、转发新媒体“数据简化DataSimp、科学Scien 阅读详情

人工智能的诗与远方在不久的将来遇上能够创造无限可能的区块链是什么样的呢?人工智能与区块链结合的智子社区正在慢慢构筑这个生态,智子社区顾问白硕老师又是怎么样看待的呢?

自然语言是人类文明传承和日常交流所使用的语言。狭义的自然语言处理是使用计算机来完成以自然语言为载体的非结构化信息为对象的各类信息处理任务,比如文本的理解、分类、摘要、信息抽取、知识问答、生成等的技术。进一步延展场景,广义的自然语言处理技术也包含自然语言的非数字形态(如语音、文字、手语等)与数字形态之间的双向转换(识别与合成)环节。鉴于自然语言丰富地表现了人类的认知、情感和意志,潜在地使用了大量常识和大数据,自身在算法和模型上也多采用各种启发式线索,目前一般均把自然语言处理作为人工智能的一个分支。最近,在人工智能领域出现重要进展、人工智能应用受到各行各业热切期待,自然语言处理技术也水涨船高,受到普遍的重视。本文对自然语言处理技术做一 “入门级的” 初步介绍,有进一步兴趣者可参阅专业资料。

NLP 的源与流

自然语言处理作为人工智能的一个分支,其源头和人工智能一样,都出自于计算机科学的祖师爷级人物——阿兰 · 图灵。图灵在提出图灵测试的时候,就把使用自然语言与人进行对话可以乱真的能力作为判别一个机器系统有无智能的标准。在图灵的时代,让机器 “善解人意” 是人工智能的诗与远方,在当时的技术条件下还看不到实现的希望。

使用简单直接的词袋技术和模板匹配技术,是处理自然语言早期尝试的开始,冲在最前面的是机器翻译和人机对话。由于没有掌握自然语言的要领,早期的机器翻译和人机对话系统总体上表现稚嫩,充其量只能是玩具系统。

数据库技术和专家系统技术都具有较为复杂的查询和使用逻辑,其内部表示和人类用户所熟悉的自然语言表示具有较大的差异,为弥补这方面的人机差距,实现更加友好的人机互动,利用自然语言处理技术为数据库和专家系统等提供自然语言接口是早期自然语言处理技术发展的动力之一。但是由于图形人机界面技术的发展,冲淡了对自然语言接口的需求,加之自然语言处理技术本身还要攻克大量难关,数据库和专家系统的自然语言接口直到多年以后的 Watson 系统才得以展现其威力,在此之前只是一个不太被看好的 “弃儿”。

随着语言学领域在乔姆斯基的倡导下发生了天翻地覆的革命,形式化方法被引入语言学,用于刻画自然语言的句法结构,形式语言理论蓬勃发展,形成了乔姆斯基形式语言理论框架体系。在这个体系下,语言被分为 0 型(短语结构语法)、1 型(上下文相关语法)、2 型(上下文无关语法)和 3 型(正则语法),它们的成员判定问题复杂度依次为半可判定、NP 完全、多项式和线性。对于各种自然语言来说,大体上占到 2 型的很少但很不规则的一部分,但部分现象呈现上下文相关性,会在局部对 2 型有所突破。这就是笔者所说的 “毛毛虫” 现象。

按照当代语言学理论,自然语言分符号、词法、句法、语义和语用五个层面。在符号层面,有语音、文字、手语和电子输入。在词法层面,有词典、词性标注、词的形态变化、构词法等。在句法层面,有词对词的关联 / 依存关系,以及短语对短语的结合 / 拼接关系。在语义层面,有语义标签与它们在现实 / 想象世界中的所指之间的映射关系和语义标签之间的角色指派关系。在语用层面,有语言成分与语境之间、字面意义和言外之意之间的复杂互动关系。一般称的 “语法”,包含了词法和句法两个层面。

针对自然语言的特性,在形式语言理论框架下建立不同的模型,形成了自然语言处理的诸多形式化机制,基于规则的形式化机制包括 LFG(词汇功能语法)、GPSG(广义短语结构语法)、HPSG(中心词驱动的短语结构语法)、DG(依存语法)、CG(范畴语法)、CCG(组合范畴语法)等,基于统计的形式化机制包括 HMM(隐马尔科夫模型)、PCFG(概率上下文无关语法)等,基于联结的形式化机制包括 CNN(卷积神经网络)、RNN(循环神经网络)、LSTM(长短时记忆模型)等。具有交叉学科性质的 “计算语言学”,就是自然语言处理技术在模型、算法级的研究领域的集中体现。

实际上,鉴于欧氏空间具有良好和丰富的数学工具可用,语言 / 文本的向量化努力是跨越统计和联结两大阵营的。基于统计的向量化方法是隐性语义标引(LSI)模型,基于联结的向量化方法是词嵌入(Word embedding)模型,前者具有保距离特性,后者具有保运算特性而且可与任务派生的优化目标深度耦合。目前,嵌入技术已经不局限于词,也可以整结构、整句嵌入了。但是总体说来,当前技术能够大规模处理的,仍然只是具有 “浅层句法” 或者 “简单标记” 的 NLP 任务。更复杂语言现象的理解、更复杂语义关系的抽取,仍然任重道远。

随着日本五代机计划的失败,第二波人工智能浪潮消退,互联网在 WWW 的出现后迅速崛起,NLP 技术穿上了互联网马甲,搭上了搜索引擎的班车,成为了一门互联网应用技术。在无比简单的搜索框背后,是各种 NLP 技术的组合体,文本的分类、聚类、摘要、协同过滤、信息抽取、机器翻译…… 可以说应有尽有。这段时期之所以 NLP 既远离 “人工智能” 的招牌,也远离 “计算语言学” 招牌,是因为人工智能招牌在当时并无正面贡献,而语言学家在经验主义范式下不得施展甚至每每成为负担。而互联网这棵大树却足够容纳 NLP 的一系列成果。大型互联网公司在机器翻译领域的出色表现很好地证明了这一点。

随着深度学习技术以摧枯拉朽之势横扫语音、图像识别和浅层自然语言处理各类任务,知识图谱技术为语义知识处理走向各行各业做好技术栈和工具箱的铺垫,人工智能招牌强势的王者归来已经在所难免,自然语言处理技术也自然地成为了这王者头上的王冠。这是因为,语音和图像识别大局已定。自然语言处理已经成为一种应用赋能技术,随着实体知识库的构建、知识抽取和自动写作在特定领域的实用化和对话机器人从对接语料到对接知识图谱的换代,正通过新一代人工智能创新创业团队,全面渗透到人工智能应用的各个角落。自然语言处理从浅层到深层面临范式转换,还处在对接情感计算与常识计算的战略性要地的关键位置。谁能拔得头筹,谁就能在当下的人工智能 “军备竞赛” 中处于有利地位。

回顾 NLP 技术的发展历史,可以清晰地看到几个流派各领风骚数十年的沿革和范式转换的踪影。从上世纪五六十年代到八十年代,是 “理性主义” 学派盛行的年代,是基于规则的范式主导的年代。上世纪九十年代开始,“经验主义”学派开始反超,基于统计的范式繁荣了近二十年,终于在 2010 年前后被同为 “经验主义” 学派的基于联结的范式所全面取代。这是深度学习算法显现的巨大威力,也是数据和算力积累到临界点的一次综合性的爆发。目前,基于联结的范式风头正盛,但 “深度” 自然语言处理的需求压力之下,“理性主义”学派以某种方式再度回归,实现 “波粒二象性” 的有机结合,也是可期待的。

分词与词法

词法(Lexicon)是自然语言处理的基础层次。西方语言文字多采用空格作为词间间隔的标记,相对易认易解析。汉语、日语等东方语言多采用无空格的词语连写格式,因此需要一个额外的环节,就是分词。

按给定词典进行分词,是中文自然语言处理的经典研究方向,现已有相对成熟的算法和技术。并不是说这样的算法和技术可以独自在词法层面解决所有分词难题,而是说靠这样的技术可以大体上保持一个较高的水准,还有一些分词有歧义的场合,需要结合更大的上下文背景、甚至结合句法分析、语义分析等后续工序的逆向选择,才能够搞定。

分词歧义分成两类:一类叫做 “组合歧义”,另一类叫做“交叉歧义”。“我家家门口的小河很难过” 当中的 “难过” 是一个词 “难过” 还是两个词 “难 / 过”,这是组合歧义。“上交所有非法所得” 当中的 “上交所有” 是“上交 / 所有”还是“上交所 / 有”,这是交叉歧义。这类歧义现象,有的通过上下文句法、语义关系甚至词语的统计分布特征就很容易排除,有的则需动用更高深的情感和常识机制才能排除,这些都是“伪歧义”。除了伪歧义之外还有真歧义,就是必须在具体语境中才能明确的歧义。

依照词典进行分词并不是词法层面唯一的分析任务。其他任务也很实际并且同样具有挑战性。下面我们依次列出除分词之外的词法分析任务,并简述其工作目标和技术难点。

 

词性标注(POS tagging)。给分出来的词做词性标注,一方面是对那些理论上有多种标注可能、但特定上下文中只有唯一标注可能的词通过标注来消除歧义(比如 “指挥” 既可以是名词又可以是动词;同为名词的“指挥”,既可以指事,又可以指人),另一方面,标注之间的连接和共现关系可以更好地帮助解决分词问题。所以,加上词性标注的分词过程和结果,不仅更有利于后续工序(构词法和句法分析)的处理,也使词法分析这道工序本身获得更多的启发式信心。这样一来,采用何种标注体系,就成了技术路线选择躲不过去的坎儿。选择的依据,一是取决于应用场景的实际区分度需求,二是取决于开发者的语言学理念。业界比较常用的标注体系有北大标注体系和宾州树库标注体系等可供选择,但这并不排除开发者还可以根据实际情况自创其他标注体系。

命名实体识别(NER)。命名实体识别既是自然语言处理当中相对独立的专项任务,也是自然语言深度解析所不可缺少的实际前置步骤。人名、地名、组织机构名、化合物名、药名、金融交易标的名称等等,都有各自的命名体系,而且有很强的专义性(one sense per context)。有些命名实体采取了缩略简称的形式。命名实体识别和词典分词 / 词性标注之间有复杂的协同关系。我们见到有的系统把二者分离处置,各干各的,让后续工序无所适从,这种缺陷,值得引以为戒。

形态变化还原(STEMMING)。西方语言大多属屈折型,词的形态变化比较发达,名词的性、数、格和动词的时态、语态往往需要借助各种形态变化来表示。某些东方语言属粘着型,用名词加粘着语素表示格,用动词的元音谐变表示时态、语态信息。与这些变化手段相应的还原工作,都是对应语言词法分析的应有之义。汉语是孤立型语言,总体上说词的形态变化很不发达,但也有以重叠手段为主的较为初级的形态变化(AA、ABB、AABB、ABAB、A 一 A、A 不 A、A 不 AB 等),很多变化具有能产性,不宜罗列,于是也需要相应的还原。此外,汉语中还有非常独特的 “离合词” 现象。比如 “这种亏我们可不能再吃了” 当中的 “亏” 和“吃”,就是 “吃亏” 这个词的离合形态,中间既被其他词语穿插,又被改变了语序。离合词的识别和还原,既需要词典绑定,又需要借助句法的手段将拆开来的词素精准定位,是比较高级的词法分析技巧。

构词法(Compound-wordformation)。合成词是在词典词基础之上根据一定的机制形成的具有内部 “微结构” 的词。这种词往往是有规律可循的,而且具有相当的能产性,用词典化的方法难以将其穷尽。构词法是以类似句法的手段处理合成词,当然,只是其微结构 “类似句法” 而已,构词法中仍然有许多体现词法特点的因素,比如韵律、倒装等。构词法和句法也许并没有特别严格的界限,中间存在一干灰色地带。在这些灰色的地带,你即可以说是句法反作用于词法,也可以说这本身就是词法内部的事情。在另一个极端,就是压根儿不依赖词典,直接把构词法的触角伸到“字”,由字根据构词法生成一切词典词和非词典的合成词。这些探索,孤立看很难断定成败得失,需要结合应用目标和工程约束才好评判。

由此可见,词法分析领域绝非基于词典的分词这么简单,这个领域还有大量有待攻克的难关,有些难题已经与句法分析搅在一起,非统筹考虑是无法单独推进的。

句法分析

句法(syntax)和词法合称语法(grammar)。语法这个层次要不要存在,一直是引起很热烈争论的话题。如果说符号(说了什么)是起点、语义(谁和谁有什么关系)是终极的话,那么语法就是中继站。如果说符号在一楼、语义在三楼的话,那么语法(谁和谁有关系)就在二楼。从一楼到三楼有两种走法:一种是从一楼直接搭梯子上三楼,这叫 “意合” 派,实际上很多工程性的 NLP 系统采用了这一派,语言学界也有比较极端的人在学术上主张这种观点;另一种是从一楼上到二楼,在二楼拿到一些 “导航” 信息,然后再从二楼再上三楼直达目标,这叫 “结构制导” 派。

很显然,如果意合派能够达到满意的语义分析效果,那么语法就是多余的。如果意合派只能达到表浅的语义分析效果,那么就它只是一种利用了浅层分析技术的阶段性技术路线而已,随着技术的发展和应用的推动,必将让位给充分利用结构信息、更具分析深度的新一代技术路线。真正把 “结构制导” 这样的思路在工程上贯彻到底且能付诸应用的系统少之又少,但这极可能是技术门槛高的原因,而不是技术路线走不通的原因,对此我们后文还会有进一步的讨论。目前看来,“意合”的技术瓶颈是很明显的,比如对机器人说 “你给我讲个故事吧!” 和“我给你讲个故事吧!”,如果没有对语序结构的深究,仅靠基于词袋和模板来处理,混同的可能性更大。

如果说以词袋和模板为基础的 “浅层” 句法分析方法具有局限的话,那么,可以一用的 “深层” 句法分析方法。目前有哪些呢?概括说起来,传统的 “主流” 结构表示方法有三种:CFG(上下文无关语法)、DG(依存语法)、CCG(组合范畴语法),新潮的结构表示方法只有一种,就是字符串到向量空间的嵌入(seq2seq)。

上下文无关语法是比较经典的模型,着眼点在邻接成分之间的拼接(concatenation)关系。它的最大好处是直观,适宜于描述由小的成分逐层拼接成大的成分,自然形成树型层次结构。由于模型过于宽泛,其中有大量递归现象是实际的自然语言中不会发生的,但通用的分析算法却为这种不会发生的递归现象付出了很多无谓的代价。另外,上下文无关语法不能直接处理个体词语之间的关联(association)关系。一旦要处理关联关系,就必须通过语言的语言的向心结构,把复杂成分用中心词语作代表,把中心词语的关联关系和邻接成分之间的拼接关系统一起来。但在有些语言如汉语中,含有大量非中心词参与对外关联关系的 “交叉” 现象,不可能简单地实现关联关系和拼接关系的统一。

依存语法与上下文无关语法相反,处理的着眼点在个体词语之间点对点发生的关联关系。彻底的依存语法可以打破树形结构的羁绊,把所有实际发生的关联关系都揭示出来。而邻接成分之间的拼接关系,则可以通过关联关系的辖域间接得出。故此,依存语法有更大的灵活性和简洁性。但适宜于依存语法的分析手段还没有上下文无关语法那么丰富。尽管如此,依存语法还是成为近期内句法分析领域超过上下文无关语法的首选模型。

组合范畴语法是在范畴语法基础之上发展起来的,是一种秉持了比较严谨风格的形式化数学演算体系。它把语言成分之间的结合处理为句法范畴对象之间的 “约分” 运算。这种形式化演算体系见诸实用的例子很难找到,但其中很多闪光的思想可以借鉴。特别是词负载结构、无需规则的思想,语言成分自带对外结合的 “插座” 和“插头”的思想,如能发扬光大,扬长弃短,说不定将会有令人惊喜的前景。

字符串到向量空间的嵌入,理论上可以隐性地容纳较为复杂的语言结构,但在深度学习语境下,这些复杂的语言结构转化为向量后,很难显性地予以展现和解释,这对于自然语言处理的工程化实现和根据面向客户的投诉定点纠错、敏捷修复的要求,都是很难做到的。此外,如果应用任务是直接把文本映射为可简单标注的答案,比如是非题或者选择题的答案,或者可轻松获取的答案,比如双语对齐语料,向量嵌入是有优势的;但如果应用任务是复杂知识表示结构的抽取,标注的复杂性和专业性会急剧上升,标注成本会高到得不偿失。

无论使用什么样的句法分析技术,有一点必须明确,就是句法本身是不自足的。细粒度描述的句法不具备鲁棒性和可行性,而粗粒度描述的句法往往必然带有伪歧义。比如 “馒头吃光了” 只有一个理解是符合常识的,即 “馒头” 作为受事,被某个施事 “吃光” 了。另一个理解,即 “馒头” 作为施事,把 “光” 作为受事 “吃” 了,是不符合常识的,因为一个无生命的食品,不会去吃一种有影无形的物理对象。“这碗猪都不喝的汤”,虽然其中的数量短语 “这碗” 和名词 “猪” 之间在句法上是可结合的,但它们之间并不不具备统计上显著的搭配性或者说相谐性。这说明,语义和统计可以反过来作用于句法分析,帮助句法分析环节排除伪歧义。套用量子力学的比喻,如果说正向的结构制导作用好比是 “粒子” 的话,这种基于语义或大数据统计的逆向筛选的作用就好比是“波”,二者恰好构成一种完美的“波粒二象性”。

最后我们要说明,即使语言的结构表示模型是基于理性主义(符号或规则)路线的,但语言解析过程本身仍可以采用基于统计的或基于联结的方法。比如 PCFG 就是基于规则的结构表示与基于统计的过程控制的有机结合。

词典化(免规则)、单子性(免复杂层次)、局域化(免跨成分关联)和鲁棒性(对灵活语序和修辞性失配的适应性),是自然语言句法分析技术未来的发展趋势。限于篇幅,这里不展开论述了。

语义表示与理解

如果说自然语言处理是人工智能的王冠,那么语义表示和理解技术就是王冠上的明珠。目前人工智能领域的发展态势,在语义这一块已经到了重兵集结的程度。句法分析技术的进步,使得我们有希望从结构和算法方向逼近更加精准的语义解析;应用领域数据转化为知识的实践方兴未艾,知识图谱的技术栈里算力充足工具齐全,使得我们有希望从表示的方向为语义架桥铺路添砖加瓦。精彩纷呈的明珠争夺战,可以说是万事俱备,一触即发。

 

语义长什么样?下面我们以 “今年 A 公司营业额比去年增长 20%” 这句话为例,看看它涉及了哪些语义表示与描述。对它进行解析,可产生如下一些结果:A 公司是 “公司” 这个类型的一个实例,它有一个属性叫做 “营业额”,营业额对应不同的“期间” 标签,有的不同的取值实例。“增长”是一个事件,它涉及基准、当事和比率三个角色,这三个角色都是数学量。基准和当事都是金额,比率是纯量。等等。

有心人很快会发现,这就是知识图谱。

的确,知识图谱就是当代最通用的语义知识表示形式化框架。它的节点就是语义学里面说的 “符号根基(symbol grounding)”,即语言符号与真实或想象空间中的对象的对接,在计算机中体现为语言符号与数字化对象的对接。它的边则是语义学里面说的 “角色指派(role assignment)”,在计算机中体现为每个数字化对象与其他数字化对象之间的语义关系标签。节点和边,这恰恰是知识图谱所支持的要件。

但是,事情并没有完结。语义结构表示框架中,现有的知识图谱可以完美描述实体、关系、属性(状态)及其值这三类要素。但是剩下的还有事件、时间、空间、因果条件、逻辑模态等,我们必须对现有的知识图谱结构进行改造,才能适应这些语义要素的表示。

先看事件。事件可以改变关系和属性。比如 “撤销职务” 的事件真正的语义效果是改变相应实体的 “职务” 属性的取值,其他一切操作,如果不落到这上面,都是耍流氓。此外,一个事件可以触发其他事件(例如 “国王去世” 触发 “王储继位”),一串事件可以是一个大事件的细粒度展开(比如“立案侦查”、“调查取证”、“拘捕” 可能是某个 “案件” 事件的细粒度展开)。这些具有动态特性的操作如何与静态知识图谱的结构和工具融为一体,是一个非常有挑战性的问题。我们注意到哈工大有关 “事理图谱” 的相关研究成果,但要成体系地解决事件的表示问题,目前成果还是很不够的。

再看时间和空间。大多数关系、属性、状态均与时空有关。事件也是在时空中才得以展开。基于关系、属性、状态、事件的语义知识处理,也要依据特定条件在给定时空范围内是否满足而遵循不同的处理逻辑。以农产品现货、期货为例,特定天气事件(比如暴雨、洪水)产生于特定时间(比如橡胶生长期)和空间(橡胶生长地),对特定农产品(橡胶)及其现货、期货交易者才构成预警。所以,时空标签如何引入静态知识图谱,也是一个具有挑战性的问题。

逻辑模态(例如 “准备裁员百分之二十”/“预计增产百分之十五”)、委婉表述(例如 “不认为有必要”/“倾向于暂缓”)、高阶逻辑表述(例如 “对房价过快上涨的预期减弱”)等,也都超出静态知识图谱的表示能力范围之外。如何为此类文本的语义设计相应的标签体系,也是正确抽取知识、融合知识所必须解决的问题。

此外,人类的语义解析过程充满了所谓 “脑补”。比如:“增长率超过了联想”,在字面语义上,“增长率” 作为一个数值和 “联想” 作为一家公司,是不可比的。但我们在 “公司” 为核心节点的本体中,可以找到 “增长率” 这样一个类型匹配的关联属性,于是就可以启动自动的 “脑补” 过程。可见,借助知识图谱,智能化地完成这类需要 “脑补” 的语义理解过程,是语义分析技术走向实用和深化的必然要求。

从上面的分析我们看到,自然语言的语义的确是一个博大精深的体系。知识图谱为语义计算准备好了基本的框架,但要全面推进到实用,还要做许多基础性的工作,包括资源建设和理论模型创新。我们期待在这一领域能有重量级的成果出现,将语义表示和计算的工作推向深入。

应用

自然语言处理技术的应用场景甚广,大致可分为分析型、生成型和交互型三类。舆情监控系统是典型的分析型系统;自动写作系统是典型的生成型系统;形形色色的聊天机器人是典型的交互型系统。

自然语言处理能力以平台化方式提供服务,是广大自然语言处理技术提供者求之不得的事情,但现实中可以这样做的场景几乎没有,也就是说自然语言处理本身的能力输出作为商业模式,是受到很多非技术因素限制的。现实中,更多的自然语言处理技术是融合于一个更大的行业应用场景中,作为其中一项核心技术来发挥自己的作用的。

除了法律、医疗、教育等先行行业之外,金融证券行业对自然语言处理技术业有很迫切的落地需求,但往往必须结合专业领域知识和私有数据才能构建有价值的场景。IT 背景的公司在这方面大都有所欠缺。另一方面,自然语言处理技术门槛很高,资源依赖性很强,不掌握新一代技术的团队也很难在赛道上坚持到胜利。

目前,行业技术提供商、互联网巨头和人工智能创业企业都在进入这个领域。行业技术提供商宜静观进展,直接采用经过实战考验的成熟技术;人工智能创业企业没有一招鲜就没有活路;而互联网巨头们,既有财力又有机制去自我孵化出 N 招鲜来。硝烟滚滚,磨刀霍霍,自然语言处理技术为题材的一场好戏已经开场,一场人工智能和区块链技术相结合的大戏也将开场,让我们共同期待人工智能,期待区块链,期待智子社区的发展.

自然语言处理NLP——情感分析(Sentiment Analysis)简述 基于文本的情感分析,主要关注文章中的主观句,所以,subjective classifier即将主观句从文本中分离出来,就是整个情感分析的第一步。一般来说,这个方法是基于规则的分类方法——句子中包含n(一般为2)个表达情感的词语时就认为这个句子是主观句。 对于这个问题,Bing Liu 给出了一个情感分析的模型,对于非比较主观句而言,分为五个成分: O 为实体对象 F 为实体特征 SO 为 阅读详情

相关推荐

python︱六款中文分词模块尝试:jieba、THULAC、SnowNLP、pynlpir、CoreNLP、pyLTP

公众号“素质云笔记”定期更新博客内容: THULAC 四款python中中文分词的尝试。尝试的有:jieba、SnowNLP(MIT)、pynlpir(大数据搜索挖掘实验室(北京市海量语言信息处理与云计算应用工程技术研究中心))、thulac(清华大学自然语言处理与社会人文计算实验室) 四款都有分词功能,本博客只介绍作者比较感兴趣、每个模块的内容。jieba在这不做介绍,可见博客:...

素质云笔记 8万+

NLP(十三)中文分词工具的使用尝试

  本文将对三种中文分词工具进行使用尝试,这三种工具分别为哈工大的LTP,结巴分词以及北大的pkuseg。   首先我们先准备好环境,即需要安装三个模块:pyltp, jieba, pkuseg以及LTP的分词模型文件cws.model。在用户字典中添加以下5个词语: 经 少安 贺凤英 F-35战斗机 埃达尔·阿勒坎   测试的Python代码如下: # -*- coding: ut...

aix26249的博客 317

lexicons:Lexicons用于n-gram情感分析

设置 此处将Python和Javascript库打包在一起; 如果两者都存在,那么它们大多是彼此的翻译(例如,与LIWC一样)。 生命力中心 liwc.py和liwc.js需要/usr/local/data/liwc_2007.trie MD5:bca2eeec79701ed88c40f8c9c75e5f7c liwc-regex.js需要/usr/local/data/liwc_2007.csv MD5:686df57d28941cf797704bd2d4f9a1a3 你可以在LIWC词汇 。 您可以使用dic2trie将LIWC词典随附的.dic文件转换为trie,以进行更快的(流式)分析。 Python示例 from collections import Counter from lexicons.liwc import Liwc liwc_lexicon = Liwc() g

NLP入门——语言结构/语言建模

1. 语素 morphemes词素是最小的有意义的语言单位,不能够进一步划分为更小的单位而不破话或彻底改变其词汇意义或语法意义。语素和词的区别在于,许多语素不能独立存在。而能够单独存在并且有意义的语素叫做;不能独立存在,要借助其他语素表达意义的语素则称之为。每个词都包含最少一个语素。按能否需要特别指出,有时候派生语素和屈折语素会采用同一种表现形式。比如说,-er,当这个后缀跟在形容词后面,它作为屈折语素,表示比较级;当跟在动词后面,则是一个派生语素,形成一个新词,如cook-cooker。从。

noobiee的博客 9363

Cube生成定时器2触发双ADC同步采集并用DMA传输

前言 用cube生成一个用定时器触发ADC1,ADC2同步采集的程序,单片机选择的是STM32L476RGT6,用定时器2进行ADC采集触发,更改定时器2的定时周期便可以更改ADC的采样周期,ADC1和ADC2使用同步规则模式,并用DMA进行数据的传输。 STM32的ADC采样完成总共需要的时间是 ADC完成采样时间=采样周期+12个转换周期 举个例子,假如ADC的时钟是15MHz,采样周期是3个周期,3个采样周期加上12个转换周期,一共是15个周期,因为时钟是15MHz,所以完成一次ADC转换总共需要的时

一行代码的博客 4516

基于COMSOL电弧动态仿真模型优化:高收敛性可修改吹弧方案解析

在多物理场耦合分析中,电弧动态仿真历来是数值稳定性的难点:温度从室温跃升至数万开尔文,电导率随温度呈数量级跳变,流动、传热与电磁场相互牵制,极易引发求解器不收敛或初始值不一致等问题。如何构建高收敛性的数值模型,成为开关设备灭弧性能优化的重要技术基础。通过合理的几何简化、全耦合求解器配置、辅助扫描初始化策略以及参数化建模手段,可以实现对吹弧方案的灵活调整与批量寻优,从而系统性评估气流速度、喷口形状、触头间距等关键因素对熄弧性能的影响。这类仿真方法广泛应用于断路器、接触器等高压电器产品研发,为灭弧室结构设计提供

weixin_29758911的博客 350

自然语言处理之情感分析:Lexicon-Based Methods:基于词典的情感倾向性计算

Lexicon-Based方法,即基于词典的情感分析方法,是一种利用预定义的情感词典来评估文本情感倾向的策略。情感词典通常包含大量词汇及其情感极性和强度的标注,通过查找文本中的词汇在词典中的情感标注,可以计算出整个文本的情感倾向。这种方法简单直观,易于实现,但其准确性和覆盖度依赖于词典的质量和完整性。基于词典的情感分析方法是一种直观且易于实现的情感分析策略,通过构建和使用情感词典,可以快速评估文本的情感倾向。

zhubeibei168的博客 1240

Arduino程序设计(十)8×8 共阴极LED点阵显示(MAX7219)

本文主要介绍8×8 LED点阵显示实验,分别是:1、介绍MAX7219点阵模块;2、点阵显示部分图形;3、点阵显示数字 0~9 及 26 个英文字母。1、通过上述两个点阵实验,了解了8*8点阵显示的基本原理;2、通过SPI通信控制点阵显示,学会了Arduino用SPI通信方式控制外设。

Alice的博客 1万+

NLP-信息抽取-NER-2019:Soft-Lexicon【Simplify the Usage of Lexicon in Chinese NER】

NLP-信息抽取-NER-2019:Soft-Lexicon【Simplify the Usage of Lexicon in Chinese NER】

u013250861的博客 949

TLSR8258蓝牙Mesh实战:从SDK下载到自定义通信指令全流程(附避坑指南)

本文详细介绍了TLSR8258蓝牙Mesh开发的完整流程,从SDK下载、环境搭建到自定义通信指令的实现。通过实战案例和避坑指南,帮助开发者快速掌握低功耗蓝牙Mesh网络构建技巧,适用于智能家居、工业监控等物联网场景。

weixin_29176179的博客 203

DID实战指南:从平行趋势检验到PSM-DID的Stata全流程解析

本文详细解析了双重差分法(DID)在政策评估中的应用,从平行趋势检验到PSM-DID的Stata全流程操作。通过实例演示和代码示例,帮助研究者掌握DID方法的核心逻辑、前提条件验证及稳健性检验技巧,提升因果推断研究的准确性。

weixin_29234239的博客 742

智子社区顾问白硕:未来是属于智能媒体的

大家好,今天就媒体智能化技术方面,有哪些挑战跟大家分享一下。这是马云在互联网大会上的发言,核心四个字“降维,跨界,颠覆,转型。”新媒体新在哪里?我们用三个“动”来概念,第一个是互动,不是一方面去说,另一方面去说,不是被动的接受,而是大家都在说,都在听。另外一个是联动,你在动的时候,实际上还是有一些涟漪效应,一件事情的发生会波及很远的地方,借助今天的网络有这样的情况。第三个是自动。大家分享的都是跟自...

ymxjava的博客 575

四足机器人机械结构设计:从腿型到驱动的全面解析

本文全面解析了四足机器人机械结构设计的核心要点。资深工程师老张深入探讨了并联腿与串联腿的选型策略、不同腿型布局对稳定性的影响,并详细对比了皮带轮与连杆驱动方式的优劣。文章结合实战经验,强调了足端设计、材料选择及整体结构轻量化等关键细节,为机器人开发者提供了从理论到实践的宝贵指导。

assembly8low的博客 634

NLP三种中文分词工具的对比使用

♚作者:jclian,喜欢算法,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!本文将对三种中文分词工具进行使用尝试,这三种工具分别为哈工...

Python中文社区 1990

手把手带你完成基于UNet的医学图像分割系统设计与实现,UNet网络架构讲解,UNet复现,使用vibe coding工具,开发一个完整系统,包含完整源码

哈喽,大家好,这里是落花不写码,本次教程讲一下 U-Net 分割篇,U-Net 它是一篇 2015 年发表的论文,那为什么到现在还需要讲呢?因为后续讲到 GAN、扩散模型时候是离不开 U-Net 架构的,所以今天先带大家使用 U-Net 模型完成一些图像分割。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 873

YOLO26优化:注意力魔改 | 用于微小目标检测的上下文增强和特征细化网络ContextAggregation,助力小目标检测,暴力涨点

用于微小目标检测的上下文增强和特征细化网络ContextAggregation,助力小目标检测

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 492

达摩院NLPer分享soft-lexicon

实体识别使用GCN+soft-Lexicon 1.lattice-lstm只能用在RNN中,而soft-Lexicon只是词的embedding有改动啊,后面可以接入各种模型 2.lattice-lstm 里面可以看出做各种attention的输入 3.Lexicon 还考虑了就是字在词中的作用,而lattice-lstm只考虑了词的开头和结尾 4.lattice 中词的头部输入是整个...

baidu_15113429的博客 2024

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

史上最强NLP知识集合:知识结构、发展历程、导师名单

转载自 数据简化DataSimp 作者 秦陇纪 郭一璞 编辑 量子位 报道 | 公众号 QbitAI本篇推送包含三篇文章,《自然语言处理技术发展史十大里程碑》《语言处理N...

量子位 4969

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

NLP入门(六)pyltp的介绍与使用

pyltp的简介   语言技术平台(LTP)经过哈工大社会计算与信息检索研究中心 11 年的持续研发和推广, 是国内外最具影响力的中文处理基础平台。它提供的功能包括中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等。   pyltp 是 LTP 的 Python 封装,同时支持Python2和Python3版本。Python...

weixin_33962923的博客 1832

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

NLP概述及流派

1.基础概念 自然语言处理(Nature Language Processing,NLP)是一门融合了计算机科学,人工智能以及语言学的交叉学科。 2.研究目标 通过机器学习等技术,**让计算机学会处理人类语言 **,乃至实现终极目标——理解人类语言或人工智能。 3.自然语言的处理层次 语音、图像和文本 自然语言处理系统的输入源一共有3个,语音,图像和文本,但前两者存储的信息总量没有文本多,...

huoji555的博客 2033

NLP的派别

主要由两派。一派是基于规则的理性主义,一派是基于统计的经验主义。

wusecaiyun的专栏 776

自然语言处理(NLP)之pyltp的介绍与使用(中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注)

自然语言处理(NLP)之pyltp的介绍与使用(中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注) pyltp的简介   语言技术平台(LTP)经过哈工大社会计算与信息检索研究中心 11 年的持续研发和推广, 是国内外最具影响力的中文处理基础平台。它提供的功能包括中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等。 pyltp 是 LTP 的 Python 封装,同时支持Python2和Python3版本。Python3的安装方法为: pip3 install pylt

IT之一小佬的博客 1万+

白硕:人工智能的诗与远方,一文读懂NLP起源、流派和技术

阅读原文 自然语言是人类文明传承和日常交流所使用的语言。狭义的自然语言处理是使用计算机来完成以自然语言为载体的非结构化信息为对象的各类信息处理任务,比如文本的理解、分类、摘要、信息抽取、知识问答、生成等的技术。进一步延展场景,广义的自然语言处理技术也包含自然语言的非数字形态(如语音、文字、手语等)与数字形态之间的双向转换(识别与合成)环节。鉴于自然语言丰富地表现了人类的认知、情感

weixin_40674835的博客 940

计算语言学和自然语言信息处理研究和应用综述(一)

http://ling.cass.cn/yingyong/courses/nlpbase.htm   一、概述        计算语言学和自然语言信息处理研究的核心问题是语言的自动理解(Language Understanding)和自动生成(Language Generation)。前者从句子表层的词语符号串识别句子的句法结构,判断成分之间的语义关系,最终弄清句子表达的意思;后者从要表...

flying 1098

智子社区赏金活动圆满结束

经过20多天的点赞活动,智子社区的赏金活动圆满结束,积攒还能活动智子币和大佬扑克牌.活动非常给力,这次活动总参与的人次能够达到千人以上,总共积攒数能够达到十万级的,是一次持续时间特别长,奖励非常给力的活动....

ymxjava的博客 291
上一篇: HTTP Status 404错误分析及解决方法
下一篇: 智子社区顾问白硕:未来是属于智能媒体的
ymxjava
博客等级 码龄11年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值