CN116108132A - 短信文本的审核方法和装置 - Google Patents
短信文本的审核方法和装置 Download PDFInfo
- Publication number
- CN116108132A CN116108132A CN202211398075.0A CN202211398075A CN116108132A CN 116108132 A CN116108132 A CN 116108132A CN 202211398075 A CN202211398075 A CN 202211398075A CN 116108132 A CN116108132 A CN 116108132A
- Authority
- CN
- China
- Prior art keywords
- short message
- word
- template
- text
- auditing
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 239000013598 vector Substances 0.000 claims abstract description 194
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000003058 natural language processing Methods 0.000 claims abstract description 28
- 230000011218 segmentation Effects 0.000 claims abstract description 26
- 238000012549 training Methods 0.000 claims abstract description 19
- 238000001514 detection method Methods 0.000 claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 14
- 230000035945 sensitivity Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 15
- 238000012550 audit Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 6
- 238000012384 transportation and delivery Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000007711 solidification Methods 0.000 description 2
- 230000008023 solidification Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种短信文本的审核方法和装置,本方法通过获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集;利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量;当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。本申请解决相关技术中短信检测性能较低、耗费资源多的技术问题,实现在满足检测精度的同时,又能满足高并发的性能要求,节约了服务器成本。
Description
技术领域
本申请属于计算机技术领域,具体而言,涉及一种短信文本的审核方法和装置。
背景技术
短信发送中有几个特点:并发量高,内容重复率高,但变量短信内容根据不同用户会有所不同,如变量短信中的姓名,地址等,例如一个典型的变量短信内容:【公司名称】尊敬的{XX}用户您好,您的快递已经放到您的地址{XX小区门口},请注意查收,谢谢!这条短信中存在两个变量,姓名和小区名称。因为每条短信的内容不一样,无法判定这个短信一定是合规的。
传统的模式下,需要对每条短信都进行检测,这种做法满足了检测精度要求,但是在性能上是有问题的,在高并发短信发送的过程中,如果采用传统模式,计算量很大,性能较低,如果要满足要求,需要较多的服务器支撑,这样就增大的成本。
针对相关技术中短信检测性能较低、耗费资源多的技术问题,目前尚未提出有效的解决方案。
发明内容
因此,本申请实施例在于提供一种短信文本的审核方法、装置、电子设备及存储介质,旨在解决上述现有技术存在的至少一个问题。
为实现上述目的,第一方面,本申请提供了一种短信文本的审核方法,包括:
获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集;
利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量;
当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。
在一个实施例中,所述缓存中的短信模板的模板词向量通过以下方式得到:获取短信模板的模板文本内容,基于自然语言处理算法对所述模板文本内容进行分词处理,得到所述模板文本内容对应的模板词集,利用预训练语言模型BERT模型将所模板词集转换为所述模板词向量,将所述模板词向量存储至缓存中。
在一个实施例中,在利用预训练语言模型BERT模型将所模板词集转换为所述模板词向量之前,还包括:利用确定性有限自动机算法树对所述模板词集进行违规词检测。
在一个实施例中,在利用确定性有限自动机算法树对所述模板词集进行违规词检测之后,还包括:根据文本检测模型对所述词集进行违规内容检测。
在一个实施例中,当所述匹配结果为未匹配到时,直接计算所述短信词向量与所述模板词向量的相似度,基于所述相似度确定审核结果,且将所述待发送短信作为短信模板加入至模板队列,执行短信模板的模板词向量的获得方式的步骤。
在一个实施例中,当所述短信词向量的数量小于预设值时,直接计算所述短信词向量与所述模板词向量的相似度,基于所述相似度确定审核结果。
在一个实施例中,所述将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,包括:基于预设阈值,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,其中,所述阈值通过以下公式动态计算得到:Th=(N-q)/N,其中N>=8,是短信词向量的个数;q>=1,是灵敏调节因子。
第二方面,本申请还提供了一种短信文本的审核装置,包括:
处理模块,用于获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集;
转换模块,用于利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量;
审核模块,用于当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。
第三方面,本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述短信文本的审核方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述短信文本的审核方法的步骤。
本申请实施例提供的一种短信文本的审核方法、装置、电子设备及存储介质,通过获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集;利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量;当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。解决了相关技术中短信检测性能较低、耗费资源多的技术问题,实现了以下有益效果:在满足检测精度的同时,又能满足高并发的性能要求,节约了服务器成本。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的短信文本的审核方法的实现流程;
图2为本申请实施例提供的短信文本的审核方法的主要处理流程图;
图3为本申请实施例提供的短信文本的审核装置的主要模块示意图;
图4为本申请实施例提供的可以应用于其中的示例性系统架构图;
图5为适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
另外,术语“多个”的含义应为两个以及两个以上。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本申请实施例提供的一种短信文本的审核方法的实现流程,图2示出了本申请实施例提供的短信文本的审核方法的主要处理流程图,为了便于说明,仅示出与本申请实施例相关的部分,详述如下:
一种短信文本的审核方法,包括以下步骤:
S101:获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集;
S102:利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量;
S103:当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。
在步骤S101中:获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集。用户发送的短信文本都需要经过合规性的审核,用户在发送短信之前,可以对待发送短信的短信文本内容进行获取,然后基于自然语言处理算法对短信文本内容进行分词处理,得到若干个该短信文本内容对应的词语,形成对应的短信词集。
在这里,自然语言处理算法选用NLP算法,获取到待发送短信的短信文本内容后,对短信文本内容进行NLP分词处理,得到短信文本对应的词集。
例如,某条待发送短信的短信文本内容为“您的快递已经送达”,则可以将该短信文本内容进行NLP分词处理后得到词集“{您}{的}{快递}{已经}{送达}”。
需要说明的是,短信的合规性是指短信的文本内容需符合法律法规,需符合社会主义价值观,不能出现诋毁、宣传违法事件的词汇等,具体也可以根据客户的需求进行合规敏感词的设定,符合客户定义的合规性。
在步骤S102中:利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量。通过利用预训练语言模型BERT模型将短信词集中的词语转换为词向量,得到短信词集中每个词对应的短信词向量,由此可以将该短信文本内容转换为向量形式,以便于后面的相似度计算对比。将该短信文本内容的短信词集转换为短信词向量后,就可以用预先存储在本地缓存中的该短信模板对应的模板词向量进行相似度对比进而审核短信文本内容是否合规。进而,可以通过将短信文本内容转换为短信词向量后与预存储的模板进行比对计算,可以节省服务器资源,减少计算量。
在步骤S103中:当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。对短信文本内容进行分词转换为短信词向量后,判断短信词向量的数量是否不小于预设值,在这里,预设值可以根据具体场景具体调整,通常情况设定为8。只有当短信词向量的数量大于等于预设值时,才将该短信词向量跟预先存储在缓存中的短信模板的模板词向量进行比对通过模板匹配计算,以提高计算效率,节省计算资源。当短信词向量的数量大于等于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。
在一个实施例中,当所述短信词向量的数量小于预设值时,直接计算所述短信词向量与所述模板词向量的相似度,基于所述相似度确定审核结果。需要说明的是,预先设置有相似度的相似度阈值,当计算出的相似度的值大于等于预设的相似度阈值时,审核结果为通过,否则,未通过。例如,设置的相似度阈值为0.8,当短信词向量的数量小于8时,通过一一比对直接计算该短信词向量中每个词语的词向量与短信模板中每个词的词向量的相似度,然后得到相似度值为0.9,则该短信文本内容的审核结果为通过,若得到的相似度值为0.6,则该短信文本的审核内容为未通过。
示例性的,短信文本内容为“{您}{的}{快递}{已经}{送达}”,短信模板文本内容为“{您}{的}{快递}{已经}{送到}”,则直接计算的方式为,分别一个一个词比较即可,得到的相似度值为0.8。
在一个实施例中,所述将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,包括:基于预设阈值,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,其中,所述阈值通过以下公式动态计算得到:Th=(N-q)/N,其中N>=8,是短信词向量的个数;q>=1,是灵敏调节因子。通过将所述短信词向量与所述模板词向量进行余弦相似度计算得出相似度计算值,将该相似度值与预设的阈值进行对比得到匹配结果,当相似度计算值大于等于预设阈值时,匹配结果为通过,当相似度计算值小于预设阈值时,匹配结果为未通过。
需要说明的是,预先设置有余弦相似度计算的对比阈值,当所述短信词向量与所述模板词向量进行余弦相似度计算的结果值大于等于阈值时,匹配结果为匹配到,即短信文本内容的审核结果为通过;否则为未匹配到,即短信文本内容的审核结果为未通过。
在这里,对比阈值为可动态调整的,可以实现预设阈值的动态调整,根据词向量个数而自适应的公式,可以很好地保留了整个流程中审核文本的精确度,同时又提升了系统的性能。因为文本的长度越长,判断文本的相似度也会更加容易,因此要求也会更高,只有更加接近模板,才会认为内容是正确的。q越小灵敏度越高,在实际使用过程中,可以根据具体场景调整q因子,q因子越小对阈值的要求越高,一般情况下,短信中的变量越多,q因子应该越大。例如,当N=8的时候,Th阈值=0.875;当N=9的时候,Th阈值=0.889;当N=10的时候,Th阈值=0.9;当N=11的时候,Th阈值=0.91;当N越大的时候,那么Th阈值越接近1。
需要说明的是,短信发送中有几个特点:并发量高,内容重复率高,但变量短信内容根据不同用户会有所不同,如变量短信中的姓名,地址等,例如一个典型的变量短信内容:【公司名称】尊敬的{XX}用户您好,您的快递已经放到您的地址{XX小区门口},请注意查收,谢谢!这条短信中存在两个变量,姓名和小区名称。因为每条短信的内容不一样,我们不能判定这个短信一定是合规的。传统的模式下,需要对每条短信都进行检测,这种做法满足了检测精度要求,但是在性能上是有问题的,在高并发短信发送的过程中,如果采用传统模式,计算量很大,性能较低,如果要满足要求,需要较多的服务器支撑,这样就增大的成本。因此,本申请通过短信模板提高计算效率,降低服务器资源使用率,性能较高。
在一个实施例中,所述缓存中的短信模板的模板词向量通过以下方式得到:获取短信模板的模板文本内容,基于自然语言处理算法(NLP算法)对所述模板文本内容进行分词处理,得到所述模板文本内容对应的模板词集,利用预训练语言模型BERT模型将所模板词集转换为所述模板词向量,将所述模板词向量存储至缓存中。
在一个实施例中,在利用预训练语言模型BERT模型将所模板词集转换为所述模板词向量之前,还包括:利用确定性有限自动机算法树(DFA树)对所述模板词集进行违规词检测,以识别出短信模板中的违规词。
在一个实施例中,在利用确定性有限自动机算法树对所述模板词集进行违规词检测之后,还包括:根据文本检测模型对所述词集进行违规内容检测,以检测短信模板中的违规内容。在这里,可以使用fasttext模型。
需要说明的是,每个用户可能会有多个短信模板,每个短信模板的审核方法都可以通过上述方法实现,审核完成的短信模板可以存储到本地缓存中,在这里,可以选用redis缓存,以便于数据的查询获取。通过预先将短信模板内容进行向量化并进行Redis缓存,使得后续的短信文本内容可以利用余弦相似度计算和短信模板内容进行匹配来降低计算量,由此实现服务资源的节省,大大提高了系统性能。
在一个实施例中,当所述匹配结果为未匹配到时,直接计算所述短信词向量与所述模板词向量的相似度,基于所述相似度确定审核结果,且将所述待发送短信作为短信模板加入至模板队列,执行短信模板的模板词向量的获得方式的步骤。在这里,当通过对所述短信词向量与所述模板词向量进行余弦相似度匹配未得到匹配结果,即计算的余弦相似度值小于预设的对比阈值时,直接计算所述短信词向量与所述模板词向量的相似度,根据预设的相似度阈值进行确定审核结果。在这里,可以预先设置有相似度的相似度阈值,当计算出的相似度的值大于等于预设的相似度阈值时,审核结果为通过,否则,未通过。例如,设置的相似度阈值为0.8,当所述匹配结果为未匹配到时,通过一一比对直接计算该短信词向量中每个词语的词向量与短信模板中每个词的词向量的相似度,然后得到相似度值为0.9,则该短信文本内容的审核结果为通过,若得到的相似度值为0.6,则该短信文本的审核内容为未通过。
在这里,在计算过程中没有和短信模板匹配中的文本,可能是新的短信模板,因此,当审核结果确定完毕后,将该短信文本作为新的短信模板加入至模板队列,执行上述短信模板固化步骤,即将短信模板预先进行分词,然后向量化并存储至本地缓存的步骤,由此,下次有类似的文本再次进入审核的时候就不需要重复计算了,在后续有相同的短信文本内容需要审核时,便可以直接通过短信模板进行余弦相似度匹配得到审核结果,避免浪费计算资源,由此大大的降低了计算量,节省了服务资源。
由此,本申请实施例提供的短信文本的审核方法,通过获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集;利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量;当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。解决了相关技术中短信检测性能较低、耗费资源多的技术问题,实现了以下有益效果:在满足检测精度的同时,又能满足高并发的性能要求,节约了服务器成本。
图3示出了本申请实施例提供的短信文本的审核装置的主要模块示意图,为了便于说明,仅示出与本申请实施例相关的部分,详述如下:
一种短信文本的审核装置200,包括:
处理模块201,用于获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集;
转换模块202,用于利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量;
审核模块203,用于当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。
对于处理模块201,用于获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集。用户发送的短信文本都需要经过合规性的审核,用户在发送短信之前,可以对待发送短信的短信文本内容进行获取,然后基于自然语言处理算法对短信文本内容进行分词处理,得到若干个该短信文本内容对应的词语,形成对应的短信词集。
在这里,自然语言处理算法选用NLP算法,获取到待发送短信的短信文本内容后,对短信文本内容进行NLP分词处理,得到短信文本对应的词集。
例如,某条待发送短信的短信文本内容为“您的快递已经送达”,则可以将该短信文本内容进行NLP分词处理后得到词集“{您}{的}{快递}{已经}{送达}”。
对于转换模块202,用于利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量。通过利用预训练语言模型BERT模型将短信词集中的词语转换为词向量,得到短信词集中每个词对应的短信词向量,由此可以将该短信文本内容转换为向量形式,以便于后面的相似度计算对比。将该短信文本内容的短信词集转换为短信词向量后,就可以用预先存储在本地缓存中的该短信模板对应的模板词向量进行相似度对比进而审核短信文本内容是否合规。进而,可以通过将短信文本内容转换为短信词向量后与预存储的模板进行比对计算,可以节省服务器资源,减少计算量。
对于审核模块203,用于当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。对短信文本内容进行分词转换为短信词向量后,判断短信词向量的数量是否不小于预设值,在这里,预设值可以根据具体场景具体调整,通常情况设定为8。只有当短信词向量的数量大于等于预设值时,才将该短信词向量跟预先存储在缓存中的短信模板的模板词向量进行比对通过模板匹配计算,以提高计算效率,节省计算资源。当短信词向量的数量大于等于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。
在一个实施例中,当所述短信词向量的数量小于预设值时,直接计算所述短信词向量与所述模板词向量的相似度,基于所述相似度确定审核结果。需要说明的是,预先设置有相似度的相似度阈值,当计算出的相似度的值大于等于预设的相似度阈值时,审核结果为通过,否则,未通过。例如,设置的相似度阈值为0.8,当短信词向量的数量小于8时,通过一一比对直接计算该短信词向量中每个词语的词向量与短信模板中每个词的词向量的相似度,然后得到相似度值为0.9,则该短信文本内容的审核结果为通过,若得到的相似度值为0.6,则该短信文本的审核内容为未通过。
示例性的,短信文本内容为“{您}{的}{快递}{已经}{送达}”,短信模板文本内容为“{您}{的}{快递}{已经}{送到}”,则直接计算的方式为,分别一个个词比较即可,得到的相似度值为0.8。
在一个实施例中,所述将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,包括:基于预设阈值,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,其中,所述阈值通过以下公式动态计算得到:Th=(N-q)/N,其中N>=8,是短信词向量的个数;q>=1,是灵敏调节因子。通过将所述短信词向量与所述模板词向量进行余弦相似度计算得出相似度计算值,将该相似度值与预设的阈值进行对比得到匹配结果,当相似度计算值大于等于预设阈值时,匹配结果为通过,当相似度计算值小于预设阈值时,匹配结果为未通过。
需要说明的是,预先设置有余弦相似度计算的对比阈值,当所述短信词向量与所述模板词向量进行余弦相似度计算的结果值大于等于阈值时,匹配结果为匹配到,即短信文本内容的审核结果为通过;否则为未匹配到,即短信文本内容的审核结果为未通过。
在这里,对比阈值为可动态调整的,可以实现预设阈值的动态调整,根据词向量个数而自适应的公式,可以很好地保留了整个流程中审核文本的精确度,同时又提升了系统的性能。因为文本的长度越长,判断文本的相似度也会更加容易,因此要求也会更高,只有更加接近模板,才会认为内容是正确的。q越小灵敏度越高,在实际使用过程中,可以根据具体场景调整q因子,q因子越小对阈值的要求越高,一般情况下,短信中的变量越多,q因子应该越大。例如,当N=8的时候,Th阈值=0.875;当N=9的时候,Th阈值=0.889;当N=10的时候,Th阈值=0.9;当N=11的时候,Th阈值=0.91;当N越大的时候,那么Th阈值越接近1。
需要说明的是,短信发送中有几个特点:并发量高,内容重复率高,但变量短信内容根据不同用户会有所不同,如变量短信中的姓名,地址等,例如一个典型的变量短信内容:【公司名称】尊敬的{XX}用户您好,您的快递已经放到您的地址{XX小区门口},请注意查收,谢谢!这条短信中存在两个变量,姓名和小区名称。因为每条短信的内容不一样,我们不能判定这个短信一定是合规的。传统的模式下,需要对每条短信都进行检测,这种做法满足了检测精度要求,但是在性能上是有问题的,在高并发短信发送的过程中,如果采用传统模式,计算量很大,性能较低,如果要满足要求,需要较多的服务器支撑,这样就增大的成本。因此,本申请通过短信模板提高计算效率,降低服务器资源使用率,性能较高。
在一个实施例中,所述缓存中的短信模板的模板词向量通过以下方式得到:获取短信模板的模板文本内容,基于自然语言处理算法(NLP算法)对所述模板文本内容进行分词处理,得到所述模板文本内容对应的模板词集,利用预训练语言模型BERT模型将所模板词集转换为所述模板词向量,将所述模板词向量存储至缓存中。
在一个实施例中,在利用预训练语言模型BERT模型将所模板词集转换为所述模板词向量之前,还包括:利用确定性有限自动机算法树(DFA树)对所述模板词集进行违规词检测,以识别出短信模板中的违规词。
在一个实施例中,在利用确定性有限自动机算法树对所述模板词集进行违规词检测之后,还包括:根据文本检测模型对所述词集进行违规内容检测,以检测短信模板中的违规内容。在这里,可以使用fasttext模型。
需要说明的是,每个用户可能会有多个短信模板,每个短信模板的审核方法都可以通过上述方法实现,审核完成的短信模板可以存储到本地缓存中,在这里,可以选用redis缓存,以便于数据的查询获取。通过预先将短信模板内容进行向量化并进行Redis缓存,使得后续的短信文本内容可以利用余弦相似度计算和短信模板内容进行匹配来降低计算量,由此实现服务资源的节省,大大提高了系统性能。
在一个实施例中,当所述匹配结果为未匹配到时,直接计算所述短信词向量与所述模板词向量的相似度,基于所述相似度确定审核结果,且将所述待发送短信作为短信模板加入至模板队列,执行短信模板的模板词向量的获得方式的步骤。在这里,当通过对所述短信词向量与所述模板词向量进行余弦相似度匹配未得到匹配结果,即计算的余弦相似度值小于预设的对比阈值时,直接计算所述短信词向量与所述模板词向量的相似度,根据预设的相似度阈值进行确定审核结果。在这里,可以预先设置有相似度的相似度阈值,当计算出的相似度的值大于等于预设的相似度阈值时,审核结果为通过,否则,未通过。例如,设置的相似度阈值为0.8,当所述匹配结果为未匹配到时,通过一一比对直接计算该短信词向量中每个词语的词向量与短信模板中每个词的词向量的相似度,然后得到相似度值为0.9,则该短信文本内容的审核结果为通过,若得到的相似度值为0.6,则该短信文本的审核内容为未通过。
在这里,在计算过程中没有和短信模板匹配中的文本,可能是新的短信模板,因此,当审核结果确定完毕后,将该短信文本作为新的短信模板加入至模板队列,执行上述短信模板固化步骤,即将短信模板预先进行分词,然后向量化并存储至本地缓存的步骤,由此,下次有类似的文本再次进入审核的时候就不需要重复计算了,在后续有相同的短信文本内容需要审核时,便可以直接通过短信模板进行余弦相似度匹配得到审核结果,避免浪费计算资源,由此大大的降低了计算量,节省了服务资源。
由此,本申请实施例提供的短信文本的审核装置,包括:处理模块201,用于获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集;转换模块202,用于利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量;审核模块203,用于当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。解决了相关技术中短信检测性能较低、耗费资源多的技术问题,实现了以下有益效果:在满足检测精度的同时,又能满足高并发的性能要求,节约了服务器成本。
本申请实施例还提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本申请实施例的短信文本的审核方法。
本申请实施例还提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现本申请实施例的短信文本的审核方法。
图4示出了可以应用本申请实施例的短信文本的审核方法或装置的示例性系统架构300。
如图4所示,系统架构300可以包括终端设备301、302、303,网络304和服务器305。网络304用以在终端设备301、302、303和服务器305之间提供通信链路的介质。网络304可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备301、302、303通过网络304与服务器305交互,以接收或发送消息等。终端设备301、302、303上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备301、302、303可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器305可以是提供各种服务的服务器,例如对用户利用终端设备301、302、303所发送的往来消息提供支持的后台管理服务器。后台管理服务器可以在接收到终端设备请求后进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本申请实施例所提供的短信文本的审核方法一般由终端设备301、302、303或服务器305执行,相应地,短信文本的审核装置一般设置于终端设备301、302、303或服务器305中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本申请实施例的电子设备的计算机系统400的结构示意图。图5示出的计算机系统仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括确定模块、提取模块、训练模块和筛选模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,确定模块还可以被描述为“确定候选用户集的模块”。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种短信文本的审核方法,其特征在于,包括:
获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集;
利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量;
当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。
2.根据权利要求1所述的短信文本的审核方法,其特征在于,所述缓存中的短信模板的模板词向量通过以下方式得到:获取短信模板的模板文本内容,基于自然语言处理算法对所述模板文本内容进行分词处理,得到所述模板文本内容对应的模板词集,利用预训练语言模型BERT模型将所模板词集转换为所述模板词向量,将所述模板词向量存储至缓存中。
3.根据权利要求2所述的短信文本的审核方法,其特征在于,在利用预训练语言模型BERT模型将所模板词集转换为所述模板词向量之前,还包括:利用确定性有限自动机算法树对所述模板词集进行违规词检测。
4.根据权利要求3所述的短信文本的审核方法,其特征在于,在利用确定性有限自动机算法树对所述模板词集进行违规词检测之后,还包括:根据文本检测模型对所述词集进行违规内容检测。
5.根据权利要求4所述的短信文本的审核方法,其特征在于,当所述匹配结果为未匹配到时,直接计算所述短信词向量与所述模板词向量的相似度,基于所述相似度确定审核结果,且将所述待发送短信作为短信模板加入至模板队列,执行短信模板的模板词向量的获得方式的步骤。
6.根据权利要求1所述的短信文本的审核方法,其特征在于,当所述短信词向量的数量小于预设值时,直接计算所述短信词向量与所述模板词向量的相似度,基于所述相似度确定审核结果。
7.根据权利要求1所述的短信文本的审核方法,其特征在于,所述将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,包括:基于预设阈值,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,其中,所述阈值通过以下公式动态计算得到:Th=(N-q)/N,其中N>=8,是短信词向量的个数;q>=1,是灵敏调节因子。
8.一种短信文本的审核装置,其特征在于,包括:
处理模块,用于获取待发送短信的短信文本内容,基于自然语言处理算法对所述短信文本内容进行分词处理,得到所述短信文本内容对应的短信词集;
转换模块,用于利用预训练语言模型BERT模型将所述短信词集转换为词向量,得到所述短信词集中每个词对应的短信词向量;
审核模块,用于当所述短信词向量的数量不小于预设值时,查询获取缓存中的与所述待发送短信对应的短信模板的模板词向量,将所述短信词向量与所述模板词向量进行余弦相似度匹配得到匹配结果,基于所述匹配结果确定所述短信文本的审核结果。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至7中任一项所述的短信文本的审核方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至7中任一项所述的短信文本的审核方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211398075.0A CN116108132B (zh) | 2022-11-09 | 2022-11-09 | 短信文本的审核方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211398075.0A CN116108132B (zh) | 2022-11-09 | 2022-11-09 | 短信文本的审核方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116108132A true CN116108132A (zh) | 2023-05-12 |
CN116108132B CN116108132B (zh) | 2024-04-19 |
Family
ID=86266369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211398075.0A Active CN116108132B (zh) | 2022-11-09 | 2022-11-09 | 短信文本的审核方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116108132B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612893A (zh) * | 2017-09-01 | 2018-01-19 | 北京百悟科技有限公司 | 短信的审核系统和方法以及构建短信审核模型方法 |
CN112036180A (zh) * | 2020-09-03 | 2020-12-04 | 中国银行股份有限公司 | 外呼短信文本审核方法及装置 |
CN112686049A (zh) * | 2020-12-23 | 2021-04-20 | 平安普惠企业管理有限公司 | 文本审核方法、装置、设备及存储介质 |
US20210374334A1 (en) * | 2020-05-29 | 2021-12-02 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method for training language model, electronic device and readable storage medium |
-
2022
- 2022-11-09 CN CN202211398075.0A patent/CN116108132B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612893A (zh) * | 2017-09-01 | 2018-01-19 | 北京百悟科技有限公司 | 短信的审核系统和方法以及构建短信审核模型方法 |
US20210374334A1 (en) * | 2020-05-29 | 2021-12-02 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method for training language model, electronic device and readable storage medium |
CN112036180A (zh) * | 2020-09-03 | 2020-12-04 | 中国银行股份有限公司 | 外呼短信文本审核方法及装置 |
CN112686049A (zh) * | 2020-12-23 | 2021-04-20 | 平安普惠企业管理有限公司 | 文本审核方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116108132B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190163742A1 (en) | Method and apparatus for generating information | |
CN112527649A (zh) | 一种测试用例的生成方法和装置 | |
CN111339743B (zh) | 一种账号生成的方法和装置 | |
CN110147507A (zh) | 一种获取短链接地址的方法、装置及服务器 | |
CN113076153A (zh) | 一种接口调用方法和装置 | |
CN110188113B (zh) | 一种利用复杂表达式进行数据比对的方法、装置及存储介质 | |
CN114297278A (zh) | 批量数据快速写入方法、系统和装置 | |
CN113507419B (zh) | 流量分发模型的训练方法、流量分发方法及装置 | |
CN112214770B (zh) | 恶意样本的识别方法、装置、计算设备以及介质 | |
CN110865797A (zh) | 处理业务动态属性的方法和装置 | |
CN110928594A (zh) | 服务开发方法和平台 | |
CN116560661A (zh) | 代码优化方法、装置、设备及存储介质 | |
CN116108132B (zh) | 短信文本的审核方法和装置 | |
CN111079185B (zh) | 数据库信息处理的方法、装置、存储介质及电子设备 | |
CN111131354B (zh) | 用于生成信息的方法和装置 | |
CN113987118A (zh) | 语料的获取方法、装置、设备及存储介质 | |
CN113066479A (zh) | 一种评测模型的方法和装置 | |
CN113052509A (zh) | 模型评估方法、模型评估装置、电子设备和存储介质 | |
CN113010666A (zh) | 摘要生成方法、装置、计算机系统及可读存储介质 | |
CN111753111A (zh) | 图片搜索方法和装置 | |
CN113157828B (zh) | 一种推送数据的方法和装置 | |
CN111754062B (zh) | 物品质量检测模型建立的方法和装置 | |
CN116911304B (zh) | 一种文本推荐方法及装置 | |
CN115374320B (zh) | 文本匹配方法、装置、电子设备、计算机介质 | |
CN108536362B (zh) | 用于识别操作的方法、装置及服务器 |
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 |