文本的弱标注方法、装置、设备以及存储介质与流程

文档序号:26050653发布日期:2021-07-27 15:25阅读:153来源:国知局
文本的弱标注方法、装置、设备以及存储介质与流程

本发明涉及人工智能领域,特别涉及一种文本的弱标注方法、装置、设备以及存储介质。



背景技术:

目前的基于深度学习的文本分类往往都需要高质量且具有一定规模的有标数据,高质量的有标数据都是人工进行标注的。然人工标注存在成本高,标注周期长的问题,无法满足业务的即时需求。针对数据不足的问题,现有技术中一般采用文本增强的方式,对已有的有标数据进行文本增强,对文本进行扩充。但是文本增强的方式仍需要耗费大量的人力资源。



技术实现要素:

本发明的主要目的为提供一种文本的弱标注方法、装置、设备以及存储介质,旨在解决人工标注存在成本高,标注周期长的问题。

本发明提供了一种文本的弱标注方法,包括:

获取待分类文本,并从所述待分类文本中提取出标签词;

从所述待分类文本中挑选出含有所述标签词的目标句子;

通过预测模型预测预设词库中的各个词替换所述目标句子中的所述标签词的概率;

根据各个词替换所述标签词的概率,从所述预设词库中选取第一预设个数的目标词汇;

检测各个类别的预设词典中的词汇与所述目标词汇的重合个数;

将所述重合个数大于第二预设个数对应的预设词典所在的目标类别作为所述待分类文本的弱标注。

本发明还提供了一种文本的弱标注装置,包括:

提取模块,用于获取待分类文本,并从所述待分类文本中提取出标签词;

挑选模块,用于从所述待分类文本中挑选出含有所述标签词的目标句子;

替换模块,用于通过预测模型预测预设词库中的各个词替换所述目标句子中的所述标签词的概率;

选取模块,用于根据各个词替换所述标签词的概率,从所述预设词库中选取第一预设个数的目标词汇;

检测模块,用于检测各个类别的预设词典中的词汇与所述目标词汇的重合个数;

弱标注模块,用于将所述重合个数大于第二预设个数对应的预设词典所在的目标类别作为所述待分类文本的弱标注。

本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本发明的有益效果:通过从待分类文本中提取关键词,并挑选出具有关键词的目标句子,并预测预设词库中替换标签词的概率,选取目标词汇,并根据目标词汇得到对应的类别,将该类别对待分类文本进行弱标注,从而实现了对文本的进行弱标注,缩短了标注周期,实现了对文本的自动化标注,减小了人力资源的投入。

附图说明

图1是本发明一实施例的一种文本的弱标注方法的流程示意图;

图2是本发明一实施例的一种文本的弱标注装置的结构示意框图;

图3为本申请一实施例的计算机设备的结构示意框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。

另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

参照图1,本发明提出一种文本的弱标注方法,包括:

s1:获取待分类文本,并从所述待分类文本中提取出标签词;

s2:从所述待分类文本中挑选出含有所述标签词的目标句子;

s3:通过预测模型预测预设词库中的各个词替换所述目标句子中的所述标签词的概率;

s4:根据各个词替换所述标签词的概率,从所述预设词库中选取第一预设个数的目标词汇;

s5:检测各个类别的预设词典中的词汇与所述目标词汇的重合个数;

s6:将所述重合个数大于第二预设个数对应的预设词典所在的目标类别作为所述待分类文本的弱标注。

如上述步骤s1所述,获取待分类文本,并从所述待分类文本中提取出标签词。其中,获取待分类文本的方式可以是直接获取用户输入的待分类文本,也可以是从文本数据库中获取,或者从设备上获取。而提取标签词的方式,可以是先对待分类文本通过预设的分词工具进行分词处理,然后根据各个词语的个数,找出频数最高的词语作为标签词进行提取,在一些实施例中,有的待分类文本中,其标签词具有相对应的标注,因此也可以根据待分类文本中的标注直接进行获取。

如上述步骤s2所述,从所述待分类文本中挑选出含有所述标签词的目标句子。其中,由于标签词已经确定,故而依照该标签词在待分类文本中的位置,直接挑选出对应的目标句子。

如上述步骤s3所述,通过预测模型预测预设词库中的各个词替换所述目标句子中的所述标签词的概率。其中,预测模型为bert模型,其经过大量的训练文本训练而成,即得到了标签词在句中前后的连贯度,然后寻找出对应相似的预设词库,该预测模型也可以是简单的类别识别模型,即可以得到标签词所属的类别,然后基于该类别找到对应的预设词库,再将预设词库中的词替换标签词,以便于后续进行检测。

如上述步骤s4所述,根据各个词替换所述标签词的概率,从所述预设词库中选取第一预设个数的目标词汇。根据各个词替换标签词的概率,该概率可以基于bert模型得到,即bert模型是计算词与词之间的关系,例如将“苹果”取代待分类文本中的“香蕉”,假设前文是一个“吃”字,那么“吃”和“苹果”之间一起出现的概率,则可以作为替换标签词的概率,然后根据各个词对应的概率大小,由小到大依次挑选出第一预设个数的目标词汇,例如为50个。

