CN116701963A - 一种字符串模糊匹配的方法及系统 - Google Patents
一种字符串模糊匹配的方法及系统 Download PDFInfo
- Publication number
- CN116701963A CN116701963A CN202310996571.4A CN202310996571A CN116701963A CN 116701963 A CN116701963 A CN 116701963A CN 202310996571 A CN202310996571 A CN 202310996571A CN 116701963 A CN116701963 A CN 116701963A
- Authority
- CN
- China
- Prior art keywords
- coding
- character
- weight
- code
- similarity
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 13
- 240000004282 Grewia occidentalis Species 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 239000013589 supplement Substances 0.000 claims description 3
- 230000000295 complement effect Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims description 2
- 238000011156 evaluation Methods 0.000 description 7
- 238000012015 optical character recognition Methods 0.000 description 7
- 230000001149 cognitive effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 210000003298 dental enamel Anatomy 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 240000000161 Lagerstroemia indica Species 0.000 description 1
- 235000000283 Lagerstroemia parviflora Nutrition 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 208000010877 cognitive disease Diseases 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000006996 mental state Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001256 tonic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Character Discrimination (AREA)
Abstract
本发明公开了一种字符串模糊匹配的方法及系统。该方法包括:S1:识别量表中的题目,对采集到的文本进行编码;S2:将正确文本的编码与采集到的文本的编码,分别采用KMP算法,得到两个需要计算相似度的字符串;S3:将步骤S2中得到的两个需要计算相似度的字符串,分别输入相似度计算函数,得到具体相似度数值;S4:将通过步骤S3得到相似度数值与预设的相似度阈值进行比较,判断采集到的文本是否与正确文本匹配成功。本发明解决了多种混合字符统一编码问题,方便各种场合下字符匹配和关键词搜索,并实现了快速关键词模糊匹配,提高了关键词信息匹配和搜索的准确率。
Description
技术领域
本发明涉及一种字符串模糊匹配的方法,同时也涉及一种字符串模糊匹配的系统,属于计算机文本处理技术领域。
背景技术
在诸如蒙特利尔认知评估量表(MOCA)、简易智力状态检查量表(Mini-mentalState Examination,简写为MMSE)等认知相关的量表测评中会涉及一些记忆相关的题型,该类题型要求被试回忆并复述测试过程中出现过的词语、句子等文字。使用高效准确的字符串匹配算法可以实现针对被试回答的自动化评估,相对传统的人工评估具有极大的效率优势。由于被试在测试过程通常以手写输入或使用语音进行回答,需要通过光学字符识别(Optical Character Recognition,简写为OCR)技术或语音识别技术将被试的答案转化为文本后才能对答案的准确性进行评估,即判断被试答案与正确文本之间的匹配度。由于作为中间环节的光学字符识别和语音识别通常会引入部分识别错误,直接使用传统的字符串匹配方案可能会导致被试答案被误判。为了兼容光学字符识别和语音识别带来的误差,有必要提供一种高效准确的字符串模糊匹配方案,以适应量表自动化评估的应用需求。
在专利号为ZL 202211112979.2的中国发明专利中,公开了一种字符串模糊匹配方法。该方法包括如下步骤:针对第一字符串集合中的字符串,按照预设模糊匹配规则,生成与第一字符串集合中的字符串满足预设模糊匹配规则的第一衍生字符串,得到由各第一衍生字符串和第一字符串集合中的字符串组成的第一衍生字符串集合;针对第一衍生字符串集合和待求交字符串集合执行求交操作,得到第一衍生字符串集合与待求交字符串集合的字符串交集;针对字符串交集中的每个交集字符串,将第二字符串集合中与该交集字符串对应的字符串,确定为与第一字符串集合中与该交集字符串对应的字符串相匹配的字符串。
另外,在专利号为ZL 201711441987.0的中国发明专利中,公开了一种用于字符串模糊匹配的方法。该方法包含下列步骤:构建关于多个业务规则参数的哈希表,其中,业务规则参数以字符串的形式表示;确定用于表示业务规则参数的字符串的各个字符的匹配规则;以及在哈希表中遍历查找表示待匹配业务类型的字符串并且基于匹配规则获得待匹配业务类型的匹配结果。
发明内容
本发明所要解决的首要技术问题在于提供一种字符串模糊匹配的方法。
本发明所要解决的另一技术问题在于提供一种字符串模糊匹配的系统。
为实现上述技术目的,本发明采用以下的技术方案:
根据本发明实施例的第一方面,提供一种字符串模糊匹配的方法,包括如下步骤:
S1:识别量表中的题目,对采集到的文本进行编码;
S2:将正确文本的编码与采集到的文本的编码,分别采用KMP算法,得到两个需要计算相似度的字符串;
S3:将步骤S2中得到的两个需要计算相似度的字符串,分别输入相似度计算函数,得到具体相似度数值;
S4:将通过步骤S3得到相似度数值与预设的相似度阈值进行比较,判断采集到的文本是否与正确文本匹配成功。
其中较优地,对采集到的文本进行编码的编码模式包括形码编码、音码编码、混合编码,其中,所述混合编码为形码编码和音码编码组合在一起。
其中较优地,所述形码编码包括字符形状编码、字符结构编码和四角编码。
其中较优地,所述字符形状编码是根据字符的形状把字符分类为多组,并且每组字符中的各个字符的字符形状编码赋码相同;
所述字符结构编码是根据字符的构成结构分类为多组,并且每组字符中的各个字符的字符结构编码赋码相同。
其中较优地,利用语音识别得到文本或者利用图像识别得到文本,再利用所述文本生成所述音码编码、所述形码编码或所述混合编码中的任意一个或多个。
其中较优地,在所述步骤S4中,若通过步骤S3得到的相似度数值大于等于预设的相似度阈值,则表示匹配成功,返回步骤S1进入下一题目,直至完成全部题目则结束;若通过步骤S3得到的相似度数值小于预设的相似度阈值,则匹配失败,系统提示使用者重新输入或返回步骤S1进入下一题目。
其中较优地,所述音码编码的编码规则为:将汉字转化为拼音,转化完成后将拼音拆分为声母和韵母,根据对应的编码表生成:声母、韵母、韵补及音调的编码组合。
其中较优地,所述相似度计算函数如下:
其中,sim为两个编码序列的相似度,取值为[0,1],sim的数值越大,则表示两个编码序列的相似度越高,sim的数值越小,则表示两个编码序列的相似度越小;Wi为待匹配字符串的编码的权重,;N为待匹配字符串的编码的长度;p[i]表示两个待匹配的字符串的编码的对应位上的码元相同则为1,不同为0。
其中较优地,所述权重的设置规则为:
在形码编码中,字符形状权重和字符结构权重相等,并且两者权重均小于四角编码权重,权重总和为1;
在音码编码中,声母权重、韵母权重、韵补权重相等,并且三者权重均大于音调权重,权重总和为1;
在混合编码中,形码编码权重和音码编码权重相等,形码编码中各自权重关系与形码编码中各自权重关系相同,音码编码各自权重关系与音码编码中各自权重关系相同,权重总和为1。
根据本发明实施例的第二方面,提供一种字符串模糊匹配的系统,包括处理器和存储器;所述存储器用于存储计算机程序,当该计算机程序被所述处理器执行时,实现上述字符串模糊匹配的方法。
与现有技术相比较,本发明额外使用了字形信息(形码编码)和声学信息(音码编码),可以从更丰富的维度刻画字符之间的相似度,因而取得了更好的字符串搜索匹配效果。另一方面,本发明实现了快速关键词模糊匹配,提高了关键词信息匹配和搜索的准确率。
附图说明
图1为本发明实施例提供的一种字符串模糊匹配的方法流程图;
图2为本发明实施例中,字符结构编码的示例图;
图3为本发明实施例提供的一种字符串模糊匹配的系统示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术内容进行详细具体的说明。
如图1所示,本发明实施例提供的一种字符串模糊匹配的方法,包括如下步骤:
S1:识别量表中的题目,对采集到的文本进行编码。
其中,编码模式包括形码编码、音码编码、混合编码。
当识别场景为手写字体识别时,则使用所述形码编码;
其中,手写字体识别时,首先通过OCR识别技术对手写字体进行识别处理,然后对识别后的字符做形码编码处理。
当识别场景为语音转文本(例如,利用OCR识别技术将语音转换为文本)后对转换的文本进行信息识别时,则使用音码编码;
当识别场景为既需要输入语音也需要手写输入时,或者在形码编码或音码编码的准确率未达到预设条件时,则使用混合编码。
需要说明的是,每套系统仅包括一种编码模式,不存在单一系统中选择编码模式的情况,具体编码模式使用情况以实际场景为准,本发明对此不予限制。
在本发明的一个实施例中,正确文本为系统数据库中标准答案的文字和/或语音文本。在此,标准答案的语音文本是将作为标准答案的语音,利用语音识别软件转化为文字得到的。
这是因为在本实施例中,认知评测前针对每道题均已有标准答案,所以能够将此标准答案(正确文本)作为正确文本。对正确文本采用本发明的编码规则进行混合编码,就能得到正确文本对应的字符串。以此字符串作为基准,就能计算其与采集到的文本对应的字符串的相似度,从而判断采集到的文本是否为标准答案(正确文本)。再基于认知测试的常模阈值,综合整个认知测评的结果(所有题目的正确与否)就可以判断出患者是否存在认知障碍和/或严重程度。
在本发明的一个实施例中,所述形码编码的编码规则为:
中文字符形码编码是将字符形状编码(1位)、字符结构编码(1位)、四角编码(5位)依次组合在一起得到的。
数字形码编码:字符(1位)。
英文字符形码编码:字符(1位)。
其中,字符形状编码是根据字符的形状把字符分类为多组,并且每组字符的字符形状编码赋码相同,示例如下表所示:
在本发明的一个实施例中,字符结构编码是根据字符的构成结构分类为多组,并且每组字符的字符结构编码赋码相同,示例如图2所示。
在本发明的一个实施例中,四角编码的规则为:根据汉字所含的单笔或复笔对汉字进行编号,把汉字笔形分多类,例如为十类——头、横、垂、点、叉、插、方、角、八、小,再分别用数字0~9表示。每个字四个角的笔形按其位置左上、右上、左下、右下的顺序取号,另取附角号码,将汉字转化成最多五位的阿拉伯数字,即5位数字来代表一个汉字。
参考上述形码编码规则,“皮”编码为“2040247”,“球”编码为“8113199”,“3”编码为“3333333”,“d”编码为“ddddddd”。
其中,每个字符编码固定长度为7位。
在本发明的一个实施例中,音码编码的编码规则为:将汉字转化为拼音,转化完成后将拼音拆分为声母和韵母,根据对应的编码表生成编码组合,即声母+韵母+韵补+音调的组合。
其中,汉字拼音声母编码表如下表所示:
汉字拼音韵母编码表如下表所示:
参考上述音码编码规则,“国旗”的音码编码为[‘2852’,‘4C02’],“国企”的音码编码为['2852’,‘4C03’]。
在本发明的一个实施例中,混合编码的编码规则为:形码编码+音码编码=混合编码,是将形码编码和音码编码组合在一起。例如,参考上述混合编码规则,“薇”的混合编码为52442487J51,即“薇”的形码编码“5244248”+“薇”的音码编码“7J51”。
需要说明的是,无论是利用语音识别得到文本,还是利用图像识别得到文本,均可以利用该文本生成音码编码、形码编码或混合编码。在以下步骤S2中,根据需要选择对应的编码作为“采集到的文本的编码”与标准答案的对应的编码之间进行相似度计算。
例如,通过语音识别得到文本“国旗”,进而得到“国旗”对应的音码编码。然后将该音码编码作为“采集到的文本的编码”。作为替代方案,通过语音识别得到文本“国旗”,进而得到“国旗”对应的形码编码,然后将该形码编码作为“采集到的文本的编码”。作为另一种替代方案,通过语音识别得到文本“国旗”后,得到“国旗”对应的音码编码以及“国旗”对应的形码编码,将该音码编码和形码编码拼接为混合编码,作为“采集到的文本的编码”。
S2:将预存的正确文本的编码,与采集到的文本的编码,输入KMP(Knuth-Morris-Pratt)算法,得到两个需要计算相似度的字符串。
上述KMP算法的公式为:
其中,next[i]为数组;nextval[i]为在next基础之上计算出来的数组;is_similarity为相似度计算函数(例如汉明距离);S[i]和S[next[i]]均为需要计算相似度的字符串,即编码序列;thresh为预先设定的阈值。
本领域技术人员可以理解,正确文本的字符编码可以是根据标准答案预先确定的,相应的字符串也可以是预先计算并存储的。如果正确文本的字符串是预先存储的,则在此步骤中可以直接调取该字符串即可。在此只是为了描述的方便,但本发明对此并不作限制。
S3:将步骤S2中得到的两个需要计算相似度的字符串输入相似度计算函数,得到具体相似度数值。
相似度计算函数如下:
其中,sim为两个编码序列的相似度,取值为[0,1],sim的数值越大,则表示两个编码序列的相似度越高,sim的数值越小,则表示两个编码序列的相似度越小;Wi为待匹配字符串的编码中各个码元的权重,;N为待匹配的字符串的编码的长度;p[i]表示两个待匹配的字符串的编码的对应位上的码元相同则为1,不同为0。字符编码是下述字符形状编码和字符结构编码的统称。
根据认知测评每道题的答题类型(语音回答方式、输入文字回答方式或两者结合的回答方式),对每道题的正确文本的编码和采集到的文本的编码中的各个码元设置权重。所述权重/>的设置规则为:
如果该题是输入文字回答方式,则对应采用形码编码方式(模式一)。在形码编码中,形码编码权重包括字符形状编码权重、字符结构编码权重/>、四角编码权重/>。字符形状编码权重和字符结构编码权重相等,且两者权重均小于四角编码权重。字符形状编码权重/>、字符结构编码权重/>、四角编码权重/>的总和为1。
如果该题是语音回答方式,则对应采用音码编码(模式二)。在音码编码中,声母权重、韵母权重/>、韵补权重/>相等,并且三者权重均大于音调权重。三者权重总和为1。
如果该题是语音和输入文字相结合的回答方式,则对应采用混合编码。在混合编码中,形码编码权重和音码编码权重相等,并且形码编码权重和音码编码权重的权重总和为1,故在混合模式中形码编码权重为前述模式一中的形码编码权重的1/2,音码编码权重为前述模式二中的音码编码权重的1/2。即,在混合编码中的形码编码权重,其包括的字符形状编码的权重为、字符结构编码的权重为/>、四角编码的权重为/>。在混合编码中的音码编码权重,其包括的声母权重为/>,韵母权重为/>,韵补权重为/>。即,形码编码中各自权重关系与形码编码中各自权重关系相同,音码编码各自权重关系与音码编码中各自权重关系相同,权重总和为1。
S4:将通过步骤S3得到相似度数值与预设的相似度阈值进行比较,判断采集到的文本是否与正确文本匹配成功。
若通过步骤S3得到的相似度数值大于等于预设的相似度阈值,则匹配成功,系统向使用者显示匹配后的文本;若通过步骤S3得到的相似度数值小于预设的相似度阈值,则匹配失败,系统提示使用者重新输入并返回步骤S1。
其中,预设的相似度阈值根据具体情况而定,通常需经过大量实践经验获得,本发明对此不予限制。通常,是利用认知评测常模数据得到相似度阈值。
因为步骤S3中计算的是与系统正确文件(事先已预存的标准答案)的编码的相似度,所以如果采集到的文本的编码与系统正确文件的编码相似度高,则可以判断该采集到的文本与标准答案相符(答对题目);反之则认为不相符(答错题目)。
在此需要说明,在步骤S4中,若通过步骤S3得到的相似度数值大于等于预设的相似度阈值,则表示匹配成功,返回步骤S1进入下一题目,直至完成全部题目则结束;若通过步骤S3得到的相似度数值小于预设的相似度阈值,则匹配失败,系统提示使用者重新输入或返回步骤S1进入下一题目。在本实施例中,返回步骤S1,可以是指示使用者对答错题目重新进行回答,直至回答正常;也可以是指示使用者对下一道题目进行回答,直至完成全部题目。
下面,介绍本发明实施例提供的字符串模糊匹配的方法应用在手写字体识别场景的示例。
例如:正确文本为“村旁的小桥被水淹了”,用户将该文本手写出来后,如果字体不够规整,该句子中的“淹”很容易被识别成“俺”,这样的识别结果将导致对该句子自动匹配错误。
本发明实施例中的形码模式则可以有效匹配出正确信息,“淹”形码编码为“8134116”,“俺”形码编码为“8124216”,字符串匹配(对应位置相同字符为1,不同为0)结果为“1101011”,假设字符形状和字符结构所占权重为0.3,四角编码权重为0.4,则权重总和为:0.3+0.3+0.4=1。
字符形状和字符结构都是单个字符,所以字符权重就是0.3,四角编码5位字符,则每个字符权重为0.08。
采用相似度计算函数计算如下:
阈值设置>0.84(该值根据实际场景设置,通常设置为0.8),就可以成功判断识别出来的“俺”就是“淹”。
其次,介绍本发明实施例提供的字符串模糊匹配的方法中音码编码的使用场景示例:
音码编码解决的问题主要是部分方言发音和同音字问题,主要应用在语音转文本,然后对文本进行信息提取的场景下。
例如正确文本的语音文件里面出现“国旗”的发音,但语音识别的结果是“国企”,针对这种情况,常用的关键词搜索算法很难正确的检索出“国旗”的正确结果,而采用本发明的音码编码,把“国旗”和“国企”采用音码模式编码。
音码编码由汉字拼音的声母、韵母、韵补和声调组成。
“国旗”的音码编码为[‘2852’,‘4C02’],“国企”的音码编码为['2852’,‘4C03’];假设前面3个字符的权重都为0.3,第4个字符的权重为0.1,则权重总和为0.3+0.3+0.3+0.1=1。
所述第一个汉字的字符串匹配(对应位置相同字符为1,不同为0)结果为“1111”。
采用相似度计算函数计算如下:
,即相似度1;
所述第二个汉字的字符串匹配(对应位置相同字符为1,不同为0)结果为“1110”,采用相似度计算函数计算如下:
,即相似度0.9;
若设置相似度阈值为0.89,则正确识别出用户的答案为“国旗”。
再次,介绍本发明实施例提供的字符串模糊匹配的方法中混合编码的使用场景示例:
在混合模式下,需要同时提取字符的形码部分和音码部分,然后把形码部分和音码部分,组合在一起。该模式主要应用于词库搜索。
例如:词库里面有“南通市崇川区紫琅路”和“长沙市雨花区紫薇路”,而用户的输入是“紫娘路”,从关键词的字符组成来说都是差一个字,故很难判断出用户想要搜索的目标词是哪个。
本发明实施例中的匹配过程是通过用户输入的“紫娘路”在“南通市崇川区紫琅路”和“长沙市雨花区紫薇路”词库中搜索匹配关键词。在匹配过程中,首先对各个待匹配的字符串采用混合编码方式进行编码,然后按照KMP算法进行字符串模糊匹配。
具体举例如下:
“娘”形码编码为“8143432”,音码编码为“F742”,拼在一起为“8143432F742”;
“琅”形码编码为“8113132”,音码编码为“F702”,拼在一起为“8113132F702”;
“薇”形码编码为“5244248”,音码编码为“7J51”,拼在一起为“52442487J51”;
所有字符都按照上述的编码方式进行编码,最终结果如下:
“紫娘路”编码为[“12229034E03”,“8143432F742”,“81671645704”],这里记为P;
“南通市崇川区紫琅路”编码为[“6640227F702”,“6B37302K601”,“2C002274G04”,“5222901KF02”,“9322000FF51”,“08717146C01”,“12229034E03”,“8113132F702”,“81671645704”],这里记为S;
首先用P的首字符串去匹配S的的首字符串,并计算相似度,即计算P[0]=“12229034E03”和S[0]=“6640227F702”的相似度,P[0]和S[0]字符串匹配(对应位置相同字符为1,不同为0)结果为“00000000000”,采用相似度计算函数计算如下:
这里设置形码编码和音码编码的权重都为0.5,形码编码部分中字符形状和字符结构在形码中的所占权重为0.3,四角编码在形码中所占权重为0.4(5个字符,每个字符0.08),音码编码中4个字符占音码编码的权重依然为[0.3,0.3,0.3,0.1],则混合编码中各个字符的权重列表为[0.15,0.15,0.04,0.04,0.04,0.04,0.04,0.15,0.15,0.15,0.05],则P[0]和S[0]的相似度值为:
Sim=0
这里设置相似度阈值为0.7;很明显P[0]和S[0]不匹配,则S指针后移,指向下一个元素,通过计算可知,直到移动到S[6]时,才和P[0]匹配成功(因为这两个字符序列完全相同),然后P和S指针都后移,即P[1]和S[7],即中文字符串中的“娘”和“琅”,
“娘”和“琅”字符串匹配(对应位置相同字符为1,不同为0)结果为“11010111101”,采用相似度计算函数计算如下:
该值大于预设阈值0.7,则匹配成功,然后P和S指针继续后移,即P[2]和S[8],两个字符串完全相同,即匹配成功,同时P已经匹配到最后一个字符序列,则本次字符串匹配成功,即在S中成功搜索到和P一致的字符串序列[“12229034E03”,“8113132F702”,“81671645704”],对应的中文序列为“紫琅路”。
用同样的方法去匹配“紫娘路”和“长沙市雨花区紫薇路”,最终结果显示匹配失败,因为“娘”和“薇”字符串匹配(对应位置相同字符为1,不同为0)结果为“00100000000”,采用相似度计算函数计算如下:
很显然,在该示例中,最终判断为用户搜索目标词组为“南通市崇川区紫琅路”。
在上述字符串模糊匹配的方法的基础上,本发明实施例进一步提供一种字符串模糊匹配的系统。如图3所示,该字符串模糊匹配的系统包括一个或多个处理器和存储器。其中,存储器与处理器耦接,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述实施例中字符串模糊匹配的方法。
其中,处理器用于控制该字符串模糊匹配的系统的整体操作,以完成上述字符串模糊匹配的方法的全部或部分步骤。该处理器模块可以是中央处理器(CPU)、图形处理器(GPU)、现场可编程逻辑门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理(DSP)芯片等。存储器用于存储各种类型的数据以支持在该字符串模糊匹配的系统的操作, 这些数据例如可以包括用于在字符串模糊匹配的系统上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器模块可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器等。
需要说明的是,上述多个实施例只是举例,各个实施例的技术方案之间可以进行组合,均在本发明的保护范围内。
上面对本发明所提供的字符串模糊匹配的方法及系统进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质内容的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
Claims (10)
1.一种字符串模糊匹配的方法,其特征在于包括:
S1:识别量表中的题目,对采集到的文本进行编码;
S2:将正确文本的编码与采集到的文本的编码,分别采用KMP算法,得到两个需要计算相似度的字符串;
S3:将步骤S2中得到的两个需要计算相似度的字符串,分别输入相似度计算函数,得到具体相似度数值;
S4:将通过步骤S3得到相似度数值与预设的相似度阈值进行比较,判断采集到的文本是否与正确文本匹配成功。
2.如权利要求1所述的方法,其特征在于:
对采集到的文本进行编码的编码模式包括形码编码、音码编码、混合编码,其中,所述混合编码为形码编码和音码编码组合在一起。
3.如权利要求2所述的方法,其特征在于:
所述形码编码包括字符形状编码、字符结构编码和四角编码。
4.如权利要求3所述的方法,其特征在于:
所述字符形状编码是根据字符的形状把字符分类为多组,并且每组字符中的各个字符的字符形状编码赋码相同;
所述字符结构编码是根据字符的构成结构分类为多组,并且每组字符中的各个字符的字符结构编码赋码相同。
5.如权利要求4所述的方法,其特征在于:
利用语音识别得到文本或者利用图像识别得到文本,再利用所述文本生成所述音码编码、所述形码编码或所述混合编码中的任意一个或多个。
6.如权利要求4所述的方法,其特征在于:
在所述步骤S4中,若通过步骤S3得到的相似度数值大于等于预设的相似度阈值,则表示匹配成功,返回步骤S1进入下一题目,直至完成全部题目则结束;若通过步骤S3得到的相似度数值小于预设的相似度阈值,则匹配失败,系统提示使用者重新输入或返回步骤S1进入下一题目。
7.如权利要求4所述的方法,其特征在于:
所述音码编码的编码规则为:将汉字转化为拼音,转化完成后将拼音拆分为声母和韵母,根据对应的编码表生成:声母、韵母、韵补及音调的编码组合。
8.如权利要求1所述的方法,其特征在于所述相似度计算函数如下:
其中,sim为两个编码序列的相似度,取值为[0,1],sim的数值越大,则表示两个编码序列的相似度越高,sim的数值越小,则表示两个编码序列的相似度越小;Wi为待匹配字符串的编码的权重,/>;N为待匹配字符串的编码的长度;p[i]表示两个待匹配的字符串的编码的对应位上的码元相同则为1,不同为0。
9.如权利要求8所述的方法,其特征在于所述权重的设置规则为:
在形码编码中,字符形状权重和字符结构权重相等,并且两者权重均小于四角编码权重,权重总和为1;
在音码编码中,声母权重、韵母权重、韵补权重相等,并且三者权重均大于音调权重,权重总和为1;
在混合编码中,形码编码权重和音码编码权重相等,形码编码中各自权重关系与形码编码中各自权重关系相同,音码编码各自权重关系与音码编码中各自权重关系相同,权重总和为1。
10.一种字符串模糊匹配的系统,其特征在于包括处理器和存储器;所述存储器用于存储计算机程序,当该计算机程序被所述处理器执行时,实现权利要求1~9中任意一项所述的字符串模糊匹配的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310996571.4A CN116701963A (zh) | 2023-08-09 | 2023-08-09 | 一种字符串模糊匹配的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310996571.4A CN116701963A (zh) | 2023-08-09 | 2023-08-09 | 一种字符串模糊匹配的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116701963A true CN116701963A (zh) | 2023-09-05 |
Family
ID=87831616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310996571.4A Pending CN116701963A (zh) | 2023-08-09 | 2023-08-09 | 一种字符串模糊匹配的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701963A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399907A (zh) * | 2013-07-31 | 2013-11-20 | 深圳市华傲数据技术有限公司 | 一种基于编辑距离计算中文字符串相似度的方法及装置 |
US20150379241A1 (en) * | 2014-06-27 | 2015-12-31 | Passport Health Communications, Inc. | Automatic medical coding system and method |
CN110929477A (zh) * | 2018-09-03 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 关键词变体的确定方法和装置 |
CN111159990A (zh) * | 2019-12-06 | 2020-05-15 | 国家计算机网络与信息安全管理中心 | 一种基于模式拓展的通用特殊词识别方法及系统 |
CN114943203A (zh) * | 2022-05-06 | 2022-08-26 | 拉扎斯网络科技(上海)有限公司 | 汉字相似度的获得方法、装置、电子设备和存储设备 |
CN115577269A (zh) * | 2022-09-28 | 2023-01-06 | 天翼电子商务有限公司 | 一种基于字符串文本特征相似度的黑名单模糊匹配方法 |
CN115983233A (zh) * | 2023-01-04 | 2023-04-18 | 重庆邮电大学 | 一种基于数据流匹配的电子病历查重率估计方法 |
-
2023
- 2023-08-09 CN CN202310996571.4A patent/CN116701963A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399907A (zh) * | 2013-07-31 | 2013-11-20 | 深圳市华傲数据技术有限公司 | 一种基于编辑距离计算中文字符串相似度的方法及装置 |
US20150379241A1 (en) * | 2014-06-27 | 2015-12-31 | Passport Health Communications, Inc. | Automatic medical coding system and method |
CN110929477A (zh) * | 2018-09-03 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 关键词变体的确定方法和装置 |
CN111159990A (zh) * | 2019-12-06 | 2020-05-15 | 国家计算机网络与信息安全管理中心 | 一种基于模式拓展的通用特殊词识别方法及系统 |
CN114943203A (zh) * | 2022-05-06 | 2022-08-26 | 拉扎斯网络科技(上海)有限公司 | 汉字相似度的获得方法、装置、电子设备和存储设备 |
CN115577269A (zh) * | 2022-09-28 | 2023-01-06 | 天翼电子商务有限公司 | 一种基于字符串文本特征相似度的黑名单模糊匹配方法 |
CN115983233A (zh) * | 2023-01-04 | 2023-04-18 | 重庆邮电大学 | 一种基于数据流匹配的电子病历查重率估计方法 |
Non-Patent Citations (1)
Title |
---|
周昊 等: "基于改进音形码的中文敏感词检测算法", 南京大学学报(自然科学), vol. 56, no. 2, pages 270 - 277 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489760B (zh) | 基于深度神经网络文本自动校对方法及装置 | |
KR910007531B1 (ko) | 음성인식장치 | |
JP3950535B2 (ja) | データ処理方法及び装置 | |
KR970008023B1 (ko) | 사전검색장치 | |
CN111247581B (zh) | 一种多语言文本合成语音方法、装置、设备及存储介质 | |
US5550934A (en) | Apparatus and method for syntactic signal analysis | |
JP5130892B2 (ja) | 文字符号化処理方法及びシステム | |
JP4570509B2 (ja) | 読み生成装置、読み生成方法及びコンピュータプログラム | |
CN111651978A (zh) | 基于实体的词法检查方法与装置和计算机设备及存储介质 | |
CN113343671B (zh) | 一种语音识别后的语句纠错方法、装置、设备及存储介质 | |
CN113380223B (zh) | 多音字消歧方法、装置、系统及存储介质 | |
EP2447854A1 (en) | Method and system of automatic diacritization of Arabic | |
CN111782892B (zh) | 基于前缀树的相似字符识别方法、设备、装置和存储介质 | |
CN111554272A (zh) | 一种面向中文语音识别的语言模型建模方法 | |
CN111767717A (zh) | 印尼语的语法纠错方法、装置、设备及存储介质 | |
CN114036950A (zh) | 一种医疗文本命名实体识别方法及系统 | |
Li et al. | Dimsim: An accurate chinese phonetic similarity algorithm based on learned high dimensional encoding | |
CN111401012A (zh) | 文本纠错方法、电子设备及计算机可读存储介质 | |
CN116701963A (zh) | 一种字符串模糊匹配的方法及系统 | |
CN116450896A (zh) | 文本模糊匹配方法、装置、电子设备及可读存储介质 | |
CN113536776A (zh) | 混淆语句的生成方法、终端设备及计算机可读存储介质 | |
CN113330430B (zh) | 语句结构向量化装置、语句结构向量化方法及记录有语句结构向量化程序的记录介质 | |
CN113536786A (zh) | 混淆汉字的生成方法、终端设备及计算机可读存储介质 | |
JP2003331214A (ja) | 文字認識誤り訂正方法、装置及びプログラム | |
KR100342785B1 (ko) | 한국어 문자열간의 전역 유사도 측정 방법 |
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 |