CN111783443B - 文本扰动检测方法、扰动还原方法、扰动处理方法和装置 - Google Patents
文本扰动检测方法、扰动还原方法、扰动处理方法和装置 Download PDFInfo
- Publication number
- CN111783443B CN111783443B CN202010607386.8A CN202010607386A CN111783443B CN 111783443 B CN111783443 B CN 111783443B CN 202010607386 A CN202010607386 A CN 202010607386A CN 111783443 B CN111783443 B CN 111783443B
- Authority
- CN
- China
- Prior art keywords
- word
- vector representation
- disturbance
- text
- word sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000001514 detection method Methods 0.000 title claims abstract description 61
- 238000003672 processing method Methods 0.000 title abstract description 13
- 238000011084 recovery Methods 0.000 title abstract description 9
- 239000013598 vector Substances 0.000 claims abstract description 376
- 230000009467 reduction Effects 0.000 claims abstract description 45
- 230000011218 segmentation Effects 0.000 claims abstract description 25
- 230000015654 memory Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 18
- 238000007477 logistic regression Methods 0.000 claims description 10
- 238000003058 natural language processing Methods 0.000 abstract description 52
- 230000000694 effects Effects 0.000 abstract description 11
- 238000011946 reduction process Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 17
- 238000012549 training Methods 0.000 description 13
- 239000000306 component Substances 0.000 description 9
- 239000003638 chemical reducing agent Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000012552 review Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000873 masking effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000012550 audit Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003094 perturbing effect Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种文本扰动检测方法、扰动还原方法、扰动处理方法和装置,涉及自然语言处理技术领域。其中,文本扰动检测方法包括:对第一文本进行分词,得到第一词序列;获取所述第一词序列的每个词的上下文向量表示;根据所述上下文向量表示,检测所述第一词序列中的扰动词。本申请根据上下文向量表示检测出文本中的扰动词,以实现文本扰动检测。在检测出扰动词之后,通过对扰动词进行掩码处理,并通过获取掩码标志的预估上下文向量表示来确定扰动词的替换词,以实现文本扰动还原。通过上述文本扰动检测和文本扰动还原过程,能够有效地消除文本扰动,从而能够提高文本审核效果。
Description
技术领域
本申请涉及数据处理技术,尤其涉及自然语言处理技术领域,具体涉及一种文本扰动检测方法、扰动还原方法、扰动处理方法和装置。
背景技术
自然语言处理(Natural Language Processing,简称NLP)技术是实现人机间的信息交流的重要一环。依托深度学习训练的自然语言处理模型已广泛应用,如信息检索、机器翻译、舆情监控、手机智能助手、自动问答、信息抽取、文本摘要等。为了构建良好的网络环境,需要通过文本审核模型对文本进行审核。然而,对文本添加扰动,可能导致文本审核模型作出错误回应,从而导致文本审核的效果较差。
发明内容
本申请提供了一种文本扰动检测方法、扰动还原方法、扰动处理方法和装置。
根据第一方面,本申请提供了一种文本扰动检测方法,所述方法包括:
对第一文本进行分词,得到第一词序列;
获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示;
根据所述上下文向量表示,检测所述第一词序列中的扰动词。
根据第二方面,本申请提供了一种文本扰动还原方法,所述方法包括:
将第一词序列中的第一扰动词替换为掩码标志,以得到第二词序列;其中,所述第一词序列为对第一文本进行分词得到的词序列;
获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示;
根据所述预估上下文向量表示,确定所述第一扰动词的替换词;
将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列。
根据第三方面,本申请提供了一种文本扰动处理方法,包括:
所述方法包括:
对第一文本进行分词,得到第一词序列;
获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示;
根据所述第一词序列的每个词的上下文向量表示,检测所述第一词序列中的扰动词,所述扰动词包括第一扰动词;
将所述第一词序列中的所述第一扰动词替换为掩码标志,以得到第二词序列;
获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示;
根据所述预估上下文向量表示,确定所述第一扰动词的替换词;
将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列。
根据第四方面,本申请提供了一种文本扰动检测装置,包括:
分词模块,用于对第一文本进行分词,得到第一词序列;
获取模块,用于获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示;
检测模块,用于根据所述上下文向量表示,检测所述第一词序列中的扰动词。
根据第五方面,本申请提供了一种文本扰动还原装置,包括:
第一替换模块,用于将第一词序列中的第一扰动词替换为掩码标志,以得到第二词序列;其中,所述第一词序列为对第一文本进行分词得到的词序列;
获取模块,用于获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示;
确定模块,用于根据所述预估上下文向量表示,确定所述第一扰动词的替换词;
第二替换模块,用于将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列。
根据第六方面,本申请提供了一种文本扰动处理装置,包括:
分词模块,用于对第一文本进行分词,得到第一词序列;
第一获取模块,用于获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示;
检测模块,用于根据所述第一词序列的每个词的上下文向量表示,检测所述第一词序列中的扰动词,所述扰动词包括第一扰动词;
第一替换模块,用于将所述第一词序列中的所述第一扰动词替换为掩码标志,以得到第二词序列;
第二获取模块,用于获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示;
确定模块,用于根据所述预估上下文向量表示,确定所述第一扰动词的替换词;
第二替换模块,用于将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列。
根据第七方面,本申请提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面中的任一项方法,或者,以使所述至少一个处理器能够执行第二方面中的任一项方法,或者,以使所述至少一个处理器能够执行第三方面中的任一项方法。
根据第八方面,本申请提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面中的任一项方法,或者,所述计算机指令用于使所述计算机执行第二方面中的任一项方法,或者,以使所述至少一个处理器能够执行第三方面中的任一项方法。
根据本申请的技术,通过对文本进行分词,获取每个词的上下文向量表示,根据上下文向量表示检测出文本中的扰动词,以实现文本扰动检测。在检测出扰动词之后,通过对扰动词进行掩码处理,获取掩码标志的预估上下文向量表示,根据预估上下文向量表示确定扰动词的替换词,以实现文本扰动还原。通过上述文本扰动检测和文本扰动还原过程,能够有效地消除文本扰动,在文本扰动消除之后再对文本进行审核,能够降低文本审核风险,提高文本审核效果,解决了现有技术中所存在的问题。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的文本扰动检测方法的流程示意图;
图2是根据本申请第一实施例的上下文向量表示处理示意图;
图3是根据本申请第一实施例的扰动检测器的工作原理图;
图4是根据本申请第一实施例的输入向量表示处理示意图;
图5是根据本申请第二实施例的文本扰动还原方法的流程示意图;
图6是根据本申请第二实施例的预估还原器的工作原理图;
图7是根据本申请第三实施例的文本扰动处理方法的流程示意图;
图8是根据本申请第三实施例的文本扰动处理的训练及应用示意图;
图9是根据本申请第四实施例的文本扰动检测装置的结构示意图;
图10是根据本申请第五实施例的文本扰动还原装置的结构示意图;
图11是根据本申请第六实施例的文本扰动处理装置的结构示意图;
图12是用来实现本申请实施例的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
第一实施例
如图1所示,本申请提供一种文本扰动检测方法,包括如下步骤:
步骤101:对第一文本进行分词,得到第一词序列。
上述第一文本可以理解为用户发布于互联网的文本,例如用户通过博客、微博等互联网平台发布的文章、评论、帖子等。
该步骤中,对第一文本进行分词,可以理解为对第一文本进行词语切分,以将第一文本分成多个词语。在对第一文本进行分词时,可以以最小语义单元为粒度对第一文本进行分词。
对第一文本进行分词所得到的第一词序列中,词语的顺序与各词语出现于第一文本的顺序相同。也就是说,对第一文本进行分词并不改变各词语的相对位置。
例如,假设第一文本为“你好。很高兴为您服务。”,对该文本进行分词后,得到的第一词序列为“‘你好’‘很’‘高兴’‘为’‘您’‘服务’”。
本申请中,可以用t1、t2、…、tN来表示第一词序列,ti对应第一词序列的第i个词。
步骤102:获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示。
在文本中添加扰动的方式有多种,例如,使用同音词、汉语拼音、外文或特殊符号对文本中的词语或词语中的字符进行替换,使用特殊符号对文本中的词语或词语中的字符进行间隔,等等。对于添加了扰动的文本,还可以称之为对抗文本。无论是上述何种添加扰动的方式,文本中的扰动词与上下文信息之间通常不存在正常的语义关系,也就是说,在文本中添加扰动,通常会打破文本原有的正常的语义关系。因此,可以考虑根据词语上下文语义关系来判断词语是否为扰动词。
鉴于此,该步骤中,获取第一词序列中每个词的上下文向量表示。该上下文向量表示为融合了当前词的上下文信息的向量表示,其能够很好地表征词语与上下文信息之间的关系,上下文向量表示可以是例如Embedding(分布式嵌入)表示,上下文向量表示的向量维度可以是例如128维、256维等等。
在上文的举例中,假设第一词序列为“‘你好’‘很’‘高兴’‘为’‘您’‘服务’”。通过该步骤,得到上述每个词的上下文向量表示,例如,“你好”的上下文向量表示和“很”、“高兴”等词的上下文向量表示产生了关联。
本申请中,可以用T1、T2、…、TN来表示第一词序列的上下文向量表示,Ti对应第一词序列的第i个词的上下文向量表示。
本申请中,可以使用海量的训练数据集来预先训练一个模型,这样,在对文本扰动进行检测时,向该模型中输入文本的词序列,该模型即可输出该词序列的每个词语的上下文向量表示。该模型可通过深度学习训练得到,该模型的具体训练方式本申请不作具体描述。
步骤103:根据所述上下文向量表示,检测所述第一词序列中的扰动词。
该步骤中,可根据第一词序列中每个词的上下文向量表示,来检测第一词序列中的扰动词。若第一文本未添加扰动,则不会在第一词序列中检测出扰动词;若第一文本添加有扰动,则可以在第一词序列中检测出扰动词。
该步骤可通过以下方案实现:将所述第一词序列的每个词的上下文向量表示输入至逻辑回归分类器,以得到所述第一词序列的每个词的二分类表示,所述二分类表示用于表征当前词是否为扰动词;根据所述二分类表示,检测所述第一词序列中的扰动词。
具体的,可以应用逻辑回归分类器对第一词序列的每个词的上下文向量表示进行二分类,得到预测序列r1、r2、…、rN,ri的取值为0或1,分别代表第一词序列的第i个词未被扰动或被扰动。
本申请中,根据上下文向量表示来检测第一词序列中的扰动词,能够全面检测所有文本扰动,且扰动检测的准确率较高。
上述过程即为文本扰动检测过程,可以使用海量干净的训练数据集和对抗样本集,训练得到扰动检测器,这样,在对文本扰动进行检测时,向该扰动检测器输入待测文本,若该待测文本添加了扰动,则该扰动检测器即可输出该文本中的扰动词。
在文本扰动检测完成之后,可以对添加了扰动的文本进行还原,即,将文本中的扰动词替换为原词,以消除文本中的扰动,消除噪声。在文本扰动还原之后,即可将还原后的文本输入至NLP应用中进行文本审核。文本扰动还原既可以依靠人工完成,也可以通过机器完成,本申请对此不作限定。
互联网上发布的大部分不良信息(例如低俗信息、恶意推广信息等)是通过在文本中添加扰动,加入噪声,以使文本审核模型(例如NLP应用)在对这些文本审核时,作出错误的回应。NLP应用抵御对抗攻击的能力普遍较差,这导致较多资讯类、论坛类、助手类等NLP应用由于其文本审核服务漏报而遭遇下架。目前,为了提高NLP应用抵御对抗攻击的能力,在NLP应用中集成文本审核模型,这样,在对文本审核模型进行预训练时,还需要知道NLP应用的细节,并且,当文本审核模型需要更改时,NLP应用也需要相应更改,这使得NLP应用的文本审核成本较高,通用性较差。
而本申请中,上述文本扰动检测和文本扰动还原可以作为NLP应用审核的前置过程,由于文本扰动被还原,NLP应用能够作出正确的回应,从而能够降低NLP应用遭受文本对抗攻击的风险,提高NLP应用的防御对抗性能,进而能够提升NLP应用的安全性和准确响应率。
此外,由于上述文本扰动检测可以作为NLP应用的前置过程,因此,训练得到的扰动检测器可以独立于NLP应用,在预训练扰动检测器时,无需知道NLP应用的细节,扰动检测器进行更新时,也不涉及NLP应用的更改,这样,能够降低NLP应用的文本审核成本,通用性较强,适用于所有以文本为处理对象的应用。
本申请中,通过对文本进行分词,获取每个词的上下文向量表示,根据上下文向量表示检测出文本中的扰动词,以实现文本扰动检测。本申请中,根据上下文向量表示来检测文本中的扰动词,能够全面检测所有文本扰动,且扰动检测的准确率较高,为后续的文本扰动还原打下了较好的基础,从而为文本扰动还原之后的文本审核打下了较好的基础,进而能够降低文本审核风险,提高文本审核效果,解决了现有技术中所存在的问题。
可选的,所述获取所述第一词序列的每个词的上下文向量表示,包括:
获取所述第一词序列的每个词的输入向量表示,所述输入向量表示与当前词、当前词所属语句以及当前词在所属语句中所处位置有关;
根据所述第一词序列的每个词的输入向量表示,得到所述第一词序列的每个词的上下文向量表示。
该实施方式中,词语的输入向量表示可以理解为词语本身所具有的向量表示,其与词语本身、词语所属语句以及词语在所属语句中所处位置有关。词语的输入向量表示可以是例如Embedding表示,输入向量表示的向量维度可以是例如128维、256维等等。
本申请中,可以用E1、E2、…、EN来表示第一词序列的输入向量表示,Ei对应第一词序列的第i个词的输入向量表示。
第一词序列的每个词的输入向量表示是相互独立的,而第一文本中的各词语之间是相互联系、信息相互印证、并非独立存在的。因此,根据第一词序列的每个词的输入向量表示得到每个词的上下文向量表示,使得各词语的向量表示产生了关联。
该实施方式中,在获取第一词序列的每个词的输入向量表示之后,可以将第一词序列的每个词的输入向量表示输入至预先训练的词上下文编码器中,以得到第一词序列的每个词的上下文向量表示。
词上下文编码器可以采用BERT(Bidirectional Encoder Representations fromTransformers)模型,BERT模型的核心组件为Trm(Transformer),Trm为编码-解码的结构,由若干个编码器和解码器堆叠形成,Trm的数量为多个,层数可以为多层。
使用BERT模型根据第一词序列的输入向量表示E1、E2、…、EN,得到第一词序列的上下文向量表示T1、T2、…、TN的具体技术细节可参见图2。图2中,E1、E2、…、EN通过多个Trm不断进行信息交互,从而得到T1、T2、…、TN。
图3提供了一种文本扰动检测的具体实现过程,如图3所示,文本扰动检测过程可以包括以下步骤:
首先,对第一文本进行分词,得到第一词序列t1、t2、…、tN;其次,获取第一词序列t1、t2、…、tN的输入向量表示E1、E2、…、EN;然后,词上下文编码器根据第一词序列的输入向量表示E1、E2、…、EN,得到第一词序列的上下文向量表示T1、T2、…、TN;然后,逻辑回归分类器对第一词序列的上下文向量表示T1、T2、…、TN进行二分类,得到预测序列r1、r2、…、rN。至此,文本扰动检测完成,其中,预测序列中,r为1所对应的词语即为第一文本中的扰动词。
需要说明的是,上述词上下文编码器和逻辑回归分类器构成的整体可理解为扰动检测器,也就是说,扰动检测器可以包括词上下文编码器和逻辑回归分类器。
可选的,所述获取所述第一词序列的每个词的输入向量表示,包括:
获取所述第一词序列的每个词的词向量表示、语句向量表示和位置向量表示,所述语句向量表示为当前词所属语句的向量表示,所述位置向量表示为当前词在所属语句中所处位置的向量表示;
根据所述词向量表示、所述语句向量表示和所述位置向量表示,得到所述第一词序列的每个词的输入向量表示。
该实施方式提供了由第一词序列t1、t2、…、tN得到每个词的输入向量表示E1、E2、…、EN的具体方案。
其中,词向量表示可以是例如Embedding表示(可称为Token Embeddings),词向量表示的向量维度可以是例如128维、256维等等。语句向量表示可以是例如Embedding表示(可称为Segment Embeddings),语句向量表示的向量维度可以是例如128维、256维等等。位置向量表示可以是例如Embedding表示(可称为Position Embeddings),位置向量表示的向量维度可以是例如128维、256维等等。
可选的,所述词向量表示、所述语句向量表示和所述位置向量表示的维度相等。例如,词向量表示、所述语句向量表示和所述位置向量表示的维度均为128维。
进一步的,如图4所示,可以将所述词向量表示、所述语句向量表示和所述位置向量表示的对应位置相加,以得到所述第一词序列的每个词的输入向量表示。图4中,第一词序列位于图4中的横线上方,第一词序列的每个词的输入向量表示位于图4中横线下方的部分,即包括词向量表示、语句向量表示和位置向量表示。
该实施方式中,词向量表示、语句向量表示和位置向量表示均可以通过查表得到的,例如,可以预先训练Token Embeddings表、Segment Embeddings表和PositionEmbeddings表。
例如,在上文的举例中,假设第一文本为“你好。很高兴为您服务。”,第一词序列为“‘你好’‘很’‘高兴’‘为’‘您’‘服务’”,并假设将每个词表示为128维的向量表示。每个词的词向量表示通过查找Token Embeddings表得到,Token Embeddings表中,每个词会对应一个词向量表示。每个词的语句向量表示通过查找Segment Embeddings表得到,第一文本中以“。”分割为两个句子,其中,“你好”属于第1个句子,“很”、“高兴”、“为”、“您”、“服务”属于第2个句子,那么,“你好”的所属语句就对应数字“1”,其他词的所属语句对应数字“2”,通过查表分别得到“1”和“2”对应的向量表示,即为各词语的语句向量表示。这里,“很”、“高兴”、“为”、“您”和“服务”的所属语句都为第2句,因此,它们的语句向量表示相同。每个词的位置向量表示通过查找Position Embeddings表得到,它代表的是词在所属语句中的位置,例如,“你好”是第1个词,通过查找Position Embeddings表得到“1”对应的向量表示,“服务”是第6个词,通过查找Position Embeddings表得到“6”对应的向量表示。通过以上步骤,我们就得到了第一词序列中每个词对应的词向量表示、语句向量表示和位置向量表示,再将它们对应的维数相加,就得到了各词的输入向量表示。
需要说明的是,本申请中的文本扰动检测方法中的多种可选的实施方式,彼此可以相互结合实现,也可以单独实现,对此本申请不作限定。
本申请的上述实施例至少具有如下优点或有益效果:
本申请中,通过对文本进行分词,获取每个词的上下文向量表示,根据上下文向量表示检测出文本中的扰动词,以实现文本扰动检测。本申请中,根据上下文向量表示来检测文本中的扰动词,能够全面检测所有文本扰动,且扰动检测的准确率较高,为后续的文本扰动还原打下了较好的基础,从而为文本扰动还原之后的文本审核打下了较好的基础,进而能够降低文本审核风险,提高文本审核效果,解决了现有技术中所存在的问题。
第二实施例
如图5所示,本申请提供一种文本扰动还原方法,包括如下步骤:
步骤201:将第一词序列中的第一扰动词替换为掩码标志,以得到第二词序列。
其中,上述第一词序列为对第一文本进行分词得到的词序列。第一词序列的相关说明可以参照第一实施例中的相关内容,并能够达到相同的有益效果,为避免重复,对此不作赘述。
上述第一扰动词既可以是第一文本中的某一个扰动词,也可以是第一文本中的全部扰动词。
当第一词序列中的扰动词的数量大于1时,这些扰动词形成扰动词集合。可以依次对扰动词集合中的单个扰动词进行掩码处理,并依次进行后续的扰动还原操作。
在步骤201之前,已经预先检测出了第一文本中的扰动词,也就是说,在执行本申请的文本扰动还原方法之前,已经预先执行了文本扰动检测方法。文本扰动检测方法可以采用但不限于本申请提供的文本扰动检测方法,本申请提供的文本扰动检测方法与本申请提供的文本扰动还原方法一起实施,能够实现从文本扰动检测到文本扰动还原的完整过程。
该步骤中,可以对第一词序列进行掩码处理,如果某个词为扰动词,则将该词替换为掩码标志,本申请中,掩码标志可表示为“[MASK]”。第二词序列中每个词的顺序与第一词序列相同,其区别仅在于将第一扰动词替换成了[MASK]。
在从第一词序列得到第二词序列时,可以保留第一词序列中的所有词,也可以选取第一扰动词前后预设数量的词,例如,可以选取第一扰动词前后各w个词,假设第一扰动词为第一词序列中的第i个词,则第二词序列可表示为t(i-w)、…、[MASK]、…、t(i+w)。
容易理解的,与第一扰动词距离越近的词语,其与第一扰动词的相关性越高,而与第一扰动词距离越远的词语,其与第一扰动词的相关性越低。因此,在从第一词序列得到第二词序列时,可以选取第一扰动词前后预设数量的词。尤其是在第一文本较长,第一词序列中的词语数量较多时,通过选取第一扰动词前后预设数量的词,既可以减少不必要的数据处理量,也可以很好地满足文本扰动还原需求。
步骤202:获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示。
在得到第二词序列之后,该步骤中,可以获取掩码标志的预估上下文向量表示。
本申请中,除了获取掩码标志的预估上下文向量表示,还可以同时获取第二词序列的每个词的上下文向量表示。第二词序列的每个词的上下文向量表示和掩码标志的预估上下文向量表示,可以统称为第二词序列的上下文向量表示。
例如,可将第二词序列输入至第一实施例中的词上下文编码器中,通过词上下文编码器获取第二词序列的每个词的上下文向量表示和掩码标志的预估上下文向量表示,可以用T(i-w)、…、T(MASK)、…、T(i+w)来表示第二词序列的上下文向量表示,其中T(MASK)对应被扰动位置(即掩码标志所在的位置)的预估上下文向量表示。
当然,本申请中也可以仅获取掩码标志的预估上下文向量表示。由于预估上下文向量表示融合了所述掩码标志的上下文信息,因此,为了获取掩码标志的预估上下文向量表示,需要获取第二词序列的每个词的输入向量表示和掩码标志的输入向量表示。第二词序列的每个词的输入向量表示和所述掩码标志的输入向量表示,可以统称为第二词序列的输入向量表示。
本申请中,可采用如下的实施方式来获取掩码标志的预估上下文向量表示。
可选的,所述获取所述掩码标志的预估上下文向量表示,包括:
获取所述第二词序列的每个词的输入向量表示和所述掩码标志的输入向量表示;
根据所述第二词序列的每个词的输入向量表示和所述掩码标志的输入向量表示,得到所述掩码标志的预估上下文向量表示。
可选的,所述获取所述掩码标志的输入向量表示,包括:
获取所述掩码标志的词向量表示、语句向量表示和位置向量表示;
根据所述掩码标志的词向量表示、语句向量表示和位置向量表示,得到所述掩码标志的输入向量表示。
可选的,所述掩码标志的词向量表示、语句向量表示和位置向量表示的维度相等;
所述根据所述掩码标志的词向量表示、语句向量表示和位置向量表示,得到所述掩码标志的输入向量表示,包括:
将所述掩码标志的词向量表示、语句向量表示和位置向量表示的对应位置相加,以得到所述掩码标志的输入向量表示。
上述过程所涉及的相关实施方式均可以参照本申请第一实施例中的相关内容,且能够达到相同的技术效果,为避免重复,对此不作赘述。所不同的是,[MASK]是一个特殊字符,该特殊字符也存在于训练好的模型词表中。在将第二词序列t(i-w)、…、[MASK]、…、t(i+w)转换为第二词序列的输入向量表示E(i-w)、…、E(MASK)、…、E(i+w)的过程中,也可以通过查表来获取[MASK]的词向量表示、语句向量表示和位置向量表示。
步骤203:根据所述预估上下文向量表示,确定所述第一扰动词的替换词。
在获取到掩码标志的预估上下文向量表示之后,相应的获取到了该位置与上下文信息之间的语义关系,因此,该步骤中,可根据掩码标志的预估上下文向量表示来确定第一扰动词的替换词。
步骤204:将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列。
该步骤中,将第一词序列中的第一扰动词替换为上述替换词,以得到第三词序列,该第三词序列所形成的文本即为消除了扰动之后的文本,至此,实现了第一文本的扰动还原。
本申请中,根据掩码标志的预估上下文向量表示,能够准确地确定扰动词的替换词,从而能够准确地实现文本扰动还原,提高了文本扰动还原的准确度。
上述过程即为文本扰动还原过程,可以使用海量干净的训练数据集来训练得到预估还原器,这样,在对文本扰动进行还原时,向该预估还原器输入第二词序列,该预估还原器即可输出掩码标志的预估上下文向量表示。
在文本扰动还原之后,即可将还原后的文本输入至NLP应用中进行文本审核。
互联网上发布的大部分不良信息(例如低俗信息、恶意推广信息等)是通过在文本中添加扰动,加入噪声,以使文本审核模型(例如NLP应用)在对这些文本审核时,作出错误的回应。NLP应用抵御对抗攻击的能力普遍较差,这导致较多资讯类、论坛类、助手类等NLP应用由于其文本审核服务漏报而遭遇下架。目前,为了提高NLP应用抵御对抗攻击的能力,在NLP应用中集成文本审核模型,这样,在对文本审核模型进行预训练时,还需要知道NLP应用的细节,并且,当文本审核模型需要更改时,NLP应用也需要相应更改,这使得NLP应用的文本审核成本较高,通用性较差。
而本申请中,上述文本扰动还原可以作为NLP应用审核的前置过程,由于文本扰动被还原,NLP应用能够作出正确的回应,从而能够降低NLP应用遭受文本对抗攻击的风险,提高NLP应用的防御对抗性能,进而能够提升NLP应用的安全性和准确响应率。
此外,由于上述文本扰动还原可以作为NLP应用的前置过程,因此,训练得到的预估还原器可以独立于NLP应用,在预训练预估还原器时,无需知道NLP应用的细节,预估还原器进行更新时,也不涉及NLP应用的更改,这样,能够降低NLP应用的文本审核成本,通用性较强,适用于所有以文本为处理对象的应用。
本申请中,在检测出扰动词之后,通过对扰动词进行掩码处理,获取掩码标志的预估上下文向量表示,根据预估上下文向量表示确定扰动词的替换词,以实现文本扰动还原。本申请中,根据掩码标志的预估上下文向量表示,能够准确地确定扰动词的替换词,从而能够准确地实现文本扰动还原,提高了文本扰动还原的准确度,从而为文本扰动还原之后的文本审核打下了较好的基础,进而能够降低文本审核风险,提高文本审核效果,解决了现有技术中所存在的问题。
可选的,所述根据所述预估上下文向量表示,确定所述第一扰动词的替换词,包括:
在预先创建的向量表示语料库中,查找向量表示与所述预估上下文向量表示之间的距离在预设范围内的K个词,所述K为正整数;
从所述K个词中选择所述第一扰动词的替换词。
该实施方式中,可以预先收集若干词语的向量表示,创建上述向量表示语料库,向量表示语料库存储有各种词语以及每个词语对应的向量表示。该实施方式中,可以计算预估上下文向量表示和向量表示语料库中各向量表示之间的距离。
由于对扰动词进行了掩码处理,用掩码标识代替了扰动词,因此,掩码标识的预估上下文向量表示仅能表征该位置的词语与上下文信息之间的关系。因此,与预估上下文向量表示之间的距离在预设范围内的K个向量表示能够较好地匹配该位置的上下文向量表示,从而,与这K个向量表示对应的K个词语能够较好地匹配该位置的词语,与其他词语共同形成较和谐的文本。
与预估上下文向量表示之间的距离在预设范围内的K个向量表示均可以理解为第一扰动词的预估向量表示Ei,Ei可以为一个集合,即包括K个向量表示的集合。
两个向量表示之间的距离可以通过余弦相似度的公式计算得到,以下为余弦相似度的计算公式:
其中,cos(θ)表示余弦相似度,A和B分别表示两个向量表示,||A||和||B||分别表示A和B的长度,Ai和Bi分别表示A和B的各分量。
通过余弦相似度公式计算得到的是一个0至1之间的数值,值越大代表两个向量表示之间的距离越近。
可选的,所述从所述K个词中选择所述第一扰动词的替换词,包括:
从所述K个词中,选择与所述第一扰动词相似度最近的词作为所述替换词。
其中,相似度最近可以包括读音最接近、语义最接近、外形最接近等这几种情况。相似度可以由编辑距离来度量,编辑距离是针对二个字符串的差异程度的量化量测,量测方式是看至少需要多少次的处理才能将一个字符串变成另一个字符串。编辑距离可以用在自然语言处理中,例如拼写检查可以根据一个拼错的字和其他正确的字的编辑距离,判断哪一个(或哪几个)是比较可能的字。
本申请中,通过上述过程,能够准确地确定扰动词的替换词,从而能够准确地实现文本扰动还原,提高了文本扰动还原的准确度。
图6提供了一种文本扰动还原的具体实现过程,如图6所示,文本扰动还原过程可以包括以下步骤:
首先,将第一词序列中的第一扰动词替换为掩码标志,得到第二词序列t(i-w)、…、[MASK]、…、t(i+w);其次,获取第二词序列t(i-w)、…、[MASK]、…、t(i+w)的输入向量表示E(i-w)、…、E(MASK)、…、E(i+w);然后,词上下文编码器根据第二词序列的输入向量表示E(i-w)、…、E(MASK)、…、E(i+w),得到第二词序列的上下文向量表示T(i-w)、…、T(MASK)、…、T(i+w);然后,在预先创建的向量表示语料库中,查找与T(MASK)之间的距离在预设范围内的预估向量表示Ei,并确定Ei对应的词;最后,选择与第一扰动词相似度最近的词作为替换词。
本申请的上述实施例至少具有如下优点或有益效果:
本申请中,在检测出扰动词之后,通过对扰动词进行掩码处理,获取掩码标志的预估上下文向量表示,根据预估上下文向量表示确定扰动词的替换词,以实现文本扰动还原。本申请中,根据掩码标志的预估上下文向量表示,能够准确地确定扰动词的替换词,从而能够准确地实现文本扰动还原,提高了文本扰动还原的准确度,从而为文本扰动还原之后的文本审核打下了较好的基础,进而能够降低文本审核风险,提高文本审核效果,解决了现有技术中所存在的问题。
第三实施例
如图7所示,本申请提供一种文本扰动处理方法,包括如下步骤:
步骤301:对第一文本进行分词,得到第一词序列;
步骤302:获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示;
步骤303:根据所述第一词序列的每个词的上下文向量表示,检测所述第一词序列中的扰动词,所述扰动词包括第一扰动词;
步骤304:将所述第一词序列中的所述第一扰动词替换为掩码标志,以得到第二词序列;
步骤305:获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示;
步骤306:根据所述预估上下文向量表示,确定所述第一扰动词的替换词;
步骤307:将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列。
该实施例中,将本申请的文本扰动检测和文本扰动还原结合起来,为文本审核打下较好的基础。通过上述文本扰动检测和文本扰动还原过程,能够有效地消除文本扰动,在文本扰动消除之后再对文本进行审核,具体的,可通过文本审核模型(例如NLP应用)对第三词序列形成的第二文本进行审核,能够降低文本审核风险,提高文本审核效果,解决了现有技术中所存在的问题。
上述步骤可以通过不同的预先训练模型来实现,例如,步骤301至步骤303可通过预先训练的扰动检测器实现,步骤304至步骤307可通过预先训练的预估还原器实现。
由此可见,本申请中的文本扰动检测和文本扰动还原可以作为NLP应用审核的前置过程,也就是说,训练得到的扰动检测器和预估还原器可以独立于NLP应用,在预训练扰动检测器和预估还原器时,无需知道NLP应用的细节,扰动检测器和预估还原器进行更新时,也不涉及NLP应用的更改,这样,能够降低NLP应用的文本审核成本,通用性较强,适用于所有以文本为处理对象的应用。
图8提供了从训练阶段至扰动检测、扰动还原、文本审核整个应用阶段的流程示意图。
为了更好地理解本申请的技术方案,结合图3、图6和图8,以恶意推广为例举例如下:
原始文本示例:有代购需求的戳开头像私聊我。
第一文本(即对抗文本)示例:有贷构需求的戳开头像私聊我。
如果将原始文本输入现有的文本审核模型,会被正确分类为“恶意推广-广告”,而攻击者对原始文本“有代购需求的戳开头像私聊我”进行了对抗扰动,得到对抗文本“有贷构需求的戳开头像私聊我”,也就是说,对抗文本仅仅将关键词“代购”修改为同音字“贷构”。如果将对抗文本输入现有的文本审核模型,会被错误分类为“非恶意推广”。
在仅得到对抗文本而不知道原始文本的情况下,利用本申请的文本扰动检测方法和文本扰动还原方法,对该对抗文本进行扰动检测和扰动还原。为了描述方便,将原始文本表示为X,对抗文本表示为Xa。
首先,对Xa进行分词,得到词序列[有、贷构、需求、的、戳开、头像、私聊、我]。
该词序列输入扰动检测器,对应图3中的t1、t2、…、tN,经过图3中的词上下文编码器和逻辑回归分类器,得到每个词的分类结果,这里词‘贷构’被预测为‘1’,表示该词为扰动词,其他词被预测为‘0’,表示非扰动词。由此,扰动词集合R=[贷构]。
扰动词集合R中的所有词依次进行后续的扰动还原操作,如果有N个词则循环N次。本例中R中仅有一个词‘贷构’,因此仅循环一次。将‘贷构’进行掩码操作,变为[MASK],因此,词序列变为[有、[MASK]、需求、的、戳开、头像、私聊、我]。假设窗口w取值为4,则图6中新的词序列t(i-w)、…、[MASK]、…、t(i+w)即为[有、[MASK]、需求、的、戳开、头像]。
新的词序列输入预估还原器,得到[MASK]的预估向量表示Ei。在向量表示语料库中查找与该[MASK]的预估向量表示距离最近的K个预估向量表示Ei所对应的K个词作为候选。如K取10,则得到候选词集[“广告”、“代购”、“特殊”、“聊天”、……]。然后通过计算候选词集中每个词与‘贷构’之间的相似度,找到词语‘代购’为唯一候选。用‘代购’替换‘贷构’,则得到还原后的文本Xr为‘有代购需求的戳开头像私聊我’。
将还原后的文本作为文本审核应用(NLP应用)的输入,得到审核结果。由于预先对输入文本进行了扰动检测和扰动还原,文本审核应用能正确预测,将‘有贷构需求的戳开头像私聊我’判定为‘恶意推广-广告’。
本申请中第一实施例和第二实施例的相关实施方式均可以适用于本实施例,且具有相同的技术效果,为避免重复,对此不作赘述。
本申请的上述实施例至少具有如下优点或有益效果:
本申请中,通过对文本进行分词,获取每个词的上下文向量表示,根据上下文向量表示检测出文本中的扰动词,以实现文本扰动检测。在检测出扰动词之后,通过对扰动词进行掩码处理,获取掩码标志的预估上下文向量表示,根据预估上下文向量表示确定扰动词的替换词,以实现文本扰动还原。通过上述文本扰动检测和文本扰动还原过程,能够有效地消除文本扰动,在文本扰动消除之后再对文本进行审核,能够降低文本审核风险,提高文本审核效果,解决了现有技术中所存在的问题。
第四实施例
如图9所示,本申请提供一种文本扰动检测装置400,包括:
分词模块401,用于对第一文本进行分词,得到第一词序列;
获取模块402,用于获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示;
检测模块403,用于根据所述上下文向量表示,检测所述第一词序列中的扰动词。
可选的,获取模块402包括:
获取子模块,用于获取所述第一词序列的每个词的输入向量表示,所述输入向量表示与当前词、当前词所属语句以及当前词在所属语句中所处位置有关;
处理子模块,用于根据所述第一词序列的每个词的输入向量表示,得到所述第一词序列的每个词的上下文向量表示。
可选的,所述获取子模块包括:
获取单元,用于获取所述第一词序列的每个词的词向量表示、语句向量表示和位置向量表示,所述语句向量表示为当前词所属语句的向量表示,所述位置向量表示为当前词在所属语句中所处位置的向量表示;
处理单元,用于根据所述词向量表示、所述语句向量表示和所述位置向量表示,得到所述第一词序列的每个词的输入向量表示。
可选的,所述词向量表示、所述语句向量表示和所述位置向量表示的维度相等;
所述处理单元具体用于:
将所述词向量表示、所述语句向量表示和所述位置向量表示的对应位置相加,以得到所述第一词序列的每个词的输入向量表示。
本申请提供的文本扰动检测装置400能够实现上述文本扰动检测方法实施例中的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。
第五实施例
如图10所示,本申请提供一种文本扰动还原装置500,包括:
第一替换模块501,用于将第一词序列中的第一扰动词替换为掩码标志,以得到第二词序列;其中,所述第一词序列为对第一文本进行分词得到的词序列;
获取模块502,用于获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示;
确定模块503,用于根据所述预估上下文向量表示,确定所述第一扰动词的替换词;
第二替换模块504,用于将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列。
可选的,确定模块503包括:
查找子模块,用于在预先创建的向量表示语料库中,查找向量表示与所述预估上下文向量表示之间的距离在预设范围内的K个词,所述K为正整数;
选择子模块,用于从所述K个词中选择所述第一扰动词的替换词。
可选的,所述选择子模块具体用于:
从所述K个词中,选择与所述第一扰动词相似度最近的词作为所述替换词。
本申请提供的文本扰动还原装置500能够实现上述文本扰动还原方法实施例中的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。
第六实施例
如图11所示,本申请提供一种文本扰动处理装置600,包括:
分词模块601,用于对第一文本进行分词,得到第一词序列;
第一获取模块602,用于获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示;
检测模块603,用于根据所述第一词序列的每个词的上下文向量表示,检测所述第一词序列中的扰动词,所述扰动词包括第一扰动词;
第一替换模块604,用于将所述第一词序列中的所述第一扰动词替换为掩码标志,以得到第二词序列;
第二获取模块605,用于获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示;
确定模块606,用于根据所述预估上下文向量表示,确定所述第一扰动词的替换词;
第二替换模块607,用于将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列。
本申请提供的文本扰动处理装置600能够实现上述文本扰动处理方法实施例中的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图12所示,是根据本申请方法实施例的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图12所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图12中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的文本扰动检测方法、文本扰动还原方法或文本扰动处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的文本扰动检测方法、文本扰动还原方法或文本扰动处理方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的文本扰动检测方法对应的程序指令/模块(例如,附图9所示的分词模块401、获取模块402和检测模块403),又如本申请实施例中的文本扰动还原方法对应的程序指令/模块(例如,附图10所示的第一替换模块501、获取模块502、确定模块503和第二替换模块504),又如本申请实施例中的文本扰动处理方法对应的程序指令/模块(例如,附图11所示的分词模块601、第一获取模块602、检测模块603、第一替换模块604、第二获取模块605、确定模块606和第二替换模块607)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行问题解析装置的各种功能应用以及数据处理,即实现上述方法实施例中的文本扰动检测方法、文本扰动还原方法或文本扰动处理方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图12中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过对文本进行分词,获取每个词的上下文向量表示,根据上下文向量表示检测出文本中的扰动词,以实现文本扰动检测。在检测出扰动词之后,通过对扰动词进行掩码处理,获取掩码标志的预估上下文向量表示,根据预估上下文向量表示确定扰动词的替换词,以实现文本扰动还原。通过上述文本扰动检测和文本扰动还原过程,能够有效地消除文本扰动,在文本扰动消除之后再对文本进行审核,能够降低文本审核风险,提高文本审核效果,解决了现有技术中所存在的问题。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (12)
1.一种文本扰动检测方法,其特征在于,所述方法包括:
对第一文本进行分词,得到第一词序列;
获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示;
根据所述第一词序列的每个词的上下文向量表示,检测所述第一词序列中的扰动词;
其中,所述根据所述第一词序列的每个词的上下文向量表示,检测所述第一词序列中的扰动词,包括:
将所述第一词序列的每个词的上下文向量表示输入至逻辑回归分类器,以得到所述第一词序列的每个词的二分类表示,所述二分类表示用于表征当前词是否为扰动词;
根据所述第一词序列的每个词的二分类表示,检测所述第一词序列中的扰动词。
2.根据权利要求1所述的方法,其特征在于,所述获取所述第一词序列的每个词的上下文向量表示,包括:
获取所述第一词序列的每个词的输入向量表示,所述输入向量表示与当前词、当前词所属语句以及当前词在所属语句中所处位置有关;
根据所述第一词序列的每个词的输入向量表示,得到所述第一词序列的每个词的上下文向量表示。
3.根据权利要求2所述的方法,其特征在于,所述获取所述第一词序列的每个词的输入向量表示,包括:
获取所述第一词序列的每个词的词向量表示、语句向量表示和位置向量表示,所述语句向量表示为当前词所属语句的向量表示,所述位置向量表示为当前词在所属语句中所处位置的向量表示;
根据所述词向量表示、所述语句向量表示和所述位置向量表示,得到所述第一词序列的每个词的输入向量表示。
4.根据权利要求3所述的方法,其特征在于,所述词向量表示、所述语句向量表示和所述位置向量表示的维度相等;
所述根据所述词向量表示、所述语句向量表示和所述位置向量表示,得到所述第一词序列的每个词的输入向量表示,包括:
将所述词向量表示、所述语句向量表示和所述位置向量表示的对应位置相加,以得到所述第一词序列的每个词的输入向量表示。
5.一种文本扰动还原方法,其特征在于,所述方法包括:
将第一词序列中的第一扰动词替换为掩码标志,以得到第二词序列;其中,所述第一词序列为对第一文本进行分词得到的词序列;
获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示;
根据所述预估上下文向量表示,确定所述第一扰动词的替换词;
将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列;
其中,所述根据所述预估上下文向量表示,确定所述第一扰动词的替换词,包括:
在预先创建的向量表示语料库中,查找向量表示与所述预估上下文向量表示之间的距离在预设范围内的K个词,所述K为正整数;
从所述K个词中选择所述第一扰动词的替换词。
6.根据权利要求5所述的方法,其特征在于,所述从所述K个词中选择所述第一扰动词的替换词,包括:
从所述K个词中,选择与所述第一扰动词相似度最近的词作为所述替换词。
7.一种文本扰动处理方法,其特征在于,所述方法包括:
对第一文本进行分词,得到第一词序列;
获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示;
根据所述第一词序列的每个词的上下文向量表示,检测所述第一词序列中的扰动词,所述扰动词包括第一扰动词;
将所述第一词序列中的所述第一扰动词替换为掩码标志,以得到第二词序列;
获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示;
根据所述预估上下文向量表示,确定所述第一扰动词的替换词;
将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列;
其中,根据所述第一词序列的每个词的上下文向量表示,检测所述第一词序列中的扰动词,包括:
将所述第一词序列的每个词的上下文向量表示输入至逻辑回归分类器,以得到所述第一词序列的每个词的二分类表示,所述二分类表示用于表征当前词是否为扰动词;
根据所述第一词序列的每个词的二分类表示,检测所述第一词序列中的扰动词;
所述根据所述预估上下文向量表示,确定所述第一扰动词的替换词,包括:
在预先创建的向量表示语料库中,查找向量表示与所述预估上下文向量表示之间的距离在预设范围内的K个词,所述K为正整数;
从所述K个词中选择所述第一扰动词的替换词。
8.一种文本扰动检测装置,其特征在于,包括:
分词模块,用于对第一文本进行分词,得到第一词序列;
获取模块,用于获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示;
检测模块,用于根据所述上下文向量表示,检测所述第一词序列中的扰动词;
其中,所述检测模块具体用于:
将所述第一词序列的每个词的上下文向量表示输入至逻辑回归分类器,以得到所述第一词序列的每个词的二分类表示,所述二分类表示用于表征当前词是否为扰动词;
根据所述第一词序列的每个词的二分类表示,检测所述第一词序列中的扰动词。
9.一种文本扰动还原装置,其特征在于,包括:
第一替换模块,用于将第一词序列中的第一扰动词替换为掩码标志,以得到第二词序列;其中,所述第一词序列为对第一文本进行分词得到的词序列;
获取模块,用于获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示;
确定模块,用于根据所述预估上下文向量表示,确定所述第一扰动词的替换词;
第二替换模块,用于将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列;
其中,所述确定模块包括:
查找子模块,用于在预先创建的向量表示语料库中,查找向量表示与所述预估上下文向量表示之间的距离在预设范围内的K个词,所述K为正整数;
选择子模块,用于从所述K个词中选择所述第一扰动词的替换词。
10.一种文本扰动处理装置,其特征在于,包括:
分词模块,用于对第一文本进行分词,得到第一词序列;
第一获取模块,用于获取所述第一词序列的每个词的上下文向量表示,所述上下文向量表示为融合了当前词的上下文信息的向量表示;
检测模块,用于根据所述第一词序列的每个词的上下文向量表示,检测所述第一词序列中的扰动词,所述扰动词包括第一扰动词;
第一替换模块,用于将所述第一词序列中的所述第一扰动词替换为掩码标志,以得到第二词序列;
第二获取模块,用于获取所述掩码标志的预估上下文向量表示,所述预估上下文向量表示为融合了所述掩码标志的上下文信息的向量表示;
确定模块,用于根据所述预估上下文向量表示,确定所述第一扰动词的替换词;
第二替换模块,用于将所述第一词序列中的所述第一扰动词替换为所述替换词,以得到第三词序列;
其中,所述检测模块具体用于:
将所述第一词序列的每个词的上下文向量表示输入至逻辑回归分类器,以得到所述第一词序列的每个词的二分类表示,所述二分类表示用于表征当前词是否为扰动词;
根据所述第一词序列的每个词的二分类表示,检测所述第一词序列中的扰动词;
所述确定模块包括:
查找子模块,用于在预先创建的向量表示语料库中,查找向量表示与所述预估上下文向量表示之间的距离在预设范围内的K个词,所述K为正整数;
选择子模块,用于从所述K个词中选择所述第一扰动词的替换词。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至4中任一项所述的方法,或者,以使所述至少一个处理器能够执行权利要求5或6所述的方法,或者,以使所述至少一个处理器能够执行权利要求7所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1至4中任一项所述的方法,或者,所述计算机指令用于使所述计算机执行权利要求5或6所述的方法,或者,以使至少一个处理器能够执行权利要求7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010607386.8A CN111783443B (zh) | 2020-06-29 | 2020-06-29 | 文本扰动检测方法、扰动还原方法、扰动处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010607386.8A CN111783443B (zh) | 2020-06-29 | 2020-06-29 | 文本扰动检测方法、扰动还原方法、扰动处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111783443A CN111783443A (zh) | 2020-10-16 |
CN111783443B true CN111783443B (zh) | 2023-08-15 |
Family
ID=72761164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010607386.8A Active CN111783443B (zh) | 2020-06-29 | 2020-06-29 | 文本扰动检测方法、扰动还原方法、扰动处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111783443B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158695A (zh) * | 2021-05-06 | 2021-07-23 | 上海极链网络科技有限公司 | 一种面向多语言混合文本的语义审核方法与系统 |
CN113204965B (zh) * | 2021-05-31 | 2024-07-02 | 平安科技(深圳)有限公司 | 关键词提取方法、装置、计算机设备及可读存储介质 |
CN113723506B (zh) * | 2021-08-30 | 2022-08-05 | 南京星环智能科技有限公司 | 一种对抗样本的生成方法、设备及存储介质 |
CN114724189B (zh) * | 2022-06-08 | 2022-09-02 | 南京信息工程大学 | 一种目标识别的对抗样本防御模型训练方法、系统及应用 |
US20230409832A1 (en) * | 2022-06-16 | 2023-12-21 | International Business Machines Corporation | System and method for generating contrastive explanations for text guided by attributes |
CN115809662B (zh) * | 2023-02-03 | 2023-04-25 | 北京匠数科技有限公司 | 一种文本内容异常检测的方法、装置、设备及介质 |
CN117332038B (zh) * | 2023-09-19 | 2024-07-02 | 鹏城实验室 | 文本信息检测方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712453A (zh) * | 2018-08-30 | 2018-10-26 | 杭州安恒信息技术股份有限公司 | 基于逻辑回归算法的注入攻击检测方法、装置和服务器 |
CN110196894A (zh) * | 2019-05-30 | 2019-09-03 | 北京百度网讯科技有限公司 | 语言模型的训练方法和预测方法 |
CN110941959A (zh) * | 2018-09-21 | 2020-03-31 | 阿里巴巴集团控股有限公司 | 文本违规检测、文本还原方法、数据处理方法及设备 |
CN110968671A (zh) * | 2019-12-03 | 2020-04-07 | 北京声智科技有限公司 | 一种基于Bert的意图确定方法及装置 |
CN111159338A (zh) * | 2019-12-23 | 2020-05-15 | 北京达佳互联信息技术有限公司 | 一种恶意文本的检测方法、装置、电子设备及存储介质 |
CN111259663A (zh) * | 2020-01-14 | 2020-06-09 | 北京百度网讯科技有限公司 | 信息处理方法和装置 |
-
2020
- 2020-06-29 CN CN202010607386.8A patent/CN111783443B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712453A (zh) * | 2018-08-30 | 2018-10-26 | 杭州安恒信息技术股份有限公司 | 基于逻辑回归算法的注入攻击检测方法、装置和服务器 |
CN110941959A (zh) * | 2018-09-21 | 2020-03-31 | 阿里巴巴集团控股有限公司 | 文本违规检测、文本还原方法、数据处理方法及设备 |
CN110196894A (zh) * | 2019-05-30 | 2019-09-03 | 北京百度网讯科技有限公司 | 语言模型的训练方法和预测方法 |
CN110968671A (zh) * | 2019-12-03 | 2020-04-07 | 北京声智科技有限公司 | 一种基于Bert的意图确定方法及装置 |
CN111159338A (zh) * | 2019-12-23 | 2020-05-15 | 北京达佳互联信息技术有限公司 | 一种恶意文本的检测方法、装置、电子设备及存储介质 |
CN111259663A (zh) * | 2020-01-14 | 2020-06-09 | 北京百度网讯科技有限公司 | 信息处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
Kevin Clark等.ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS.arXiv.2020,第1-18页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111783443A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111783443B (zh) | 文本扰动检测方法、扰动还原方法、扰动处理方法和装置 | |
KR102532396B1 (ko) | 데이터 세트 처리 방법, 장치, 전자 기기 및 저장 매체 | |
CN106598939B (zh) | 一种文本纠错方法及装置、服务器、存储介质 | |
JP7317791B2 (ja) | エンティティ・リンキング方法、装置、機器、及び記憶媒体 | |
KR102472708B1 (ko) | 감정 분석 모델을 사전 트레이닝하는 방법, 장치 및 전자 기기 | |
US20210390260A1 (en) | Method, apparatus, device and storage medium for matching semantics | |
CN112507715A (zh) | 确定实体之间关联关系的方法、装置、设备和存储介质 | |
US20220067439A1 (en) | Entity linking method, electronic device and storage medium | |
CN112507101B (zh) | 一种建立预训练语言模型的方法和装置 | |
CN111950292A (zh) | 文本纠错模型的训练方法、文本纠错处理方法和装置 | |
CN111078878B (zh) | 文本处理方法、装置、设备及计算机可读存储介质 | |
US20210406467A1 (en) | Method and apparatus for generating triple sample, electronic device and computer storage medium | |
CN111737954A (zh) | 文本相似度确定方法、装置、设备和介质 | |
Jiang et al. | An LSTM-CNN attention approach for aspect-level sentiment classification | |
US11704326B2 (en) | Generalization processing method, apparatus, device and computer storage medium | |
JP7286737B2 (ja) | テキスト誤り訂正方法、装置、電子デバイス、記憶媒体及びプログラム | |
CN111738015B (zh) | 文章情感极性分析方法、装置、电子设备及存储介质 | |
CN111753532A (zh) | 西文文本的纠错方法和装置、电子设备及存储介质 | |
CN113420822A (zh) | 模型训练方法和装置、文本预测方法和装置 | |
CN112507697A (zh) | 事件名的生成方法、装置、设备及介质 | |
Wong et al. | iSentenizer‐μ: Multilingual Sentence Boundary Detection Model | |
US11966700B2 (en) | Neural tagger with deep multi-level model | |
CN110990569B (zh) | 文本聚类方法、装置及相关设备 | |
US20210280189A1 (en) | Method and apparatus for generating conversation, electronic device, and storage medium | |
Chavali et al. | A study on named entity recognition with different word embeddings on gmb dataset using deep learning pipelines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |