CN113723082B - 从文本中检测中文拼音的方法和装置 - Google Patents
从文本中检测中文拼音的方法和装置 Download PDFInfo
- Publication number
- CN113723082B CN113723082B CN202111007683.XA CN202111007683A CN113723082B CN 113723082 B CN113723082 B CN 113723082B CN 202111007683 A CN202111007683 A CN 202111007683A CN 113723082 B CN113723082 B CN 113723082B
- Authority
- CN
- China
- Prior art keywords
- string
- pinyin
- current
- substring
- matching
- 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 47
- 238000001514 detection method Methods 0.000 claims abstract description 39
- 238000012937 correction Methods 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241001672694 Citrus reticulata Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010252 digital analysis Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 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/237—Lexical tools
- G06F40/242—Dictionaries
-
- 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)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Document Processing Apparatus (AREA)
Abstract
本说明书实施例提供一种从文本中检测中文拼音的方法和装置。该拼音检测方法包括,从目标文本中截取待检测的目标字符串,并针对目标字符串,执行若干次子串匹配操作。上述子串匹配操作具体包括,针对目标字符串中的当前子串,判断其是否属于拼音字典。若不属于拼音字典,针对当前子串进行添加或回退的第一更新;若当前子串属于拼音字典,更新临时匹配序列,并在目标字符串完成整体匹配时,将临时匹配序列中的拼音添加到针对目标文本的匹配拼音列表中,而在目标字符串尚未完成整体匹配时,通过截取后续子串对当前子串进行第二更新。直到针对目标文本完成检测。
Description
技术领域
本说明书一个或多个实施例涉及自然语言处理,尤其涉及从文本中检测中文拼音的方法和装置。
背景技术
在多种文书处理和数字化分析的场景中,需要从文本中识别出中文拼音。例如,在留学缴费等外汇审批场景中,需要审核留学凭证的信息,这就需要从用户提供的一般为外语的留学凭证(例如,录取通知书)中,检测是否包含与用户姓名对应的中文拼音,从而防止借助留学渠道进行非法外汇交易的风险。在对包含中文元素的外语语料进行自然语言理解的场景中,也需要从外语文本中识别出中文拼音,从而有助于下游的自然语言解读。
然而,在例如留学缴费的审批场景中,审批工作往往需要通过人工检测完成;在语料分析场景中,拼音标注往往依赖于统计学习进行。这些方式成本高,且有一定的误识别概率。
因此,希望能有改进的方案,可以自动地从文本中检测出中文拼音,提高拼音检测的效率和准确度。
发明内容
本说明书一个或多个实施例描述了一种通过动态规划从文本中自动检测拼音的方法和装置,能够更加快速准确地从文本中识别出中文拼音序列。
根据第一方面,提供了从文本中检测中文拼音的方法,包括:
从目标文本中截取待检测的目标字符串;
针对目标字符串,执行若干次子串匹配操作,所述子串匹配操作包括:
针对从所述目标字符串中截取的当前子串,判断当前子串是否属于拼音字典;
基于其不属于拼音字典,针对当前子串进行第一更新;
基于其属于拼音字典,更新临时匹配序列,并在所述目标字符串完成整体匹配时,将临时匹配序列中的拼音添加到针对所述目标文本的匹配拼音列表中,在所述目标字符串尚未完成整体匹配时,对所述当前子串进行第二更新。
根据一种实施方式,上述方法还包括:获取原始文本;通过对原始文本进行正则化处理,得到所述目标文本;所述正则化处理包括以下中的一项或多项处理:标点符号修正,格式修正,添加/删除空格。
在一个具体例子中,上述原始文本可以是经OCR识别得到的文本。
根据一个实施例,从目标文本中截取待检测的目标字符串,具体可以包括:以标点符号或空格作为截断标记,从目标文本中截取字符序列;在判断所述字符序列符合拼音规则的情况下,将所述字符序列作为所述目标字符串。
根据一个实施例,可以在当前子串不属于拼音字典,或者所述当前子串已匹配过的情况下,针对当前子串进行第一更新。
根据一种实施方式,针对当前子串进行第一更新具体可以包括:在所述当前子串符合拼音规则的情况下,在其后添加下一字符,作为第一更新后的当前子串;在所述当前子串不符合拼音规则的情况下,基于所述临时匹配序列中最新的匹配子串和当前子串的首个字符,形成第一更新后的当前子串。
在一个实施例中,可以在当前子串属于拼音字典,并且未记录在所述匹配拼音列表中的情况下,更新临时匹配序列。
根据一种实施方式,更新临时匹配序列具体可以包括:在当前子串包含所述临时匹配序列中最新的匹配子串中的所有字符的情况下,用所述当前子串替换所述最新的匹配子串;否则,将所述当前子串添加到所述临时匹配序列中。
根据一种实施方式,对当前子串进行第二更新具体可以包括:在所述目标字符串中,以所述当前子串的结束位置以起始位置,截取字符串作为第二更新后的当前子串。
在一个实施例中,拼音字典以字典树的形式预先加载;相应的,可以判断所述当前子串的字符序列是否属于所述字典树中的合法路径,由此所述判断当前子串是否属于拼音字典。
根据一个实施方式,上述方法还包括:在针对所述目标文本完成所有目标字符串的分析后,输出所述匹配拼音列表作为拼音检测结果。
根据第二方面,提供了一种从文本中检测中文拼音的装置,包括:
字符串获取单元,配置为从目标文本中截取待检测的目标字符串;
子串匹配单元,配置为针对目标字符串,执行若干次子串匹配操作,所述子串匹配单元包括:
第一判断模块,配置为针对从所述目标字符串中截取的当前子串,判断当前子串是否属于拼音字典;
第一更新模块,配置为基于当前子串不属于拼音字典,针对当前子串进行第一更新;
临时序列操作模块,配置为基于当前子串属于拼音字典,更新临时匹配序列,并在所述目标字符串完成整体匹配时,将临时匹配序列中的拼音添加到针对所述目标文本的匹配拼音列表中;
第二更新模块,配置为在所述目标字符串尚未完成整体匹配时,对所述当前子串进行第二更新。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
根据本说明书实施例提供的方案,动态地从待分析的目标文本中不断提取出子序列,并结合匹配历史和拼音规则,检测子序列是否为拼音序列,直到文本中所有拼音序列被检测出来。如此,通过动态规划的方式,快速准确地从目标文本中检测出拼音序列,作为拼音检测结果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的拼音检测过程的示意图;
图2示出根据一个实施例的从文本中检测拼音的方法流程图;
图3示出根据另一实施例的从文本中检测拼音的方法流程图;
图4示出根据一个实施例的拼音检测装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的拼音检测过程的示意图。如图1所示,利用拼音检测系统100进行文本中拼音的识别和检测。在在线进行拼音检测之前,拼音检测系统100中预先加载拼音字典110和拼音规则管理模块120;其中,拼音字典110中记录,现代标准汉语(普通话)对应的拼音音节列表。典型地,该拼音字典可以体现或记录为字典树的树形数据结构,以加快检索速度。拼音规则管理模块120可以预定义合乎拼音拼写规则的字符组合,并基于此快速检测字符串是否符合拼音规则。
在进行拼音检测时,获取当前待检测的目标文本,将其输入上述拼音检测系统100。拼音检测系统100中的检测引擎130,基于拼音字典110和拼音规则管理模块120,采用动态规划的拼音检测算法,在目标文本中检测中文拼音。其中,动态规划的思想,是一种将原问题分解为相对简单的子问题,通过求解子问题解决复杂问题的方法。这里,采用动态规划思想的拼音检测算法,通过两层嵌套循环,从待分析的目标文本中不断提取出子序列,并结合匹配历史和拼音规则,检测子序列是否为拼音序列,直到文本中所有拼音序列被检测出来。从而,拼音检测系统可以输出针对目标文本的匹配拼音列表,作为拼音检测结果。
下面对以上描述的动态规划的拼音检测方法进行详细描述。
图2示出根据一个实施例的从文本中检测拼音的方法流程图。可以理解,该方法流程可以由图1所示的拼音检测系统执行,该拼音检测系统可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来实现。更具体的,该方法可以由其中的检测引擎执行。下面描述该拼音检测流程的各个步骤。
首先,在步骤201,获取待检测的目标文本。
在一些场景下,例如,外汇审批的场景中,有待检测的文本资料常常是纸件材料。此时,可以首先对纸件材料进行OCR识别,得到电子化的原始文本。如此得到的原始文本,由于识别的误差、排版或格式的瑕疵等,往往存在不规范的情况,因此,在一个例子中,对上述原始文本进行正则化处理,得到上述目标文本;所述正则化处理包括以下中的一项或多项处理:标点符号修正,格式修正,添加/删除空格,等等。
在一些场景中,目标文本也可以直接来自于用户提交的电子文本,例如,电子邮件内容,网页内容,等等。此时,也可以直接将原始电子文本中的文本内容作为目标文本。
可以理解,虽然出于简洁的目的没有示出,不过在执行拼音检测流程之前,通常还需初始化针对目标文本的匹配拼音列表,以及作为临时匹配记录的临时匹配序列。典型地,将匹配拼音列表和临时匹配记录均初始化为空集。
接着,在步骤202,从目标文本中截取待检测的目标字符串,该目标字符串即作为下文进行拼音匹配的目标对象。
在一个实施例中,以标点符号或空格作为截断标记,依次从目标文本中截取一系列的字符序列,分别将其作为目标字符串。
进一步的,在一个实施例中,对于按照截断标记截取出的字符序列,还利用前述的拼音规则管理模块,判断该字符序列是否符合拼音规则。在不符合拼音规则的情况下,截取下一字符序列进行判断;仅在其符合拼音规则的情况下,将该字符序列作为目标字符串。
更具体的,拼音规则管理模块中可以记录有符合中文拼音拼写规则的字符组合方式,或称为合法字符组合。当判断出字符序列中包含不合法的字符组合,则确定该字符序列不符合拼音规则。在一个具体例子中,也可以扫描字符序列的起始若干个字符,通过判断该起始若干个字符是否为合法字符组合,确定对应的字符序列是否符合拼音规则。
在一个具体的例子中,假定目标文本包含以下文本段:
We are writing to ZhangSan...
对于以上文本段,当按照空格作为截断标记进行截取时,可以分别截取出字符序列:we/are/writing/to/zhangsan。对于以上5个字符序列,可以判断出,we,ar,wr,to都是不符合拼音规则的不合法字符组合,因此,可以将其排除目标字符串,仅将字符序列“zhangsan”作为目标字符串。
针对从目标文本中截取的某个目标字符串,针对其执行若干次子串匹配操作。子串匹配操作包括以下循环处理。
在步骤203,获得从目标字符串中截取的当前子串。可以理解,当前子串是目标字符串中,当前有待进行匹配处理的字符串。
针对当前子串,在步骤204,判断当前子串是否属于拼音字典。在一个实施例中,拼音字典以字典树的形式预先加载。字典树以树形结构记录拼音字典中的拼音音节列表,其中,该树形结构以字符或字符组合为节点,连接多个节点的一条路径对应一个合法拼音音节,该拼音音节由该路径上节点对应的字符按照顺序组合而成。具有相同的前序字符的在后字符节点,可以将该前序字符对应的节点作为其共同的父节点。例如,拼音zhen和zhan共享相同的父节点序列z-h,拼音zhan和zhang共享相同的父节点序列z-h-a。在字典树的情况下,可以判断当前子串的字符序列是否属于字典树中的合法路径,由此判断当前字段是否属于拼音字典。字典树的形式有助于加速拼音的匹配效率。
如果步骤204判断出当前子串不属于拼音字典,则进行至步骤205,针对当前子串进行第一更新,第一更新旨在基于当前子串中包含的已有字符进行继续添加或回溯,从而得到更新的当前子串。然后回到步骤203针对更新的当前子串进行下一轮判断。
另一方面,基于步骤204的判断,如果当前子串属于拼音字典,可以前进至步骤206,根据该匹配结果更新临时匹配序列。然后在步骤207,判断是否对目标字符串完成整体匹配。
如果尚未完成目标字符串的整体匹配,则在步骤208,对当前子串进行第二更新。第二更新用于在目标字符串中寻找当前子串之后的子串,作为更新的子串。然后回到步骤203针对更新的当前子串进行下一轮判断。
如果步骤207判断出已完成针对目标字符串的整体匹配,则在步骤209,将临时匹配序列中的拼音添加到针对目标文本的匹配拼音列表中。换而言之,在针对目标字符串完成整体匹配时,此时临时匹配序列中的拼音,就可以作为针对目标字符串的拼音检测结果,添加到匹配拼音列表中。
随着不断截取目标字符串,不断将针对目标字符串的拼音检测结果添加到匹配拼音列表中,在完成整个目标文本的扫描后,即可输出匹配拼音列表作为目标文本的拼音检测结果。
图3示出根据另一实施例的从文本中检测拼音的方法流程图,该流程图中的一些步骤在图2所示的对应步骤基础上,进行了优化或进一步细化。下面具体描述图3的流程。
在步骤301,获取待检测的目标文本;在步骤302,从目标文本中截取待检测的目标字符串;在步骤303,获得从目标字符串中截取的当前子串。上述步骤301-303分别与图2中的步骤201-203对应,其具体实施过程不再赘述。
在步骤304,判断当前子串是否属于拼音字典,以及是否匹配过。这里当前子串匹配过,意指该当前子串已记录在匹配拼音列表中。如果当前子串不属于拼音字典,或者当前子串已匹配过,都跳转至步骤305进行第一更新。仅当当前子串属于拼音字典,并且没有匹配过,才前进至步骤306,进行临时匹配序列的更新。如此,可以避免多次针对相同拼音进行反复匹配,从而节省计算资源,加快检测效率。
进一步地,步骤305中第一更新的过程可以包括以下子步骤。在步骤3051,判断当前子串是否符合拼音规则,如果符合,则在步骤3052,在当前子串后添加目标字符串中的下一字符,作为更新后的当前子串;如果当前子串不符合拼音规则,则需进行回退或回溯,即在步骤3053,基于临时匹配序列中最新的匹配子串和当前子串的首个字符,形成更新后的当前子串。之后,流程回到步骤303,对更新后的当前子串进行下一轮判断。
此外,步骤306中对临时匹配序列的更新可以包括以下子步骤。在步骤3061,判断当前子串是否包含临时匹配序列中最新的匹配子串。这里当前子串包含该最新的匹配子串是指,当前子串包含该最新的匹配子串中的所有字符。如果判断结果为包含,则在步骤3062,用当前子串替换临时匹配序列中该最新的匹配子串;如果判断结果为不包含,则在步骤3063,将当前子串添加到临时匹配序列中。
在对临时匹配序列进行更新之后,在步骤307,判断是否对目标字符串完成整体匹配。如果没有,则在步骤308,对当前子串进行第二更新。第二更新具体可以是,在目标字符串中,以当前子串的结束位置以起始位置,截取后续字符串作为更新后的当前子串。
如果已对目标字符串完成整体匹配,则在步骤309,与图2的步骤209类似的,将临时匹配序列中的拼音添加到针对目标文本的匹配拼音列表中。
然后,还在步骤310,判断是否针对目标文本全文完成检测。如果没有,则流程返回到步骤302,从目标文本中截取下一目标字符串进行分析,直到完成整个目标文本的检测。此时,在步骤311,输出匹配拼音列表,作为针对目标文本的拼音检测结果。
下面结合一个具体例子,描述上述流程的执行过程。
延续上例,假定目标文本包含文本段“We are writing to ZhangSan…”。假定在步骤302,将字符序列“zhangsan”作为目标字符串。同时,将临时匹配序列初始化或清空为空集。
针对该目标字符串,在步骤303,获得初始的当前子串。这里当前子串至少包含2个字符,因此,初始的当前子串为zh。
接着在步骤304,判断该当前子串zh不属于拼音字典,于是前进至步骤305进行第一更新。在其中,由于zh符合拼音规则,则在步骤3052,在其后添加下一字符a进行更新。于是,步骤303中获得更新后的当前子串zha。
针对该当前子串zha,在步骤304,判断当前子串zha属于拼音字典,且假定其没有匹配过。如此,流程进行至步骤306。更具体的,由于当前的临时匹配序列为空集,因此在步骤3063,将当前子串zha添加到临时匹配序列中。
接着,在步骤307判断出目标字符串尚未完成整体匹配,因此,在步骤308,对当前子串进行第二更新,其中以当前子串的结束位置为起点,在目标字符串中截取后续子串ng。如此,当前子串更新为ng。
针对该当前子串ng,在步骤304,判断当前子串ng不属于拼音字典,于是转至步骤305。具体地,在步骤3051判断出当前子串ng不符合拼音规则,因此在步骤3053,基于临时匹配序列中最新的匹配子串zha和当前子串的首个字符n,形成更新后的当前子串zhan。如此,当前子串更新为zhan。
针对该当前子串zhan,在步骤304,判断当前子串zhan属于拼音字典,且假定没有匹配过。如此,流程进行至步骤306。在其中,由于当前子串zhan包含临时匹配序列中最新的匹配子串zha,因此在步骤3062,用当前子串zhan替换临时匹配序列中的zha。
接着,在步骤307判断出目标字符串尚未完成整体匹配,因此,在步骤308,对当前子串zhan进行第二更新,在目标字符串中截取后续子串gs。如此,当前子串更新为gs。
针对该当前子串gs,在步骤304,判断当前子串gs不属于拼音字典,于是转至步骤305。具体地,在步骤3051判断出当前子串gs不符合拼音规则,因此在步骤3053,基于临时匹配序列中最新的匹配子串zhan和当前子串的首个字符g,形成更新后的当前子串zhang。如此,当前子串更新为zhang。
针对该当前子串zhang,在步骤304,判断当前子串zhang属于拼音字典,且假定没有匹配过。如此,流程进行至步骤306。在其中,由于当前子串zhang包含临时匹配序列中最新的匹配子串zhan,因此在步骤3062,用当前子串zhang替换临时匹配序列中的zhan。
接着,在步骤307判断出目标字符串尚未完成整体匹配,因此,在步骤308,对当前子串zhang进行第二更新,在目标字符串中截取后续子串sa。如此,当前子串更新为sa。
针对该当前子串sa,在步骤304,判断出该当前子串sa不属于拼音字典,于是前进至步骤305进行第一更新。在其中,由于sa符合拼音规则,则在步骤3052,在其后添加下一字符n进行更新。如此,当前子串更新为san。
针对该当前子串san,在步骤304,判断当前子串san属于拼音字典,且假定没有匹配过。如此,流程进行至步骤306。在其中,将当前子串san添加到临时匹配序列中。此时,临时匹配序列中包含两个拼音序列:zhang和san。
接着,在步骤307判断出目标字符串zhangsan已经完成整体匹配,因此,在步骤309,将临时匹配序列中的拼音:zhang以及san,添加到匹配拼音列表中。之后,针对下一目标字符串进行检测和匹配,直到完成整个目标文本的拼音检测。
可以看到,在以上过程中,通过两层嵌套循环,从待分析的目标文本中不断提取出子序列,并结合匹配历史和拼音规则,检测子序列是否为拼音序列,直到文本中所有拼音序列被检测出来。如此,通过动态规划的方式,快速准确地从目标文本中检测出拼音序列,作为拼音检测结果。
根据另一方面的实施例,提供了一种从文本中检测中文拼音的装置,该装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。图4示出根据一个实施例的拼音检测装置的示意性框图。如图4所示,该拼音检测装置400包括:
字符串获取单元41,配置为从目标文本中截取待检测的目标字符串;
子串匹配单元42,配置为针对目标字符串,执行若干次子串匹配操作,所述子串匹配单元42包括:
第一判断模块421,配置为针对从所述目标字符串中截取的当前子串,判断当前子串是否属于拼音字典;
第一更新模块422,配置为基于当前子串不属于拼音字典,针对当前子串进行第一更新;
临时序列操作模块423,配置为基于当前子串属于拼音字典,更新临时匹配序列,并在所述目标字符串完成整体匹配时,将临时匹配序列中的拼音添加到针对所述目标文本的匹配拼音列表中;
第二更新模块424,配置为在所述目标字符串尚未完成整体匹配时,对所述当前子串进行第二更新。
在一个实施例中,上述装置400还包括(未示出)文本获取单元,配置为获取原始文本;通过对原始文本进行正则化处理,得到所述目标文本;所述正则化处理包括以下中的一项或多项处理:标点符号修正,格式修正,添加/删除空格。
在一个例子中,上述原始文本可以是经OCR识别得到的文本。
根据一种实施方式,字符串获取单元41具体配置为:以标点符号或空格作为截断标记,从目标文本中截取字符序列;在判断所述字符序列符合拼音规则的情况下,将所述字符序列作为所述目标字符串。
根据一种执行方式,第一更新模块422配置为:如果当前子串不属于拼音字典,或者所述当前子串已匹配过,针对当前子串进行第一更新。
在一个实施例中,上述第一更新模块422具体配置为:在当前子串符合拼音规则的情况下,在其后添加下一字符,作为第一更新后的当前子串;在当前子串不符合拼音规则的情况下,基于所述临时匹配序列中最新的匹配子串和当前子串的首个字符,形成第一更新后的当前子串。
根据一种执行方式,临时序列操作模块423配置为:在当前子串属于拼音字典,并且未记录在所述匹配拼音列表中的情况下,更新临时匹配序列。
在一个实施例中,上述临时序列操作模块423具体配置为:在当前子串包含所述临时匹配序列中最新的匹配子串中的所有字符的情况下,用所述当前子串替换所述最新的匹配子串;否则,将所述当前子串添加到所述临时匹配序列中。
根据一个实施例,上述第二更新模块424具体配置为:在目标字符串中,以所述当前子串的结束位置以起始位置,截取字符串作为第二更新后的当前子串。
在一个例子中,拼音字典以字典树的形式预先加载;相应的,第一判断模块421配置为:判断所述当前子串的字符序列是否属于所述字典树中的合法路径。
根据一种实施方式,上述装置400还包括(未示出)输出单元,配置为在针对所述目标文本完成所有目标字符串的分析后,输出所述匹配拼音列表作为拼音检测结果。
通过以上装置,实现动态地从文本中检测出拼音序列。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图3所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (20)
1.一种从文本中检测中文拼音的方法,包括:
从目标文本中截取待检测的目标字符串;
针对目标字符串,执行若干次子串匹配操作,所述子串匹配操作包括:
针对从所述目标字符串中截取的当前子串,判断当前子串是否属于拼音字典;
基于其不属于拼音字典,针对当前子串进行第一更新;
基于其属于拼音字典,更新临时匹配序列,并在所述目标字符串完成整体匹配时,将临时匹配序列中的拼音添加到针对所述目标文本的匹配拼音列表中,在所述目标字符串尚未完成整体匹配时,对所述当前子串进行第二更新;
其中,所述第一更新包括:在所述当前子串符合拼音规则的情况下,在其后添加下一字符,作为第一更新后的当前子串;在所述当前子串不符合拼音规则的情况下,基于所述临时匹配序列中最新的匹配子串和当前子串的首个字符,形成第一更新后的当前子串;
所述第二更新包括,在所述目标字符串中,以所述当前子串的结束位置以起始位置,截取字符串作为第二更新后的当前子串。
2.根据权利要求1所述的方法,还包括:
获取原始文本;
通过对原始文本进行正则化处理,得到所述目标文本;所述正则化处理包括以下中的一项或多项处理:标点符号修正,格式修正,添加/删除空格。
3.根据权利要求2所述的方法,其中,所述原始文本是经OCR识别得到的文本。
4.根据权利要求1所述的方法,其中,从目标文本中截取待检测的目标字符串,包括:
以标点符号或空格作为截断标记,从目标文本中截取字符序列;
在判断所述字符序列符合拼音规则的情况下,将所述字符序列作为所述目标字符串。
5.根据权利要求1所述的方法,其中,基于其不属于拼音字典,针对当前子串进行第一更新,包括:
如果所述当前子串不属于拼音字典,或者所述当前子串已匹配过,针对当前子串进行第一更新。
6.根据权利要求1所述的方法,其中,基于其属于拼音字典,更新临时匹配序列,包括:
在所述当前子串属于拼音字典,并且未记录在所述匹配拼音列表中的情况下,更新临时匹配序列。
7.根据权利要求1或6所述的方法,其中,更新临时匹配序列包括:
在所述当前子串包含所述临时匹配序列中最新的匹配子串中的所有字符的情况下,用所述当前子串替换所述最新的匹配子串;
否则,将所述当前子串添加到所述临时匹配序列中。
8.根据权利要求1所述的方法,其中,所述拼音字典以字典树的形式预先加载;
所述判断当前子串是否属于拼音字典,包括:判断所述当前子串的字符序列是否属于所述字典树中的合法路径。
9.根据权利要求1所述的方法,还包括:
在针对所述目标文本完成所有目标字符串的分析后,输出所述匹配拼音列表作为拼音检测结果。
10.一种从文本中检测中文拼音的装置,包括:
字符串获取单元,配置为从目标文本中截取待检测的目标字符串;
子串匹配单元,配置为针对目标字符串,执行若干次子串匹配操作,所述子串匹配单元包括:
第一判断模块,配置为针对从所述目标字符串中截取的当前子串,判断当前子串是否属于拼音字典;
第一更新模块,配置为基于当前子串不属于拼音字典,针对当前子串进行第一更新;
临时序列操作模块,配置为基于当前子串属于拼音字典,更新临时匹配序列,并在所述目标字符串完成整体匹配时,将临时匹配序列中的拼音添加到针对所述目标文本的匹配拼音列表中;
第二更新模块,配置为在所述目标字符串尚未完成整体匹配时,对所述当前子串进行第二更新;
所述第一更新模块还配置为:在所述当前子串符合拼音规则的情况下,在其后添加下一字符,作为第一更新后的当前子串;在所述当前子串不符合拼音规则的情况下,基于所述临时匹配序列中最新的匹配子串和当前子串的首个字符,形成第一更新后的当前子串;
第二更新模块具体配置为:在所述目标字符串中,以所述当前子串的结束位置以起始位置,截取字符串作为第二更新后的当前子串。
11.根据权利要求10所述的装置,还包括:
文本获取单元,配置为获取原始文本;通过对原始文本进行正则化处理,得到所述目标文本;所述正则化处理包括以下中的一项或多项处理:标点符号修正,格式修正,添加/删除空格。
12.根据权利要求11所述的装置,其中,所述原始文本是经OCR识别得到的文本。
13.根据权利要求10所述的装置,其中,字符串获取单元配置为:
以标点符号或空格作为截断标记,从目标文本中截取字符序列;
在判断所述字符序列符合拼音规则的情况下,将所述字符序列作为所述目标字符串。
14.根据权利要求10所述的装置,其中,第一更新模块配置为:
如果所述当前子串不属于拼音字典,或者所述当前子串已匹配过,针对当前子串进行第一更新。
15.根据权利要求10所述的装置,其中,临时序列操作模块配置为:
在所述当前子串属于拼音字典,并且未记录在所述匹配拼音列表中的情况下,更新临时匹配序列。
16.根据权利要求10或15所述的装置,其中,临时序列操作模块配置为:
在所述当前子串包含所述临时匹配序列中最新的匹配子串中的所有字符的情况下,用所述当前子串替换所述最新的匹配子串;
否则,将所述当前子串添加到所述临时匹配序列中。
17.根据权利要求10所述的装置,其中,所述拼音字典以字典树的形式预先加载;
第一判断模块配置为:判断所述当前子串的字符序列是否属于所述字典树中的合法路径。
18.根据权利要求10所述的装置,还包括:
输出单元,配置为在针对所述目标文本完成所有目标字符串的分析后,输出所述匹配拼音列表作为拼音检测结果。
19.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项的所述的方法。
20.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111007683.XA CN113723082B (zh) | 2021-08-30 | 2021-08-30 | 从文本中检测中文拼音的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111007683.XA CN113723082B (zh) | 2021-08-30 | 2021-08-30 | 从文本中检测中文拼音的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113723082A CN113723082A (zh) | 2021-11-30 |
CN113723082B true CN113723082B (zh) | 2024-08-02 |
Family
ID=78679321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111007683.XA Active CN113723082B (zh) | 2021-08-30 | 2021-08-30 | 从文本中检测中文拼音的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113723082B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168435A (zh) * | 2022-02-15 | 2022-10-11 | 支付宝(杭州)信息技术有限公司 | 查询数据的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268637A (zh) * | 2018-01-17 | 2018-07-10 | 广东蔚海数问大数据科技有限公司 | 一种智能语音矫正识别方法、装置和用户终端 |
CN111179937A (zh) * | 2019-12-24 | 2020-05-19 | 上海眼控科技股份有限公司 | 文本处理的方法、设备和计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11328159A (ja) * | 1998-05-14 | 1999-11-30 | Toshiba Corp | 中国語入力変換処理装置、中国語入力変換処理方法、中国語入力変換処理プログラムを記録した記録媒体 |
JP2002014954A (ja) * | 2000-06-28 | 2002-01-18 | Toshiba Corp | 中国語入力変換処理装置、中国語入力変換処理方法及び記録媒体 |
US7478033B2 (en) * | 2004-03-16 | 2009-01-13 | Google Inc. | Systems and methods for translating Chinese pinyin to Chinese characters |
CN111444705A (zh) * | 2020-03-10 | 2020-07-24 | 中国平安人寿保险股份有限公司 | 纠错方法、装置、设备及可读存储介质 |
CN112114926B (zh) * | 2020-09-25 | 2024-08-09 | 阿波罗智联(北京)科技有限公司 | 基于语音识别的页面操作方法、装置、设备和介质 |
-
2021
- 2021-08-30 CN CN202111007683.XA patent/CN113723082B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268637A (zh) * | 2018-01-17 | 2018-07-10 | 广东蔚海数问大数据科技有限公司 | 一种智能语音矫正识别方法、装置和用户终端 |
CN111179937A (zh) * | 2019-12-24 | 2020-05-19 | 上海眼控科技股份有限公司 | 文本处理的方法、设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113723082A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111859921A (zh) | 文本纠错方法、装置、计算机设备和存储介质 | |
CN107341143B (zh) | 一种句子连贯性判断方法及装置和电子设备 | |
US11776248B2 (en) | Systems and methods for automated document image orientation correction | |
US9286526B1 (en) | Cohort-based learning from user edits | |
CN108363701B (zh) | 命名实体识别方法及系统 | |
KR101509727B1 (ko) | 자율학습 정렬 기반의 정렬 코퍼스 생성 장치 및 그 방법과, 정렬 코퍼스를 사용한 파괴 표현 형태소 분석 장치 및 그 형태소 분석 방법 | |
US9098487B2 (en) | Categorization based on word distance | |
CN111782892B (zh) | 基于前缀树的相似字符识别方法、设备、装置和存储介质 | |
CN113961768A (zh) | 敏感词检测方法、装置、计算机设备和存储介质 | |
CN115223188A (zh) | 票据信息处理方法、装置、电子设备及计算机存储介质 | |
CN113723082B (zh) | 从文本中检测中文拼音的方法和装置 | |
US20110229036A1 (en) | Method and apparatus for text and error profiling of historical documents | |
EP2138959A1 (en) | Word recognizing method and word recognizing program | |
CN110929514B (zh) | 文本校对方法、装置、计算机可读存储介质及电子设备 | |
CN117422064A (zh) | 搜索文本纠错方法、装置、计算机设备及存储介质 | |
CN111291535A (zh) | 剧本处理方法、装置、电子设备及计算机可读存储介质 | |
CN116756382A (zh) | 检测敏感字符串的方法、装置、设置及存储介质 | |
Hocking et al. | Optical character recognition for South African languages | |
US20210264218A1 (en) | Character recognition system and method | |
CN114065762A (zh) | 一种文本信息的处理方法、装置、介质及设备 | |
CN111626059B (zh) | 一种信息处理方法及装置 | |
CN113505570B (zh) | 参考文献参见落空的审校方法、装置、设备及存储介质 | |
US20230377358A1 (en) | Method and apparatus for dechipering obfuscated text for cyber security | |
CN118520870B (zh) | 一种文本纠错方法、装置、计算机设备和存储介质 | |
KR101663521B1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |