一种基于有限状态机的文本正则化方法及系统
文献发布时间:2023-06-19 11:57:35
技术领域
本发明涉及自然语言处理,特别涉及一种基于有限状态机的文本正则化方法及系统。
背景技术
随着信息技术、语言技术以及计算机技术的发展,人们对文本处理的要求也越来越高,尤其是标准语言,正拥有越来越广泛的市场和应用前景。为了保证标准文本在各个领域的方便应用,就应该首先在对文本进行正则化处理,以便为后续比如语音合成,人工智能等方面的应用打下基础。在真实的标准文本中,含有大量的非标准词(None-StandardWords),比如阿拉伯数字,英文字符,各种符号等等,这些非标准词的读音不能通过正常的拼音规则得到,需要通过特定的方法把这些特殊字符转换成对应的汉字,进而得到其正确的读音。并且这些非标准词往往是用户关注的焦点,比如日期、电话号码、机构名称等等。因此文本正则化的好坏将直接影响文本乃至语音的处理质量。
现有技术中,往往采用对非标准字符用最大熵模型进行分类,或者用神经网络的方法作序列标注和分类,这些方法需要提前准备大量训练语料进行标注训练,效率都不太高。
发明内容
为解决上述技术问题,本发明提供一种基于有限状态机的文本正则化方法,包括:
获取目标非标准文本;
将所述目标非标准文本输入到预先构建的有限状态机中;
所述有限状态机分析所述目标非标准文本,生成目标非标准发音文本。
优选地,所述获取目标非标准文本前包括:
获取目标文本序列;
对所述目标文本序列进行词性标注,产生目标文本词性集;
对所述目标文本序列进行实体识别,产生目标文本实体集;
依次读取所述目标文本序列的字符;
当所述字符是非标准字符时,将所述字符添加到文本暂存区并继续读取所述字符;
当所述字符是标准字符时,将所述文本暂存区内的文本作为所述目标非标准文本导入有限状态机,并清空所述文本暂存区,继续读取所述字符;
所述有限状态机分析所述目标非标准文本,生成目标发音文本后还包括:根据所述目标文本词性集和所述目标文本实体集,生成目标标准发音文本;
合并所述目标非标准发音文本和所述目标标准发音文本,生成目标发音文本。
优选地,所述获取目标文本序列包括:
读取目标文本;
对所述目标文本进行文本分词,产生目标文本序列。
优选地,所述获取目标文本序列前包括:
根据预先设定的单词词性、实体和输入集构建有限状态机。
优选地,所述有限状态机分析所述目标非标准文本生成目标发音文本包括:
将所述字符输入所述有限状态机;
判断所述目标非标准文本中是否还存在下一个字符,若是,读取所述下一个字符,否则,输出所述字符的词性状态,并根据所述词性输出目标文本实体;
判断所述下一个字符是否会导致所述字符的状态转换,若是,根据所述转移函数转换所述字符的词性状态;
继续判断所述目标非标准文本内是否还存在下一个字符。
本发明还提供一种基于有限状态机的文本正则化系统,包括:
非标准文本获取模块,用于获取获取目标非标准文本;
有限状态机模块,用于将所述目标非标准文本输入到预先构建的有限状态机中,并分析所述目标非标准文本,生成目标非标准发音文本。
优选地,还包括:
目标文本序列获取模块,用于获取目标文本序列;
词性标注模块,用于对所述目标文本序列进行词性标注,产生目标文本词性集;
实体识别模块,用于对所述目标文本序列进行实体识别,产生目标文本实体集;
非标准文本获取模块包括:
文本暂存子模块,用于设置文本暂存区;
文本判断子模块,用于当所述字符是非标准字符时,将所述字符添加到文本暂存区并继续读取所述字符;
当所述字符是标准字符时,将所述文本暂存区内的文本作为所述目标非标准文本导入有限状态机,并清空所述文本暂存区,继续读取所述字符;
优选地,所述目标文本序列获取模块包括:
文本分词子模块,用于对所述目标文本进行文本分词,产生目标文本序列。
优选地,还包括有限状态机构建模块,用于根据预先设定的单词词性、实体和输入集构建有限状态机。
优选地,有限状态机模块包括:
文本读取子模块,用于将所述字符输入所述有限状态机,判断所述目标非标准文本中是否还存在下一个字符,若是,读取所述下一个字符,否则,输出所述字符的词性状态,并根据所述词性输出目标文本实体;
状态机子模块,用于判断所述下一个字符是否会导致所述字符的状态转换,若是,根据所述转移函数转换所述字符的词性状态。
本发明至少包括以下一项技术效果:
(1)从词、词性和实体角度运用有限状态机实现文本正则化工作,通过补充和完善有限状态机的状态和转移函数,可有效解决文本正则化问题,准确度较高。
(2)由于从词、词性和实体角度运用有限状态机,属于通过人工构建规则,因此不需要准备大量语料作标注训练,实现和运行效率高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1的流程示意图;
图2为本发明实施例3的流程示意图;
图3为本发明实施例4的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘出了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
实施例1:
如图1所示,本实施例提供一种基于有限状态机的文本正则化方法,包括:
S8:获取目标非标准文本;
S9:将所述目标非标准文本输入到预先构建的有限状态机中;
S10:所述有限状态机分析所述目标非标准文本,生成目标非标准发音文本。
本实施例应用于对于文本中非标准文本的处理,譬如现在有一句话“2-8℃”,由4个字符组成,“2”、“-”、“8”、“℃”,其中字符“2”、“8”、“℃”,三个字符其意义相对而言比较好判断,其含义基本上是唯一的,但是“-”字符的含义却是模糊的,其既可能是减号,也就是动词,也就是“二减八”,也有可能是表示某某之间,也就是说,“-”字符实际上是形容词字符,其实际的的意义也就是“二到八”。通过预先构建的有限状态机,可以简单快速的实现对于文本中非标准文本的处理,进而快速实现文本的正则化。
同时,标准文本可以是中文,也可以是英文等其他的文本,可根据实际的需求调整标准文本的定义,以实现相应的技术效果。
实施例2:
本实施例提供一种基于有限状态机的文本正则化方法,包括:
S8:获取目标非标准文本;
S9:将所述目标非标准文本输入到预先构建的有限状态机中;
S10-1:将所述字符输入所述有限状态机;
S10-2:判断所述目标非标准文本中是否还存在下一个字符,若是,进入S10-3,否则进入S10-4;
S10-3:读取所述下一个字符;
S10-4:输出所述字符的词性状态,并根据所述词性输出目标文本实体;
S10-5:判断所述下一个字符是否会导致所述字符的状态转换,若是,进入S10-6;
S10-6:根据所述转移函数转换所述字符的词性状态,并回到S10-2。
在本实施例中,有限状态机具有多个不同的的逻辑判断分支,每个逻辑分支中,根据单词、单词词性、单词实体去转移函数中查找出下一状态,更新当前状态。判断当前状态是否是终结状态以继续接收输入或者结束流程,假设现在有一句话“2-8℃”,将该句话输入到有限状态机中,有限状态机对该文本中的字符依次进行分析判断,首先读取“2”,假设该有限状态机在接收到“2”的输入后,根据状态转换函数转换为初始状态“数词”,然后再读取“-”,根据其词性特征,从状态转换函数中查找在状态为“数词”的情况下,是否存在使“数词”状态转换为其他状态的函数,若存在,所述转移函数转换所述字符的状态,由于“-”词性特征并不导致“数词”的状态转换,故“2”依旧被判定为“数词”,同理,在后续的步骤中,也不存在着使“2”的状态从“数词”转换为其他词性的词的转换映射,故依旧认为其是“数词”。
当对“-”进行判断时,有限状态机在接收到该输入后,首先将其判断为“动词”,然后再读取“8”,由于不存在某个状态转换函数,使得“动词”“-”的状态在接收到输入“8”,词性为数词的情况下,发生状态的转换,所以“-”的状态还是“动词”。
当对“8”进行判断时,首先将其判断为“数词”,然后再读取“℃”,其词性为“量词”,由于不存在某个状态转换函数使得“数词”,“8”,的状态,在接收到输入量词“℃”的情况下,产生状态上的转换,故状态不变,最后将每个词都根据其词性作出相应的名词翻译,进而完成整个的过程。
实施例3:
如图2所示,本实施例提供一种基于有限状态机的文本正则化方法,包括:
S0:根据预先设定的单词词性、实体和输入集构建有限状态机;由于在本文本正则化所要涉及的内容中,其所涉及的需要进行处理的内容相对较少,故在实际的使用过程中,可以直接采用构建有限状态机进行枚举。
S1-1:读取目标文本;
S1-2:对所述目标文本进行文本分词,产生目标文本序列;
S2:对所述目标文本序列进行词性标注,产生目标文本词性集;
S3:对所述目标文本序列进行实体识别,产生目标文本实体集;
S4:若所述目标文本序列还有未读取的字符,读取所述目标文本序列的字符并进入到S5;
S5:判断所述字符是否为标准字符,若是,进入S7,否则进入S6;
S6:将所述字符添加到文本暂存区并回到S4;
S7:判断所述文本暂存区是否为空,若是,进入S8;;
S8:将所述文本暂存区内的文本作为所述目标非标准文本导入有限状态机,并清空所述文本暂存区;
S9:获取目标非标准文本并将所述目标非标准文本输入到预先构建的有限状态机中;
S10-1:将所述字符输入所述有限状态机;
S10-2:判断所述目标非标准文本中是否还存在下一个字符,若是,进入S10-3,否则进入S10-4;
S10-3:读取所述下一个字符;
S10-4:输出所述字符的词性状态,并根据所述词性输出目标非标准发音文本并进入到S11;
S10-5:判断所述下一个字符是否会导致所述字符的状态转换,若是,进入S10-6;
S10-6:根据所述转移函数转换所述字符的词性状态,并回到S10-2;
S11:根据所述目标文本词性集和所述目标文本实体集,生成目标标准发音文本;
S12:合并所述目标非标准发音文本和所述目标标准发音文本,生成目标发音文本。
本实施例中,首先通过预先设定的状态集、输入集、转移函数、终结状态集、初始状态构建有限状态机,然后读取目标的文本,假设现在有一个句子“明天上海的气温是2-8℃”,首先先对目标文本序列进行词性的标注,明确其词性,比如说“明天”是名词,“的”是介词,“气温”是名词,“是”是介词,然后对其目标文本序列进行实体上的识别,比如说“明天”是“时间”,“上海”是地点等。
然后依次将“明天上海的气温是2-8℃”中的字进行读取,并将其中的连续的非标准字符添加到文本暂存区中,一旦读取到标准字符,便将处于文本暂存区中的字符导入到有限状态机中,由有限状态机进行处理;
具体上,有限状态机对该文本中的字符依次进行分析判断,首先读取“2”,假设该有限状态机在接收到“2”的输入后,根据状态转换函数转换为“数词”,完后再读取“-”,然后判断在有限状态机的输入集中是否存在着一个状态,在输入为“2”的情况下,存在使“2”的状态判断从“数词”转换为别的状态的转换函数,若存在,所述转移函数转换所述字符的词性状态,由于“-”并不导致“数词”的状态转换,故“2”依旧被判定为“数词”,同理,在后续的步骤中,也不存在着使“2”的状态从“数词”转换为别的词性的词的转换函数,故依旧认为其是“数词”而不是别的什么词。
当对“-”进行判断时,有限状态机在接收到该输入后,首先将其判断为“动词”,然后向有限状态机中输入“8”,由于不存在转换函数f,使得“动词”“-”在接收到输入“8”的情况下,发生状态的转换,所以“-”的状态还是“动词”,然后再向有限状态机中输入“℃”,由于存在转换函数f使得“动词”“-”,在接收到输入“℃”的情况下,产生状态上的转换,故“动词”“-”的状态转换为“形容词”“-”,依次类推,最后对每一个词的词性都作出了相应的判断。“2”、“8”为“数词”,“℃”为“量词”,“-”为“形容词”,最后将每个词都根据其其词性作出相应的名词翻译。
最后将产生的目标非标准发音文本和所述目标标准发音文本合并输出,进而完成整个的过程。
实施例4:
如图3所示,本实施例提供一种基于有限状态机的文本正则化系统,包括:非标准文本获取模块,用于获取获取目标非标准文本;有限状态机模块,用于将所述目标非标准文本输入到预先构建的有限状态机中,并分析所述目标非标准文本,生成目标非标准发音文本。
本实施例中,有限状态机具有多个不同的的逻辑判断分支,每个逻辑分支中,根据单词、单词词性、单词实体去转移函数中查找出下一状态,更新当前状态。判断当前状态是否是终结状态以继续接收输入或者结束流程,应用于对于文本中非标准文本的处理,譬如现在有一句话“2-8℃”,由4个字符组成,“2”、“-”、“8”、“℃”,其中字符“2”、“8”、“℃”,三个字符其意义相对而言比较好判断,其含义基本上是唯一的,但是“-”字符的含义却是模糊的,其既可能是减号,也就是动词,也就是“二减八”,也有可能是表示某某之间,也就是说,“-”字符实际上是形容词字符,其实际的的意义也就是“二到八”。通过预先构建的有限状态机,可以简单快速的实现对于文本中非标准文本的处理,进而快速实现文本的正则化。
实施例5:
本实施例基于实施例4,有限状态机模块包括:
文本读取子模块,用于将所述字符输入所述有限状态机,判断所述目标非标准文本中是否还存在下一个字符,若是,读取所述下一个字符,否则,输出所述字符的词性状态,并根据所述词性输出目标文本实体;
状态机子模块,用于判断所述下一个字符是否会导致所述字符的状态转换,若是,根据所述转移函数转换所述字符的词性状态。
在本实施例中,假设现在有一句话“2-8℃”,将该句话输入到有限状态机中,有限状态机对该文本中的字符依次进行分析判断,首先读取“2”,假设该有限状态机在接收到“2”的输入后,根据状态转换函数转换为“数词”,完后再读取“-”,然后判断在有限状态机的输入集中是否存在着一个状态,在输入为“2”的情况下,存在使“2”的状态判断从“数词”转换为别的状态的转换函数,若存在,所述转移函数转换所述字符的词性状态,由于“-”并不导致“数词”的状态转换,故“2”依旧被判定为“数词”,同理,在后续的步骤中,也不存在着使“2”的状态从“数词”转换为别的词性的词的转换函数,故依旧认为其是“数词”而不是别的什么词。
当对“-”进行判断时,有限状态机在接收到该输入后,首先将其判断为“动词”,然后向有限状态机中输入“8”,由于不存在转换函数f,使得“动词”“-”在接收到输入“8”的情况下,发生状态的转换,所以“-”的状态还是“动词”,然后再向有限状态机中输入“℃”,由于存在转换函数f使得“动词”“-”,在接收到输入“℃”的情况下,产生状态上的转换,故“动词”“-”的状态转换为“形容词”“-”,依次类推,最后对每一个词的词性都作出了相应的判断。“2”、“8”为“数词”,“℃”为“量词”,“-”为“形容词”,最后将每个词都根据其其词性作出相应的名词翻译,进而完成整个的过程。
实施例6:
本实施例基于实施例5,还包括:目标文本序列获取模块,用于获取目标文本序列;词性标注模块,用于对所述目标文本序列进行词性标注,产生目标文本词性集;实体识别模块,用于对所述目标文本序列进行实体识别,产生目标文本实体集;非标准文本获取模块包括:文本暂存子模块,用于设置文本暂存区;文本判断子模块,用于当所述字符是非标准字符时,将所述字符添加到文本暂存区并继续读取所述字符;当所述字符是标准字符时,将所述文本暂存区内的文本作为所述目标非标准文本导入有限状态机,并清空所述文本暂存区,继续读取所述字符;所述目标文本序列获取模块包括:文本分词子模块,用于对所述目标文本进行文本分词,产生目标文本序列。还包括有限状态机构建模块,用于根据预先设定的单词词性、实体和输入集构建有限状态机。由于在本文本正则化所要涉及的内容中,其所涉及的需要进行处理的内容相对较少,故在实际的使用过程中,可以直接采用构建有限状态机进行枚举。
本实施例中,首先通过预先设定的状态集、输入集、转移函数、终结状态集、初始状态构建有限状态机,然后读取目标的文本,假设现在有一个句子“明天上海的气温是2-8℃”,首先先对目标文本序列进行词性的标注,明确其词性,比如说“明天”是名词,“的”是介词,“气温”是名词,“是”是介词,然后对其目标文本序列进行实体上的识别,比如说“明天”是“时间”,“上海”是地点等。
然后依次将“明天上海的气温是2-8℃”中的字进行读取,并将其中的连续的非标准字符添加到文本暂存区中,一旦读取到标准字符,便将处于文本暂存区中的字符导入到有限状态机中,由有限状态机进行处理;
具体上,有限状态机对该文本中的字符依次进行分析判断,首先读取“2”,假设该有限状态机在接收到“2”的输入后,根据状态转换函数转换为“数词”,完后再读取“-”,然后判断在有限状态机的输入集中是否存在着一个状态,在输入为“2”的情况下,存在使“2”的状态判断从“数词”转换为别的状态的转换函数,若存在,所述转移函数转换所述字符的词性状态,由于“-”并不导致“数词”的状态转换,故“2”依旧被判定为“数词”,同理,在后续的步骤中,也不存在着使“2”的状态从“数词”转换为别的词性的词的转换函数,故依旧认为其是“数词”而不是别的什么词。
当对“-”进行判断时,有限状态机在接收到该输入后,首先将其判断为“动词”,然后向有限状态机中输入“8”,由于不存在转换函数f,使得“动词”“-”在接收到输入“8”的情况下,发生状态的转换,所以“-”的状态还是“动词”,然后再向有限状态机中输入“℃”,由于存在转换函数f使得“动词”“-”,在接收到输入“℃”的情况下,产生状态上的转换,故“动词”“-”的状态转换为“形容词”“-”,依次类推,最后对每一个词的词性都作出了相应的判断。“2”、“8”为“数词”,“℃”为“量词”,“-”为“形容词”,最后将每个词都根据其其词性作出相应的名词翻译。
最后将产生的目标非标准发音文本和所述目标标准发音文本合并输出,进而完成整个的过程。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
- 一种基于有限状态机的文本正则化方法及系统
- 基于WFST的文本正则化方法及系统