CN110705256B - 字符数量的统计方法、装置、设备及存储介质 - Google Patents
字符数量的统计方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110705256B CN110705256B CN201910825315.2A CN201910825315A CN110705256B CN 110705256 B CN110705256 B CN 110705256B CN 201910825315 A CN201910825315 A CN 201910825315A CN 110705256 B CN110705256 B CN 110705256B
- Authority
- CN
- China
- Prior art keywords
- character
- characters
- preset
- expression
- data
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及数据处理技术领域,公开了一种字符数量的统计方法、装置、设备及存储介质。该方法包括:监测用户终端界面中文本输入框内的字符的变化情况;在文本输入框内的字符发生变化时,统计文本输入框内的字符的数量,得到初始字符数量统计值;基于预设的正则表达式,筛选并统计文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量,预设表情字符为由多个字符进行表征的表情字符,预设多表情字符库涵盖了文本输入框支持输入的所有多字符表情;根据初始字符数量统计值和多字符表情数量,确定文本输入框内的实际字符数量。通过上述方式,解决了现有技术无法准确统计用户输入的字符数量的技术问题。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种字符数量的统计方法、装置、设备及存储介质。
背景技术
在网络互动的过程中,越来越多的网络用户希望将自己的情绪在互动过程中表达出来。在情绪表达过程中,利用表情字符可以形象生动的表达情绪的变化。
随着智能手机、平板电脑等智能移动终端的广泛普及,各类即时通讯应用软件被广泛应用于各种智能移动终端中,并且用户在使用即时通讯应用软件进行消息互动的过程中,为了将自己的情绪在互动过程中表达出来,经常会发送一些表情字符来表达自己的情绪。
但是,表情字符会由于其对应的UTF-16格式的统一码(Unicode,也称万国码、单一码)的长度不同,而分为2个字符长度的表情字符和1个字符长度的表情字符。而现有对字符表情长度的判断方式通常是采用\u+4(\u后面加4位Unicode码)的方式来判断表情字符长度。这就会存在将2个字符长度的表情字符判断为2个单独的表情,或者仅统计为一个字符长度,从而造成最后对用户输入内容的字符个数统计不准确的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种字符数量的统计方法、装置、设备及存储介质,旨在解决现有技术无法准确统计用户输入的字符数量的技术问题。
为实现上述目的,本发明提供了一种字符数量的统计方法,所述方法包括以下步骤:
监测用户终端界面中文本输入框内的字符的变化情况;
在所述文本输入框内的字符发生变化时,统计所述文本输入框内的字符的数量,得到初始字符数量统计值;
基于预设的正则表达式,筛选并统计所述文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量,所述预设表情字符为由多个字符进行表征的表情字符,所述预设多表情字符库涵盖了所述文本输入框支持输入的所有多字符表情;
根据所述初始字符数量统计值和多字符表情数量,确定所述文本输入框内的实际字符数量。
优选地,所述基于预设的正则表达式,筛选并统计所述文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量的步骤之前,所述方法还包括:
对所述文本输入框支持的表情字符库进行遍历,获取并记录当前表情字符对应的统一码,得到初始待分析数据;
从所述初始待分析数据中过滤出所述预设表情字符对应的统一码,得到目标待分析数据;
将所述目标待分析数据作为输入参数,输入预先构建的目标分析模型,得到第一分析结果和第二分析结果,所述第一分析结果为所述预设表情字符对应的统一码中取值相同的统一码取值,所述第二分析结果为所述预设表情字符对应的统一码中取值不同的统一码取值区间;
获取预设的正则表达式模板,所述正则表达式模板包括开头部分、固定部分、第一匹配部分和第二匹配部分;
将所述第一分析结果输入到所述正则表达式模板的第一匹配部分,将所述第二分析结果输入到所述正则表达式模板的第二匹配部分,得到所述正则表达式。
优选地,所述将所述目标待分析数据作为输入参数,输入预先构建的分析模型,得到第一分析结果和第二分析结果的步骤之前,所述方法还包括:
获取样本数据,并对所述样本数据进行数据清洗,得到目标样本数据;
采用留出法对所述目标样本数据进行划分,得到训练数据和测试数据,所述训练数据和所述测试数据互斥;
采用卷积神经网络算法,构建训练模型;
对所述训练数据进行标记,并将标记后的训练数据作为输入参数,输入到所述训练模型中进行处理,获得训练结果;
判断所述训练结果是否与标记后的所述训练数据对应的标记结果匹配;
若匹配,则将输出所述训练结果的训练模型确定为初始分析模型;若不匹配,则继续使用标记后的所述训练数据对所述训练模型进行训练,直到输出的训练结果与标记结果匹配;
对所述测试数据进行标记,并将标记后的所述测试数据作为输入参数,输入到所述初始分析模型中进行处理,获得验证结果;
判断所述验证结果是否与标记后的所述测试数据对应的标记结果匹配,若匹配,则将所述初始分析模型确定为所述目标分析模型。
优选地,所述基于预设的正则表达式,筛选并统计所述文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量的步骤,包括:
对所述文本输入框内的字符进行遍历,获取当前字符对应的统一码,并确定所述统一码对应的长度;
判断所述统一码对应的长度是否大于预设位数;
若所述统一码对应的长度大于预设位数,则提取所述统一码的前预设位数部分,得到第一识别部分,将剩余的统一码部分作为第二识别部分;
将所述第一识别部分与所述正则表达式中的第一匹配部分进行匹配,若所述第一识别部分与所述第一匹配部分匹配,遍历所述正则表达式中第二匹配部分的统一码取值区间,并将当前统一码取值与所述第二识别部分进行匹配,若所述第二识别部分与当前统一码取值匹配,则确定当前字符为所述预设表情字符;
累计所述预设表情字符的数量,获得多字符表情数量。
优选地,所述预设表情字符为由M个字符进行表征的表情字符,所述M为大于等于2的整数;
所述根据所述初始字符数量统计值和多字符表情数量,确定所述文本输入框内的实际字符数量的步骤,包括:
将所述多字符表情数量乘以M,得到多字符表情对应的第一字符数量统计值;
将所述初始字符数量统计值与所述多字符表情数量做减法运算,得到第二字符数量统计值;
将所述第一字符数量统计值和所述第二字符数量统计值做加法运算,得到所述文本输入框内的实际字符数量。
优选地,所述确定所述文本输入框内的实际字符数量的步骤之后,所述方法还包括:
将所述实际字符数量与预设字符数量阈值做比较,若所述实际字符数量不大于所述字符数量阈值,则将所述字符数量阈值与所述实际字符数量做减法运算,得到剩余可输入字符数量统计值,并将所述剩余可输入字符数量统计值显示在所述用户终端界面上。
优选地,所述将所述剩余可输入字符数量统计值显示在所述用户终端界面上的步骤之后,所述方法还包括:
在接收到所述用户触发的消息提交指令时,获取所述文本输入框内的所有字符,得到待提交文本;
获取所述用户的用户信息,根据所述用户信息确定所述待提交文本对应的存储区块,并获取所述存储区块对应的区块编号;
根据预先建立的映射关系表和所述区块编号,确定所述存储区块对应的原始密钥,所述映射关系表为所述区块编号与所述原始密钥之间的对应关系;
获取所述原始密钥对应的原始密钥向量,采用同态加密算法对所述原始密钥向量进行加密获得同态加密向量;
采用哈希密钥算法对所述同态密钥向量中的随机数进行加密获得哈希结果;
采用对称加密算法对所述同态加密向量中的密文数据进行加密获得对称加密结果;
对所述哈希结果和所述对称加密结果进行异或运算,生成目标密钥;
对所述待提交文本进行遍历,利用所述目标密钥对当前字符对应的统一码进行加密,得到所述当前字符对应的密文数据;
记录各个所述当前字符对应的密文数据,得到加密文本,并将所述加密文本存储到所述存储区块中。
此外,为实现上述目的,本发明还提出一种字符数量的统计装置,所述装置包括:
字符监测模块,用于监测用户终端界面中文本输入框内的字符的变化情况;
初始字符数量统计模块,用于在所述文本输入框内的字符发生变化时,统计所述文本输入框内的字符的数量,得到初始字符数量统计值;
多字符表情数量统计模块,用于基于预设的正则表达式,筛选并统计所述文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量,所述预设表情字符为由多个字符进行表征的表情字符,所述预设多表情字符库涵盖了所述文本输入框支持输入的所有多字符表情;
实际字符数量统计模块,用于根据所述初始字符数量统计值和多字符表情数量,确定所述文本输入框内的实际字符数量。
此外,为实现上述目的,本发明还提出一种字符数量的统计设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的字符数量的统计程序,所述字符数量的统计程序配置为实现如上文所述的字符数量的统计方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有字符数量的统计程序,所述字符数量的统计程序被处理器执行时实现如上文所述的字符数量的统计方法的步骤。
本发明提供的字符数量的统计方案,通过监测用户终端界面中文本输入框内的字符的变化情况,并在所述文本输入框内的字符发生变化时,统计所述文本输入框内的字符的数量,进而得到所述文本输入框内当前输入的字符数量的一个初始字符数量统计值;然后基于预设的正则表达式过滤出所述文本输入框内由多个字符进行表征的表情字符,进而得到多字符表情数量;最后根据得到的初始字符数量统计值和多字符表情数量来确定所述文本输入框内的实际字符数量,从而实现了对用户实际输入的字符数量的精准统计。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的字符数量的统计设备的结构示意图;
图2为本发明字符数量的统计方法第一实施例的流程示意图;
图3为本发明字符数量的统计方法第二实施例的流程示意图;
图4为本发明字符数量的统计方法第二实施例中步骤S70的具体实现流程示意图;
图5为本发明字符数量的统计装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的字符数量的统计设备结构示意图。
如图1所示,该字符数量的统计设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对字符数量的统计设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及字符数量的统计程序。
在图1所示的字符数量的统计设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明字符数量的统计设备中的处理器1001、存储器1005可以设置在字符数量的统计设备中,所述字符数量的统计设备通过处理器1001调用存储器1005中存储的字符数量的统计程序,并执行本发明实施例提供的字符数量的统计方法。
本发明实施例提供了一种字符数量的统计方法,参照图2,图2为本发明一种字符数量的统计方法第一实施例的流程示意图。
本实施例中,所述字符数量的统计方法包括以下步骤:
步骤S10,监测用户终端界面中文本输入框内的字符的变化情况。
具体的说,本实施例给出的字符数量的统计方案主要是针对文本输入框为基于直译式脚本语言JavaScript(简称:JS)开发的软件的。
此外,应当理解的是,上述操作在实际应用中具体可以是在用户进行消息编辑的操作时触发的。
相应地,所谓用户进行消息编辑的操作,实质就是用户通过触发所述用户终端界面上显示的某一功能按键,比如编辑评论的按键,或者直接点了的文本输入框后,通过所述用户终端支持的输入法进行字符输入,如汉字、英文、表情等的输入操作。
相应地,上述所说的监测用户终端界面中文本输入框内的字符的变化情况,具体监测的是所述文本输入框内当前输入的所有字符的变化情况,包括修改、删除、新增等,此处不再一一列举,对此也不做限制。
步骤S20,在所述文本输入框内字符发生变化时,统计所述文本输入框内字符的数量,得到初始字符数量统计值。
为了便于理解以下结合实例进行说明:
假设,在所述用户未进行任何消息编辑操作时,所述初始字符数量统计值为Ni=0。
当所述用户开始进行消息编辑操作后,通过预设的监听命令实时监测所述文本输入框内字符的变化情况,若用户在输入“这个作品很棒”,并在文字的末尾添加了一个点赞的表情符号后,暂时停止了编辑操作(文本输入框仍处于编辑状态,用户未触发消息提交操作),此时需要对所述文本输入框内的字符进行遍历,并在每次遍历后进行累计操作,最后得到的初始字符数量统计值为Ni=7。
相应地,如果在统计出初始字符数量统计值,并进行步骤S30的操作之后,再次监测到了所述文本输入框内字符发生变化,比如用户删除了表情符号,则重新统计的初始字符数量统计值为Ni=6,如果用户只是把当前的表情符号删除并替换成了微笑的表情符号,则重新统计的初始字符数量统计值仍为Ni=7。此时,需要重新执行步骤S30。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
步骤S30,基于预设的正则表达式,筛选并统计所述文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量。
具体的说,本实施例中所说的预设表情字符为由多个字符进行表征的表情字符,所述预设多表情字符库涵盖了所述文本输入框支持输入的所有多字符表情。
需要说明的是,在本实施例中,之所以可以使用预设的正则表达式统计出所述文本输入框内多字符表情的数量,是因为本实施例中预设的正则表达式中记载了所述文本输入框支持的所有多字符,比如2个字符的表情字符的Unicode码。
此外,值得一提的是,由于本实施例给出的字符数量的统计方案主要是针对文本输入框为基于直译式脚本语言JavaScript(简称:JS)开发的软件的。而在基于JS开发的软件中,每一个字符在JS内部都是以16位(即2个字节,1个字符长度)的UTF-16格式存储的。
但是,在实际应用中,对于UTF-16格式的字符对应的统一码(Unicode码)会分为1个16位码元(1个字符长度)和2个16位码元(2个字符长度)长度的Unicode码。
并且,在实际应用中,1个16位码元长度的Unicode码对应的字符通常是“U+0000”到“U+FFFF”之间的字符,2个16位码元长度的Unicode码对应的字符通常是“U+10000”到“U+10FFFF”之间的字符。
对于“U+0000”到“U+FFFF”之间的字符无需进行额外处理,直接将其视为1个字符即可;而对于“U+0000”到“U+FFFF”之间的字符,特别是表情字符,如果不做进一步的处理,系统会仅看做一个字符来统计,显然这样是不合理的。
因此,为了解决这一问题,在实现本实施例的过程中,通过对2个16位码元长度的Unicode码对应的“U+10000”到“U+10FFFF”之间的字符进行了分析,发现2个16位码元长度的Unicode码对应的表情字符存在一个特定的规律,即前16位的Unicode码通常是相同的,后16位的Unicode码通常是处于一个固定取值区间,并且连续取的。
因此,在确定所述文本输入框内的实际字符数量时,就需要先统计所述文本输入框内多字符表情的数量。
此外,为了保证统计的多字符表情的数量的精确性,就需要基于这一规则预先构建能够将所述文本输入框支持输入的多表情字符识别出的正则表达式。
为了便于理解,本实施例给出一种构建所述正则表达式的具体实现方式,大致如下:
(1)对所述文本输入框支持的表情字符库进行遍历,获取并记录当前表情字符对应的统一码,得到初始待分析数据。
具体的说,为了便于确定当前表情字符对应的Unicode码,在实际应用中,在构建好所述表情字符库之后,可以构建一张用于存储表情字符库中每一个表情字符和该字符对应的Unicode码之间对应关系的映射关系表。这样在具体实现时,便可以直接根据所述映射关系表快速、准确的确定当前表情字符对应的Unicode码,进而得到由所述表情字符库中所有表情字符对应的Unicode码构成的初始待分析数据。
应当理解的是,以上给出的仅为一种具体的实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
(2)从所述初始待分析数据中过滤出所述预设表情字符对应的统一码,得到目标待分析数据。
应当理解的是,在实际应用中,所述文本输入框支持的表情字符库中存储的表情字符不仅会有单字符长度的表情字符,还会有由多个字符表征的多字符表情,本实施例中具体为由2个字符表征的多字符表情。而会影响实际字符数量的正是所述文本输入框内的多字符表情,因而构建的正则表达式是需要识别出这些多字符表情的正则表达式,所以用于进行分析的目标待分析数据需要为所述预设表情字符(即多表情字符)对应的Unicode码。
具体的说,由于单字符长度的表情字符对应的Unicode码的长度和多字符表情对应的Unicode码的长度是不同的,因而直接根据各个表情字符对应的Unicode码的长度进行过滤即可。
(3)将所述目标待分析数据作为输入参数,输入预先构建的目标分析模型,得到第一分析结果和第二分析结果。
具体的说,本实施例中所说的第一分析结果实质为所述预设表情字符对应的统一码中取值相同的统一码取值,所述第二分析结果为所述预设表情字符对应的统一码中取值不同的统一码取值区间。
比如说,通过分析发现所述表情字符库中所有多字符表情对应的Unicode码具有一个共性,如取值相同的Unicode码取值均为“ud83c”,则确定的第一分析结果便是“ud83c”。
还比如,如果通过分析发现,这些多字符表情对应的Unicode码取值不同的Unicode码取值是在“udffb”和“udfff”之间的连续取值,则确定的第二分析结果便是“udffb~udfff”。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要为当前开发的软件中文本输入框支持的表情库设置不同的Unicode码,即具有共性的Unicode码并不局限为“ud83c”,取值不同的Unicode码对应的取值区间也不局限于“udffb~udfff”,本发明对此不做限制。
(4)获取预设的正则表达式模板,所述正则表达式模板包括开头部分、固定部分、第一匹配部分和第二匹配部分。
具体的说,上述所说的开头部分是用于定义整个正则表达式的开始部分,本实例中使用Const进行定义。
所谓Const是定义正则表达式的一种具体方式,其规定了定义的变量不可修改,而且必须初始化。
此外,所述开头部分还需要有用于表示所述正则表达式的一个名称,比如“emojiStrReg”。
以名称为“emojiStrReg”为例,本实施例中的正则表达式模板的开头部分具体可以表示为“Const emojiStrReg=”。
相应地,所述固定部分,具体为“/”符号。
此外,所述第一匹配部分具体由两部分组成。其中,第一部分为“\”符号,第二部分即为需要替换的Unicode码的取值。
此外,所述第二匹配部分具体是使用正则表达式中用于表示字符范围的符号“[a-z]”构成的。并且在具体使用中,字符“a”需要由“\”符号和取值不同Unicode码取值的起始部分替换,字符“z”需要由“\”符号和取值不同Unicode码取值的结束部分替换。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要设置各种形式的正则表达式名称,或者选择其他的定义方式来进行定义,本发明对此不做限制。
此外,在实际应用中,本领域的技术人员还可以根据需要在所述第二匹配部分设置其他部分,比如各种查询情况对应的查询逻辑,如查询时需要匹配输入字行首,或者全局匹配,或者给出匹配次数等,此处不再赘述,对此也不做任何限制。
(5)将所述第一分析结果输入到所述正则表达式模板的第一匹配部分,将所述第二分析结果输入到所述正则表达式模板的第二匹配部分,得到所述正则表达式。
为了便于理解,此处仍以确定的第一分析结果是“ud83c”,第二分析结果为“udffb~udfff”为例进行说明。
具体的说,如果将所述第一分析结果、所述第二分析结果分别输入到所述正则表达式模板的第一匹配部分和第二匹配部分后,得到的正则表达式的结构具体为“ConstemojiStrReg=/\ud83c[\udffb-\udfff]”。
应当理解的是,以上给出的仅为一种构建所述正则表达式的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,由于上述给出的构建所述正则表达式的方式中,为了尽可能的减少人工干预,保证构建的所述正则表达式的合理性,在构建所述正则表达式时用到了基于机器学习算法构建的目标分析模型。因而,为了保证上述给出的构建所述正则表达式的操作能够顺利进行,在构建所述正则表达式之前,需要先构建所述目标分析模型。
为了便于理解,本实施例给出一种构建所述目标分析模型的具体实现方式,大致如下:
(1)获取样本数据,并对所述样本数据进行数据清洗,得到目标样本数据。
具体的说,本实施例中获取的样本数据可以是技术人员预先构建的表情字符库中获取的,也可以是从其他基于JS开发的软件、网页中获取的。
关于从其他软件、网页获取的方式,具体可以通过为网络爬虫配置相应软件或网页的网络访问地址,进而由网络爬虫自动获取的。
此外,上述所说的对所述样本数据进行的数据清洗操作,大致可以分为如下几种:
比如说,去除残缺数据,即去除信息缺失的数据。
还比如说,去除错误数据,即将格式不符合要求、或者数量类型不是本次训练所需的数据进行去除。
还比如说,去除重复数据,即将相同的数据进行去重,只保留一个,减少数据量。
还比如说,格式转换,即对样本数据进行格式转换,转换为后续训练和测试过程中,可识别的标准格式,如本实施例所能识别的UTF-16格式的Unicode码。
应当理解的是,以上给出的仅为几种具体的数据清洗方式,对本发明的技术方案并不构成任何限定,在实际应用中,本领域的技术人员可以根据需要进行选择,此处不做限制。
此外,值得一提的是,上述获取到的样本数据可以仅包括多字符表情,从而方便后续训练。
进一步地,为了提升训练效果,也可以包括单字符表情,通过增加干扰因素,进而提升最终的训练结果的准确性,使得最终构建的目标分析模型能够更好的适应实际使用。
(2)采用留出法对所述目标样本数据进行划分,得到训练数据和测试数据,所述训练数据和所述测试数据互斥。
具体的说,上述所说的留出法只是一种具体的数据划分方式,其原理是将数据集合划分为两个互斥的子数据集合,以使得用于进行训练的训练数据和用于进行测试的测试数据是互斥的,即不相同的,从而能够更好的验证模型的分析精度。
(3)采用卷积神经网络算法,构建训练模型。
具体的说,此处所说的采用卷积神经网络算法,构建训练模型是指,基于卷积神经网络算法,构建一个具有输入层、卷积层、池化层和输出层结构的数据训练框架。
当然,在实际应用中,本领域的计算人员可以根据需要,选择其他机器学习算法,此处不做限制。
(4)对所述训练数据进行标记,并将标记后的训练数据作为输入参数,输入到所述训练模型中进行处理,获得训练结果。
应当理解的是,此处进行标记的训练数据即为已知第一匹配部分和第二匹配部分的多字符(如2个字符)表情对应的Unicode码。
相应地,得到的训练结果即为通过所述训练模型的分析处理,得出的这些已知第一匹配部分和第二匹配部分的多字符表情对应的预测第一匹配部分和预设第二匹配部分。
(5)判断所述训练结果是否与标记后的所述训练数据对应的标记结果匹配。
相应地,若匹配,则将输出所述训练结果的训练模型确定为初始分析模型;若不匹配,则继续使用标记后的所述训练数据对所述训练模型进行训练,直到输出的训练结果与标记结果匹配。
也就是说,如果将已知的所述第一匹配部分与所述预测第一匹配部分进行对比,将已知的所述第二匹配部分与所述预测第二匹配部分进行对比,在预测第一匹配部分和已知的第一匹配部分匹配,预测第二匹配部分与已知的第二匹配部分匹配时,便可以确定所述训练模型已经达到了预期效果;如果存在任意部分不匹配,则需要继续使用已知第一匹配部分和第二匹配部分的多字符表情字符对应的Unicode码对所述训练模型进行训练,直到输出的训练结果与已知结果匹配。
(6)对所述测试数据进行标记,并将标记后的所述测试数据作为输入参数,输入到所述初始分析模型中进行处理,获得验证结果。
(7)判断所述验证结果是否与标记后的所述测试数据对应的标记结果匹配,若匹配,则将所述初始分析模型确定为所述目标分析模型。
关于验证所述初始分析模型是否合格的过程,与上述步骤(4)和步骤(5)中的操作大致相同,此处不再赘述。
应当理解的是,以上给出的仅为一种构建所述目标分析模型的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
相应地,在完成所述目标分析模型和所述正则表达式的构建之后,步骤S30中执行的统计所述文本输入框内的多字符表情数量的操作大致可以如下:
首先,对所述文本输入框内的字符进行遍历,获取当前字符对应的统一码,并确定所述统一码对应的长度;
然后,判断所述统一码对应的长度是否大于预设位数,以多字符表情为由2个字符表征的表情字符为例,此处设置的预设位数则为16位;
接着,若所述统一码对应的长度大于预设位数,则提取所述统一码的前预设位数部分,得到第一识别部分,将剩余的统一码部分作为第二识别部分;
接着,将所述第一识别部分与所述正则表达式中的第一匹配部分进行匹配,若所述第一识别部分与所述第一匹配部分匹配,遍历所述正则表达式中第二匹配部分的统一码取值区间,并将当前统一码取值与所述第二识别部分进行匹配,若所述第二识别部分与当前统一码取值匹配,则确定当前字符为所述预设表情字符;
最后,累计所述预设表情字符的数量,获得多字符表情数量。
应当理解的是,以上给出的仅为一种统计多字符表情数量的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
步骤S40,根据所述初始字符数量统计值和多字符表情数量,确定所述文本输入框内的实际字符数量。
为了便于理解上述步骤S40中根据所述初始字符数量统计值和多字符表情数量,确定所述文本输入框内的实际字符数量的操作,以下以所述预设表情字符为由M各字符进行表征的表情字符为例进行具体说明。
首先,将所述多字符表情数量乘以M,得到多字符表情对应的第一字符数量统计值;
然后,将所述初始字符数量统计值与所述多字符表情数量做减法运算,得到第二字符数量统计值;
最后,将所述第一字符数量统计值和所述第二字符数量统计值做加法运算,得到所述文本输入框内的实际字符数量。
需要说明的是,上述所说的M具体为大于等于2的整数。
此外,应当理解的是,以上给出的仅为一种确定所述文本输入框内实际字符数量的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
通过上述描述不难发现,本实施例中提供的字符数量的统计方法,通过监测用户终端界面中文本输入框内的字符的变化情况,并在所述文本输入框内的字符发生变化时,统计所述文本输入框内的字符的数量,进而得到所述文本输入框内当前输入的字符数量的一个初始字符数量统计值;然后基于预设的正则表达式过滤出所述文本输入框内由多个字符进行表征的表情字符,进而得到多字符表情数量;最后根据得到的初始字符数量统计值和多字符表情数量来确定所述文本输入框内的实际字符数量,从而实现了对用户实际输入的字符数量的精准统计。
参考图3,图3为本发明一种字符数量的统计方法第二实施例的流程示意图。
基于上述第一实施例,本实施例字符数量的统计方法在所述步骤S40之后,还包括:
步骤S50,将所述实际字符数量与预设字符数量阈值做比较,若所述实际字符数量不大于所述字符数量阈值,则将所述字符数量阈值与所述实际字符数量做减法运算,得到剩余可输入字符数量统计值,并将所述剩余可输入字符数量统计值显示在所述用户终端界面上。
具体的说,为了尽可能的提升用户体验,可以在所述用户终端界面上设置一个用于显示用户可输入字符数量的部分,并在用户编辑消息时,实时更新界面上显示的用户剩余可输入字符数量统计值。
比如说,在实际应用中设置的预设字符数量阈值为500个字符,即所述文本输入框内最多可以输入500个字符,当通过步骤S10至步骤S40的操作之后,确定所述文本输入框内的实际字符数量为400个字符时,通过比较,发现实际字符数量不大于预设字符阈值,即用户还可以在所述文本输入框内输入字符,此时通过将两个统计值进行减法运算,得到的剩余可输入字符数量统计值为100。这时就需要将所述用户终端界面上显示的用户剩余可输入字符数量统计值修改为100个字符,从而达到提醒用户的目的。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体实现中,本领域的技术人员可以根据需要进行设置,此处不做限制。
此外,为了更好的提醒用户,在实际应用中,还可以设置一个提醒临界值。
相应地,在所述剩余可输入字符数量统计值不大于设置的提醒临界值时,则可以在所述用户终端界面弹出提醒窗口,提醒用户所述文本输入框内的字符数量即将超过所述字符数量阈值。
步骤S60,在接收到所述用户触发的消息提交指令时,获取所述文本输入框内的所有字符,得到待提交文本。
应当理解的是,本实施例中所说的用户触发的消息提交指令,在实际应用中可以是用户触发了所述用户终端界面上显示的某一功能按键,比如发表评论的按键。
步骤S70,获取所述用户的用户信息,根据所述用户信息确定所述待提交文本对应的存储区块,并将所述待提交文本存储到所述存储区块中。
具体的说,本实施例中所说的用户信息具体为用户登录基于JS开发的软件所需要的账号。
相应地,为了便于根据所述用户信息快速、准确的查找到所述待提交文本对应的存储区块,可以预先构建一张用于记录所述用户信息与专门为所述用户分配的存储区块之间对应关系的映射关系表。这样在具体实现时,便可以直接根据所述映射关系表快速、准确的确定所述待提交文本对应的存储区块,进而将所述待提交文本存储到专门的存储区块,从而方便根据用户信息管理和维护用户提交的内容。
此外,在实际应用中,为了避免用户发布的消息被他人篡改,在将所述待提交文本存储到所述存储区块时,可以对所述待提交文本中的每一个字符进行加密,从而保证其安全性。
为了便于理解,本实施例给出一种具体的加密方式,详见图4中的子步骤S701至子步骤S708。
子步骤S701,获取所述用户的用户信息,根据所述用户信息确定所述待提交文本对应的存储区块,并获取所述存储区块对应的区块编号。
具体的说,上述所说的区块编号,具体为技术人员在为不同用户创建对应的存储区块时,为存储区块分配的用于标识区块唯一性的标识号。
此外,为了便于获取存储区块对应的区块编号,在实际应用中,也可以提取预设一张用于表示各个存储区块与其对应的区块编号之间关系的映射关系表。
相应地,在具体查找时,直接根据所述映射关系进行查找便可以。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在实际应用中,本领域的技术人员可以根据需要进行设置,此处不做限制。
子步骤S702,根据预先建立的映射关系表和所述区块编号,确定所述存储区块对应的原始密钥。
需要说明的是,在实际应用中,为了保证原始密钥的唯一性和安全性,所述原始密钥可以根据从数字中心申请到的具有唯一性的数字证书生成。
比如说,在生成任一区块的原始密钥时,可以先获取所述区块对应的数字证书,然后将所述数字证书中的字符根据预设规则进行排列组合,进而得到所述区块的原始密钥。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在实际应用中,本领域的技术人员可以根据需要进行设置,此处不做限制。
子步骤S703,获取所述原始密钥对应的原始密钥向量,采用同态加密算法对所述原始密钥向量进行加密获得同态加密向量。
子步骤S704,采用哈希密钥算法对所述同态密钥向量中的随机数进行加密获得哈希结果。
子步骤S705,采用对称加密算法对所述同态加密向量中的密文数据进行加密获得对称加密结果。
子步骤S706,对所述哈希结果和所述对称加密结果进行异或运算,生成目标密钥。
子步骤S707,对所述待提交文本进行遍历,利用所述目标密钥对当前字符对应的统一码进行加密,得到所述当前字符对应的密文数据。
子步骤S708,记录各个所述当前字符对应的密文数据,得到加密文本,并将所述加密文本存储到所述存储区块中。
需要说明的是,在实际应用中,为了保证原始密钥的唯一性和安全性,所述原始密钥可以根据从数字中心申请到的具有唯一性的数字证书生成。
比如说,在生成任一区块的原始密钥时,可以先获取所述区块对应的数字证书,然后将所述数字证书中的字符根据预设规则进行排列组合,进而得到所述区块的原始密钥。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在实际应用中,本领域的技术人员可以根据需要进行设置,此处不做限制。
通过上述描述不难发现,本实施例中提供的字符数量的统计方法,在确定所述文本输入框内的实际字符数量之后,通过将确定的实际字符数量与预先为所述文本输入框设置的可输入字符数量阈值进行比较,并在输入的实际字符数量不大于设置的字符数量阈值时,通过将两个数量值进行减法运算,进而确定所述文本输入框还可以输入的字符数量,并将确定的剩余可输入字符数量统计值显示在用户终端的界面上,从而可以达到提醒用户的效果,提升了用户体验。
此外,在将确定的剩余可输入字符数量统计值显示在用户终端的界面之后,通过监听是否接收到用户触发的消息提交指令,并在接收到用户触发的消息提交指令时,通过根据用户的用户信息确定所述文本输入框内的字符需要存放的存储区块,并基于区块链的加密方式对所述文本输入框内的字符进行加密,最后将加密后的数据存储到所述存储区块。通过这种根据用户信息确定对应存储区块的方式,使得每个用户提交的消息都可以单独管理。此外,在存储时通过对字符进行加密,从而可以有效的避免用户提交的消息被他人篡改。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有字符数量的统计程序,所述字符数量的统计程序被处理器执行时实现如上文所述的字符数量的统计方法的步骤。
参照图5,图5为本发明字符数量的统计装置第一实施例的结构框图。
如图5所示,本发明实施例提出的字符数量的统计装置包括:字符监测模块5001、初始字符数量统计模块5002、多字符表情数量统计模块5003和实际字符数量统计模块5004。
其中,所述字符监测模块5001,用于监测用户终端界面中文本输入框内的字符的变化情况;所述初始字符数量统计模块5002,用于在所述文本输入框内的字符发生变化时,统计所述文本输入框内的字符的数量,得到初始字符数量统计值;所述多字符表情数量统计模块5003,用于基于预设的正则表达式,筛选并统计所述文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量;所述实际字符数量统计模块5004,用于根据所述初始字符数量统计值和多字符表情数量,确定所述文本输入框内的实际字符数量。
此外,值得一提的是,本实施例中所说的预设表情字符为由多个字符进行表征的表情字符,所述预设多表情字符库涵盖了所述文本输入框支持输入的所有多字符表情。
此外,上述所说的多个字符,在实际应用中需要至少为2个。
此外,在实际应用中,为了保证所述多字符表情数量统计模块5003能够顺利的统计出所述文本输入框内的多字符表情数量,需要在所述多字符表情数量统计模块5003执行上述操作之前,先构建所述正则表达式。
为了便于理解,本实施例给出一种构建所述正则表达式的具体实现方式,大致如下:
首先,对所述文本输入框支持的表情字符库进行遍历,获取并记录当前表情字符对应的统一码,得到初始待分析数据;
然后,从所述初始待分析数据中过滤出所述预设表情字符对应的统一码,得到目标待分析数据;
接着,将所述目标待分析数据作为输入参数,输入预先构建的目标分析模型,得到第一分析结果和第二分析结果,所述第一分析结果为所述预设表情字符对应的统一码中取值相同的统一码取值,所述第二分析结果为所述预设表情字符对应的统一码中取值不同的统一码取值区间;
接着,获取预设的正则表达式模板,所述正则表达式模板包括开头部分、固定部分、第一匹配部分和第二匹配部分;
最后,将所述第一分析结果输入到所述正则表达式模板的第一匹配部分,将所述第二分析结果输入到所述正则表达式模板的第二匹配部分,得到所述正则表达式。
应当理解的是,以上给出的仅为一种构建所述正则表达式的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,由于上述给出的构建所述正则表达式的方式中,为了尽可能的减少人工干预,保证构建的所述正则表达式的合理性,在构建所述正则表达式时用到了基于机器学习算法构建的目标分析模型。因而,为了保证上述给出的构建所述正则表达式的操作能够顺利进行,在构建所述正则表达式之前,需要先构建所述目标分析模型。
为了便于理解,本实施例给出一种构建所述目标分析模型的具体实现方式,大致如下:
首先,获取样本数据,并对所述样本数据进行数据清洗,得到目标样本数据;
然后,采用留出法对所述目标样本数据进行划分,得到训练数据和测试数据,所述训练数据和所述测试数据互斥;
接着,采用卷积神经网络算法,构建训练模型;
接着,对所述训练数据进行标记,并将标记后的训练数据作为输入参数,输入到所述训练模型中进行处理,获得训练结果;
接着,判断所述训练结果是否与标记后的所述训练数据对应的标记结果匹配;
接着,若匹配,则将输出所述训练结果的训练模型确定为初始分析模型;若不匹配,则继续使用标记后的所述训练数据对所述训练模型进行训练,直到输出的训练结果与标记结果匹配;
接着,对所述测试数据进行标记,并将标记后的所述测试数据作为输入参数,输入到所述初始分析模型中进行处理,获得验证结果;
最后,判断所述验证结果是否与标记后的所述测试数据对应的标记结果匹配,若匹配,则将所述初始分析模型确定为所述目标分析模型。
应当理解的是,以上给出的仅为一种构建所述目标分析模型的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
相应地,在完成所述目标分析模型和所述正则表达式的构建之后,所述多字符表情数量统计模块5003统计所述文本输入框内的多字符表情数量的操作大致可以如下:
首先,对所述文本输入框内的字符进行遍历,获取当前字符对应的统一码,并确定所述统一码对应的长度;
然后,判断所述统一码对应的长度是否大于预设位数,以多字符表情为由2个字符表征的表情字符为例,此处设置的预设位数则为16位;
接着,若所述统一码对应的长度大于预设位数,则提取所述统一码的前预设位数部分,得到第一识别部分,将剩余的统一码部分作为第二识别部分;
接着,将所述第一识别部分与所述正则表达式中的第一匹配部分进行匹配,若所述第一识别部分与所述第一匹配部分匹配,遍历所述正则表达式中第二匹配部分的统一码取值区间,并将当前统一码取值与所述第二识别部分进行匹配,若所述第二识别部分与当前统一码取值匹配,则确定当前字符为所述预设表情字符;
最后,累计所述预设表情字符的数量,获得多字符表情数量。
应当理解的是,以上给出的仅为一种统计多字符表情数量的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,为了便于理解所述实际字符数量统计模块5004根据所述初始字符数量统计值和多字符表情数量,确定所述文本输入框内的实际字符数量的操作,以下以所述预设表情字符为由M各字符进行表征的表情字符为例进行具体说明。
首先,将所述多字符表情数量乘以M,得到多字符表情对应的第一字符数量统计值;
然后,将所述初始字符数量统计值与所述多字符表情数量做减法运算,得到第二字符数量统计值;
最后,将所述第一字符数量统计值和所述第二字符数量统计值做加法运算,得到所述文本输入框内的实际字符数量。
需要说明的是,上述所说的M具体为大于等于2的整数。
此外,应当理解的是,以上给出的仅为一种确定所述文本输入框内实际字符数量的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
通过上述描述不难发现,本实施例中提供的字符数量的统计装置,通过监测用户终端界面中文本输入框内的字符的变化情况,并在所述文本输入框内的字符发生变化时,统计所述文本输入框内的字符的数量,进而得到所述文本输入框内当前输入的字符数量的一个初始字符数量统计值;然后基于预设的正则表达式过滤出所述文本输入框内由多个字符进行表征的表情字符,进而得到多字符表情数量;最后根据得到的初始字符数量统计值和多字符表情数量来确定所述文本输入框内的实际字符数量,从而实现了对用户实际输入的字符数量的精准统计。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的字符数量的统计方法,此处不再赘述。
基于上述字符数量的统计装置的第一实施例,提出本发明字符数量的统计装置第二实施例。
在本实施例中,所述字符数量的统计装置还包括:剩余可输入字符数量显示模块、字符获取模块、用户信息获取模块、存储区块查找模块和加密模块。
其中,所述剩余可输入字符数量显示模块,用于在所述实际字符数量统计模块确定所述文本输入框内的实际字符数量之后,将所述实际字符数量与预设字符数量阈值做比较,若所述实际字符数量不大于所述字符数量阈值,则将所述字符数量阈值与所述实际字符数量做减法运算,得到剩余可输入字符数量统计值,并将所述剩余可输入字符数量统计值显示在所述用户终端界面上。
所述字符获取模块,用于在所述剩余可输入字符数量显示模块将所述剩余可输入字符数量统计值显示在所述用户终端界面上,并接收到所述用户触发的消息提交指令时,获取所述文本输入框内的所有字符,得到待提交文本。
所述用户信息获取模块,用于在所述剩余可输入字符数量显示模块将所述剩余可输入字符数量统计值显示在所述用户终端界面上,并接收到所述用户触发的消息提交指令时,获取所述用户的用户信息。
所述存储区块查找模块,用于根据所述用户信息确定所述待提交文本对应的存储区块,并获取所述存储区块对应的区块编号。
所述加密模块,用于执行以下操作:
首先,根据预先建立的映射关系表和所述区块编号,确定所述存储区块对应的原始密钥,所述映射关系表为所述区块编号与所述原始密钥之间的对应关系;
然后,获取所述原始密钥对应的原始密钥向量,采用同态加密算法对所述原始密钥向量进行加密获得同态加密向量;
接着,采用哈希密钥算法对所述同态密钥向量中的随机数进行加密获得哈希结果;
接着,采用对称加密算法对所述同态加密向量中的密文数据进行加密获得对称加密结果;
接着,对所述哈希结果和所述对称加密结果进行异或运算,生成目标密钥;
接着,对所述待提交文本进行遍历,利用所述目标密钥对当前字符对应的统一码进行加密,得到所述当前字符对应的密文数据;
最后,记录各个所述当前字符对应的密文数据,得到加密文本,并将所述加密文本存储到所述存储区块中。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
通过上述描述不难发现,本实施例中提供的字符数量的统计装置,在确定所述文本输入框内的实际字符数量之后,通过将确定的实际字符数量与预先为所述文本输入框设置的可输入字符数量阈值进行比较,并在输入的实际字符数量不大于设置的字符数量阈值时,通过将两个数量值进行减法运算,进而确定所述文本输入框还可以输入的字符数量,并将确定的剩余可输入字符数量统计值显示在用户终端的界面上,从而可以达到提醒用户的效果,提升了用户体验。
此外,在将确定的剩余可输入字符数量统计值显示在用户终端的界面之后,通过监听是否接收到用户触发的消息提交指令,并在接收到用户触发的消息提交指令时,通过根据用户的用户信息确定所述文本输入框内的字符需要存放的存储区块,并基于区块链的加密方式对所述文本输入框内的字符进行加密,最后将加密后的数据存储到所述存储区块。通过这种根据用户信息确定对应存储区块的方式,使得每个用户提交的消息都可以单独管理。此外,在存储时通过对字符进行加密,从而可以有效的避免用户提交的消息被他人篡改。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的字符数量的统计方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.一种字符数量的统计方法,其特征在于,所述方法包括以下步骤:
监测用户终端界面中文本输入框内的字符的变化情况;
在所述文本输入框内的字符发生变化时,统计所述文本输入框内的字符的数量,得到初始字符数量统计值;
基于预设的正则表达式,筛选并统计所述文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量,所述预设表情字符为由多个字符进行表征的表情字符,所述预设多表情字符库涵盖了所述文本输入框支持输入的所有多字符表情;
根据所述初始字符数量统计值和多字符表情数量,确定所述文本输入框内的实际字符数量;
所述基于预设的正则表达式,筛选并统计所述文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量的步骤之前,所述方法还包括:
获取样本数据,并对所述样本数据进行数据清洗,得到目标样本数据;
采用留出法对所述目标样本数据进行划分,得到训练数据和测试数据,所述训练数据和所述测试数据互斥;
采用卷积神经网络算法,构建训练模型;
对所述训练数据进行标记,并将标记后的训练数据作为输入参数,输入到所述训练模型中进行处理,获得训练结果;
判断所述训练结果是否与标记后的所述训练数据对应的标记结果匹配;
若匹配,则将输出所述训练结果的训练模型确定为初始分析模型;若不匹配,则继续使用标记后的所述训练数据对所述训练模型进行训练,直到输出的训练结果与标记结果匹配;
对所述测试数据进行标记,并将标记后的所述测试数据作为输入参数,输入到所述初始分析模型中进行处理,获得验证结果;
判断所述验证结果是否与标记后的所述测试数据对应的标记结果匹配,若匹配,则将所述初始分析模型确定为目标分析模型;
所述对所述样本数据进行数据清洗包括去除残缺数据、去除错误数据、去除重复数据和格式转换;
所述确定所述文本输入框内的实际字符数量的步骤之后,所述方法还包括:
将所述实际字符数量与预设字符数量阈值做比较,若所述实际字符数量不大于所述字符数量阈值,则将所述字符数量阈值与所述实际字符数量做减法运算,得到剩余可输入字符数量统计值,并将所述剩余可输入字符数量统计值显示在所述用户终端界面上;
在接收到所述用户触发的消息提交指令时,获取所述文本输入框内的所有字符,得到待提交文本;
获取所述用户的用户信息,根据所述用户信息确定所述待提交文本对应的存储区块,并获取所述存储区块对应的区块编号;
根据预先建立的映射关系表和所述区块编号,确定所述存储区块对应的原始密钥,所述映射关系表为所述区块编号与所述原始密钥之间的对应关系;
获取所述原始密钥对应的原始密钥向量,采用同态加密算法对所述原始密钥向量进行加密获得同态加密向量;
采用哈希密钥算法对所述同态加密向量中的随机数进行加密获得哈希结果;
采用对称加密算法对所述同态加密向量中的密文数据进行加密获得对称加密结果;
对所述哈希结果和所述对称加密结果进行异或运算,生成目标密钥;
对所述待提交文本进行遍历,利用所述目标密钥对当前字符对应的统一码进行加密,得到所述当前字符对应的密文数据;
记录各个所述当前字符对应的密文数据,得到加密文本,并将所述加密文本存储到所述存储区块中;
所述基于预设的正则表达式,筛选并统计所述文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量的步骤之前,所述方法还包括:
对所述文本输入框支持的表情字符库进行遍历,获取并记录当前表情字符对应的统一码,得到初始待分析数据;
从所述初始待分析数据中过滤出所述预设表情字符对应的统一码,得到目标待分析数据;
将所述目标待分析数据作为输入参数,输入预先构建的目标分析模型,得到第一分析结果和第二分析结果,所述第一分析结果为所述预设表情字符对应的统一码中取值相同的统一码取值,所述第二分析结果为所述预设表情字符对应的统一码中取值不同的统一码取值区间;
获取预设的正则表达式模板,所述正则表达式模板包括开头部分、固定部分、第一匹配部分和第二匹配部分;
将所述第一分析结果输入到所述正则表达式模板的第一匹配部分,将所述第二分析结果输入到所述正则表达式模板的第二匹配部分,得到所述正则表达式;
所述基于预设的正则表达式,筛选并统计所述文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量的步骤,包括:
对所述文本输入框内的字符进行遍历,获取当前字符对应的统一码,并确定所述统一码对应的长度;
判断所述统一码对应的长度是否大于预设位数;
若所述统一码对应的长度大于预设位数,则提取所述统一码的前预设位数部分,得到第一识别部分,将剩余的统一码部分作为第二识别部分;
将所述第一识别部分与所述正则表达式中的第一匹配部分进行匹配,若所述第一识别部分与所述第一匹配部分匹配,遍历所述正则表达式中第二匹配部分的统一码取值区间,并将第二匹配部分的统一码取值与所述第二识别部分进行匹配,若所述第二识别部分与第二匹配部分的统一码取值匹配,则确定当前字符为所述预设表情字符;
累计所述预设表情字符的数量,获得多字符表情数量。
2.如权利要求1所述的方法,其特征在于,所述预设表情字符为由M个字符进行表征的表情字符,所述M为大于等于2的整数;
所述根据所述初始字符数量统计值和多字符表情数量,确定所述文本输入框内的实际字符数量的步骤,包括:
将所述多字符表情数量乘以M,得到多字符表情对应的第一字符数量统计值;
将所述初始字符数量统计值与所述多字符表情数量做减法运算,得到第二字符数量统计值;
将所述第一字符数量统计值和所述第二字符数量统计值做加法运算,得到所述文本输入框内的实际字符数量。
3.一种字符数量的统计装置,其特征在于,所述装置包括:
字符监测模块,用于监测用户终端界面中文本输入框内的字符的变化情况;
初始字符数量统计模块,用于在所述文本输入框内的字符发生变化时,统计所述文本输入框内的字符的数量,得到初始字符数量统计值;
多字符表情数量统计模块,用于基于预设的正则表达式,筛选并统计所述文本输入框内所有与预设多表情字符库中的预设表情字符匹配的字符,获得多字符表情数量,所述预设表情字符为由多个字符进行表征的表情字符,所述预设多表情字符库涵盖了所述文本输入框支持输入的所有多字符表情;
实际字符数量统计模块,用于根据所述初始字符数量统计值和多字符表情数量,确定所述文本输入框内的实际字符数量;
所述多字符表情数量统计模块,还用于获取样本数据,并对所述样本数据进行数据清洗,得到目标样本数据;采用留出法对所述目标样本数据进行划分,得到训练数据和测试数据,所述训练数据和所述测试数据互斥;采用卷积神经网络算法,构建训练模型;对所述训练数据进行标记,并将标记后的训练数据作为输入参数,输入到所述训练模型中进行处理,获得训练结果;判断所述训练结果是否与标记后的所述训练数据对应的标记结果匹配;若匹配,则将输出所述训练结果的训练模型确定为初始分析模型;若不匹配,则继续使用标记后的所述训练数据对所述训练模型进行训练,直到输出的训练结果与标记结果匹配;对所述测试数据进行标记,并将标记后的所述测试数据作为输入参数,输入到所述初始分析模型中进行处理,获得验证结果;判断所述验证结果是否与标记后的所述测试数据对应的标记结果匹配,若匹配,则将所述初始分析模型确定为目标分析模型;
所述对所述样本数据进行数据清洗包括去除残缺数据、去除错误数据、去除重复数据和格式转换;
所述字符数量的统计装置,还用于将所述实际字符数量与预设字符数量阈值做比较,若所述实际字符数量不大于所述字符数量阈值,则将所述字符数量阈值与所述实际字符数量做减法运算,得到剩余可输入字符数量统计值,并将所述剩余可输入字符数量统计值显示在所述用户终端界面上;在接收到所述用户触发的消息提交指令时,获取所述文本输入框内的所有字符,得到待提交文本;获取所述用户的用户信息,根据所述用户信息确定所述待提交文本对应的存储区块,并获取所述存储区块对应的区块编号;根据预先建立的映射关系表和所述区块编号,确定所述存储区块对应的原始密钥,所述映射关系表为所述区块编号与所述原始密钥之间的对应关系;获取所述原始密钥对应的原始密钥向量,采用同态加密算法对所述原始密钥向量进行加密获得同态加密向量;采用哈希密钥算法对所述同态加密向量中的随机数进行加密获得哈希结果;采用对称加密算法对所述同态加密向量中的密文数据进行加密获得对称加密结果;对所述哈希结果和所述对称加密结果进行异或运算,生成目标密钥;对所述待提交文本进行遍历,利用所述目标密钥对当前字符对应的统一码进行加密,得到所述当前字符对应的密文数据;记录各个所述当前字符对应的密文数据,得到加密文本,并将所述加密文本存储到所述存储区块中;
所述多字符表情数量统计模块,还用于对所述文本输入框支持的表情字符库进行遍历,获取并记录当前表情字符对应的统一码,得到初始待分析数据;从所述初始待分析数据中过滤出所述预设表情字符对应的统一码,得到目标待分析数据;将所述目标待分析数据作为输入参数,输入预先构建的目标分析模型,得到第一分析结果和第二分析结果,所述第一分析结果为所述预设表情字符对应的统一码中取值相同的统一码取值,所述第二分析结果为所述预设表情字符对应的统一码中取值不同的统一码取值区间;获取预设的正则表达式模板,所述正则表达式模板包括开头部分、固定部分、第一匹配部分和第二匹配部分;将所述第一分析结果输入到所述正则表达式模板的第一匹配部分,将所述第二分析结果输入到所述正则表达式模板的第二匹配部分,得到所述正则表达式;
所述多字符表情数量统计模块,还用于对所述文本输入框内的字符进行遍历,获取当前字符对应的统一码,并确定所述统一码对应的长度;判断所述统一码对应的长度是否大于预设位数;若所述统一码对应的长度大于预设位数,则提取所述统一码的前预设位数部分,得到第一识别部分,将剩余的统一码部分作为第二识别部分;将所述第一识别部分与所述正则表达式中的第一匹配部分进行匹配,若所述第一识别部分与所述第一匹配部分匹配,遍历所述正则表达式中第二匹配部分的统一码取值区间,并将第二匹配部分的统一码取值与所述第二识别部分进行匹配,若所述第二识别部分与第二匹配部分的统一码取值匹配,则确定当前字符为所述预设表情字符;累计所述预设表情字符的数量,获得多字符表情数量。
4.一种字符数量的统计设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的字符数量的统计程序,所述字符数量的统计程序配置为实现如权利要求2所述方法的步骤。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有字符数量的统计程序,所述字符数量的统计程序被处理器执行时实现如权利要求1至2任一项所述的字符数量的统计方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910825315.2A CN110705256B (zh) | 2019-08-30 | 2019-08-30 | 字符数量的统计方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910825315.2A CN110705256B (zh) | 2019-08-30 | 2019-08-30 | 字符数量的统计方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110705256A CN110705256A (zh) | 2020-01-17 |
CN110705256B true CN110705256B (zh) | 2023-03-21 |
Family
ID=69194290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910825315.2A Active CN110705256B (zh) | 2019-08-30 | 2019-08-30 | 字符数量的统计方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110705256B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111291794A (zh) * | 2020-01-21 | 2020-06-16 | 上海眼控科技股份有限公司 | 字符识别方法、装置、计算机设备和计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002238A (zh) * | 2017-06-06 | 2018-12-14 | 腾讯科技(深圳)有限公司 | 字符数显示方法、装置、终端和计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683726B (zh) * | 2018-12-25 | 2022-08-05 | 北京微播视界科技有限公司 | 字符输入方法、装置、电子设备及存储介质 |
CN109660405B (zh) * | 2019-01-10 | 2022-09-20 | 平安科技(深圳)有限公司 | 呼叫中心的容灾方法、装置、设备及存储介质 |
-
2019
- 2019-08-30 CN CN201910825315.2A patent/CN110705256B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002238A (zh) * | 2017-06-06 | 2018-12-14 | 腾讯科技(深圳)有限公司 | 字符数显示方法、装置、终端和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110705256A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109635296B (zh) | 新词挖掘方法、装置计算机设备和存储介质 | |
US20180075235A1 (en) | Abnormality Detection System and Abnormality Detection Method | |
CN110995769B (zh) | 深度数据包检测方法及装置 | |
CN112016274B (zh) | 医学文本结构化方法、装置、计算机设备及存储介质 | |
US20170034111A1 (en) | Method and Apparatus for Determining Key Social Information | |
CN112307337B (zh) | 基于标签知识图谱的关联推荐方法、装置及计算机设备 | |
CN114035827A (zh) | 应用程序更新方法、装置、设备及存储介质 | |
CN111581456A (zh) | 一种json字符串对比方法、装置、设备及存储介质 | |
CN110705256B (zh) | 字符数量的统计方法、装置、设备及存储介质 | |
CN104346035A (zh) | 对自动地更正的单词的指示 | |
CN111415683A (zh) | 语音识别异常告警方法、装置、计算机设备和存储介质 | |
CN107330031B (zh) | 一种数据存储的方法、装置及电子设备 | |
CN113268597A (zh) | 文本分类方法、装置、设备及存储介质 | |
CN112612810A (zh) | 慢sql语句识别方法及系统 | |
CN112286815A (zh) | 一种接口测试脚本的生成方法及其相关设备 | |
CN111695880A (zh) | 一种生产流程监控方法及系统 | |
CN114610849A (zh) | 一种产品制造程序的确定方法、装置、设备及存储介质 | |
CN114625658A (zh) | App稳定性测试方法、装置、设备和计算机可读存储介质 | |
CN116414976A (zh) | 文档检测方法、装置及电子设备 | |
CN114064872A (zh) | 对话数据信息的智能存储方法、装置、设备及介质 | |
CN109754087B (zh) | 量子程序转化方法、装置及电子设备 | |
CN114328818A (zh) | 文本语料处理方法、装置、存储介质及电子设备 | |
CN113779086A (zh) | 发电站设备数据采集方法、装置、设备及存储介质 | |
CN109284354B (zh) | 脚本搜索方法、装置、计算机设备及存储介质 | |
CN112069807A (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 |