如上述步骤s5-s6所述,检测各个类别的预设词典中的词汇与所述目标词汇的重合个数,即在各个类别中事先存储了对应类别的类别词汇,然后可以根据目标词汇是否与类别词汇相同,(即目标词汇存在于预设词典中),且目标词汇超过了第二预设个数,其中第二预设个数小于等于第一预设个数,例如为20个,那么可以认为该预设词典所对应的类别为待分类分本的类别,对其进行弱标注,以使后续进行更进一步地判断。

在一个实施例中,所述从所述待分类文本中提取出标签词的步骤s1,包括:

s101:将所述待分类文本输入至预设的分词工具中,得到各个第一词汇以及各个所述第一词汇对应的个数;

s102:根据所述第一词汇以及所述第一词汇所对应的个数,通过词频计算公式计算各个所述第一词汇的词频;

s103:根据公式计算各个所述第一词汇对应的逆向文件频率;其中,d为所述待分类文本中的句子总数,{j:ti∈dj}表示所述待分类文本中包含所述第一词汇ti的句子数量,idf表示所述逆向文件频率,ti表示第i个第一词汇,dj为第j个具有ti的句子;

s104:根据公式w=idf*tf计算各个第一词汇的权重;其中tf表示所述词频;

s105:选取所述权重最大的所述第一词汇作为所述标签词。

如上述步骤s101所述,将分类文本输入至预设的分词工具中,得到各个第一词汇以及各个所述第一词汇对应的个数。其中,预设的分词工具可以是jieba、snownlp、thulac、nlpir中的任意一种,将待分类文本输入,即可得到对应的第一词汇,然后再将各个第一词汇进行统计,即得到各个第一词汇所对应的个数。

如上述步骤s102所述,可以根据词频计算公式计算各个第一词汇的词频。其中词频计算公式为其中,f(xi)表示第i个词所对应的个数,m表示待分类文档的词的总个数,f(xi)表示第i个词对应的词频。

如上述步骤s103-s105所述,然后根据公式计算各个第一词汇对应的逆向文本频率,其中逆向文本频率为考虑到单词区别不同类别的能力,一般认为一个单词出现的文本频数越小,其区别不同类别文本的能力越大,即其逆向文本频率也越大,因此,通过引入idf,来计算各个第一词汇的权重,并选取权重最大的第一词汇作为标签词,从而可以提高自动选取标签词的准确性,使文本分析更加的顺畅。

在一个实施例中,所述通过预测模型预测预设词库中的各个词替换所述目标句子中的所述标签词的概率的步骤s3之前,还包括:

s201:将所述待分类文本中所有的标注删除,得到中间分类文本;

s202:基于所述标签词从知识库中筛选出多个相近词汇;

s203:将各个所述相近词汇依次替换所述中间分类文本中的所述标签词,并计算各个所述相近词汇替换后的语句通顺度;

s204:将所述语句通顺度大于预设通顺度对应的所述相近词汇作为属性词汇;

s205:根据各所述属性词汇构建所述预设词库。

如上述步骤s201所述,将待分类文本中所有的标注都删除,因为有些标注是对名词的解释,或者是与文本主题无关的其他标注,因此可能会对后续分类造成影响,故而可以先进行删除。

如上述步骤s202-s203所述,基于标签词,从知识库中筛选出多个相近词汇,即从数据库中筛选出与标签词词义相近的词汇,然后根据选取的词汇依次替代标签词,然后计算替换后的语句通顺度,其中,计算语句通顺度的方式后续有详细说明,此处不再赘述。

如上述步骤s204-s205所述,将所述语句通顺度大于预设通顺度对应的所述相近词汇作为属性词汇。其中,将语句通顺度大于预设通顺度的词汇,记为属性词汇,然后将各个属性词汇汇聚成预设词库,以便于后续根据该预设词库寻找符合要求的目标词汇,即本实施例为先对词汇进行预筛选,避免后续计算过多,而影响计算效率。

在一个实施例中,所述计算各个所述相近词汇替换后的语句通顺度的步骤s203,包括:

s2031:获取各所述相近词汇与除所述标签词外所述中间分类文本中其他的各个词汇出现的概率;

s2032:根据公式:

计算得到所述语句通顺度,其中i>1,i∈z,c表示其中一个所述相近词汇,w1,w2,…,wt-1,wt,wt+1,…,wm表示所述待分类文本中各个词汇对应的值,wt表示标签词,p(c|wi)表示所述相近词汇与第wi-1个词出现的概率,p(c|wi-1)表示所述相近词汇与第wi-1个词一起出现的概率。

如上述步骤s2031-s2032所述,实现了对语句通顺度的计算,其中,可以根据对应的bert模型获取到各个词汇在一个句子中一起出现的概率,从而可以根据公式:

计算得到语句通顺度,其中,公式中,已经对中间分类文本中的标签词wt进行了替换,而p(c|wi-1wi)中包括了标签词与相近词汇的概率,而这个在替换后是没有这两个词同时出现的,因此需要减去包含有标签词的项,以免造成误差,从而实现了对通顺度的计算。

在一个实施例中,所述选取第一预设个数的目标词汇的步骤s4,还包括:

s401:检测选取的所述目标词汇以及所述标签词中是否具有相同词汇;

s402:若有,则从选取的所述目标词汇中删除对应的相同词汇;

s403:删除后按照各个词替换所述标签词的概率,从剩余词汇中挑选与删除的相同词汇数量的词汇,使选取的目标词汇的数目保持所述第一预设个数。

如上述步骤s401-s403所述,实现了对目标词汇的检查,即检测目标词汇和标签词中是否具有相同的词汇,若具有,则说明选取的目标词汇中有重复的词,或者有与标签词相同的词,这样会造成选取的目标词汇中选取的误差,也会对最终的类别判断会有一定的影响,因此需要将重复的词汇进行删除,并从剩余词汇中继续挑选,即按照概率的大小继续挑选出词汇以补充删除的相同词汇,保证具有第一预设个数的目标词汇,使各个待分类文本的判别标准一致,以减小误差。

在一个实施例中,所述将所述重合个数大于第二预设个数对应的预设词典所在的目标类别作为所述待分类文本的弱标注的步骤s6之后,还包括:

s701:获取所述目标类别中包含所有标签词的对比文本;

s702:根据相似度计算公式计算所述待分类文本和所述对比文件的相似度值,i表示所述待分类文本,r表示对比文本,cos(i,r)表示所述相似度值,xi表示所述待分类文本的第i个词对应的个数,yi表示所述对比文本的第i个词对应的个数,n表示所述对比文本和所述待分类文本所包含词语的个数,表示第i个词对应的权重;

s703:判断所述相似度值是否大于预设相似度值;

s704:若大于所述预设相似度值,则判定所述弱标注为所述待分类文本的强标注。

如上述步骤s701-s704所述,实现了对弱标注的检测,即获取到目标类别中含有标签词的对比文本,需要说明的是,该对比文本的标签词不一定与待分类文本的标签词相同,此举只是为了找取相同词汇的文本,使二者的相似度计算更好,由于词与词之间的顺序关系对相似度判断的影响因素较低,因此可以忽略掉词之间的顺序关系,根据各个词的个数以及对应的权重进行计算,当计算的相似度值越趋近于1,表明待分类文本和对比文本越相似,当计算的相似度值越趋近于-1,表明待分类文本和对比文本越不相似。因此可以设定一个预设相似度值,当相似度值大于该预设相似度值,可以认为该待分类文本与对比文本的类别基本上一致,因此,可以认为对比文件和待分类文本属于同一类别,将对应的弱标注转化为强标注。

参照图2,本发明还提供了一种文本的弱标注装置,包括:

提取模块10,用于获取待分类文本,并从所述待分类文本中提取出标签词;

挑选模块20,用于从所述待分类文本中挑选出含有所述标签词的目标句子;

替换模块30,用于通过预测模型预测预设词库中的各个词替换所述目标句子中的所述标签词的概率;

选取模块40,用于根据各个词替换所述标签词的概率,从所述预设词库中选取第一预设个数的目标词汇;

检测模块50,用于检测各个类别的预设词典中的词汇与所述目标词汇的重合个数;

弱标注模块60,用于将所述重合个数大于第二预设个数对应的预设词典所在的目标类别作为所述待分类文本的弱标注。

在一个实施例中,所述挑选模块20,包括:

输入子模块,用于将所述待分类文本输入至预设的分词工具中,得到各个第一词汇以及各个所述第一词汇对应的个数;

第一计算子模块,用于根据所述第一词汇以及所述第一词汇所对应的个数,通过词频计算公式计算各个所述第一词汇的词频;

第二计算子模块,用于根据公式计算各个所述第一词汇对应的逆向文件频率;其中,d为所述待分类文本中的句子总数,{j:ti∈dj}表示所述待分类文本中包含所述第一词汇ti的句子数量,idf表示所述逆向文件频率,ti表示第i个第一词汇,dj为第j个具有ti的句子;

第三计算子模块,用于根据公式w=idf*tf计算各个第一词汇的权重;其中tf表示所述词频;

选取子模块,用于选取所述权重最大的所述第一词汇作为所述标签词。

本发明的有益效果:通过从待分类文本中提取关键词,并挑选出具有关键词的目标句子,并预测预设词库中替换标签词的概率,选取目标词汇,并根据目标词汇得到对应的类别,将该类别对待分类文本进行弱标注,从而实现了对文本的进行弱标注,缩短了标注周期,实现了对文本的自动化标注,减小了人力资源的投入。

参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储各种类别的预设词典等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时可以实现上述任一实施例所述的文本的弱标注方法。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可以实现上述任一实施例所述的文本的弱标注方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram一多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。

区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1