CN117910467A - 一种离线语音识别过程中的分词处理方法 - Google Patents
一种离线语音识别过程中的分词处理方法 Download PDFInfo
- Publication number
- CN117910467A CN117910467A CN202410295039.4A CN202410295039A CN117910467A CN 117910467 A CN117910467 A CN 117910467A CN 202410295039 A CN202410295039 A CN 202410295039A CN 117910467 A CN117910467 A CN 117910467A
- Authority
- CN
- China
- Prior art keywords
- word
- combined
- tail
- words
- segmentation
- 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
- 230000011218 segmentation Effects 0.000 title claims abstract description 151
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 230000001376 precipitating effect Effects 0.000 claims abstract description 6
- 239000011159 matrix material Substances 0.000 claims description 73
- 239000013598 vector Substances 0.000 claims description 47
- 238000001556 precipitation Methods 0.000 claims description 20
- 238000007906 compression Methods 0.000 claims description 16
- 230000006835 compression Effects 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 14
- 230000011731 head segmentation Effects 0.000 claims description 10
- 241000008225 Pogonichthys macrolepidotus Species 0.000 claims description 7
- 230000001174 ascending effect Effects 0.000 claims description 3
- 238000010790 dilution Methods 0.000 claims description 3
- 239000012895 dilution Substances 0.000 claims description 3
- 230000006870 function Effects 0.000 description 4
- 238000004378 air conditioning Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000000247 postprecipitation Methods 0.000 description 2
- 235000009754 Vitis X bourquina Nutrition 0.000 description 1
- 235000012333 Vitis X labruscana Nutrition 0.000 description 1
- 240000006365 Vitis vinifera Species 0.000 description 1
- 235000014787 Vitis vinifera Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Abstract
一种离线语音识别过程中的分词处理方法,属于语音识别技术领域,包括如下步骤:步骤1.对命令词库中的全部命令词进行第一次拆分;步骤2.对第一组合词集合进行萃取沉淀压缩;步骤3.对步骤2得到的尾部分词中的全部可拆分分词作为第二组合词集合,将第二组合词集合中的可拆分分词进行拆分,得到第二级头部分词和第二级尾部分词;步骤4.将步骤2中得到的全部压缩子集中的组合词的全部头部分词标记为一级节点,尾部分词中的不可拆分分词标记为末端节点;可拆分分词进入下一次拆分。本发明对复杂分词可一次性更大程度的合并分词节点,降低语音识别运算和存储资源。
Description
技术领域
本发明属于语音识别技术领域,具体涉及一种离线语音识别过程中的分词处理方法。
背景技术
自然语言处理是语音识别重要的步骤,为了将文本转化为结构化数据,需要进行分词。分词后,文本被分解为以词为单位的数据结构,方便后续的处理。例如:在一个项目中,包含如下打开空调、关闭空调、打开电视、关闭电视的命令词。首先,对命令词文本进行分词,如表1所示:
表1文本分词表
命令词文本 | 分词 | 分词数 |
打开空调 | 打开,空调 | 2 |
关闭儿童房空调 | 关闭,儿童房,空调 | 3 |
为了方便后面的说明,将“打开空调”分词后的“打开”称作第一级分词、“空调”称作第二级分词;在如“关闭儿童房空调”分词后的“关闭”称作第一级分词、“儿童房”称作第二级分词、“空调”称作第三级分词,以此类推。
然后,可将分词整理成如表2的数据结构:
表2分词数据结构表
节点1 | 节点2 | 分词 |
1 | 2 | 打开 |
2 | 1000 | 空调 |
1 | 3 | 关闭 |
3 | 4 | 儿童房 |
4 | 1000 | 电视 |
通过上面的数据结构,将命令词及分词映射到节点上(以不同的数字表示)。其中,数据结构的规则为:命令词的开始为1,命令词的结束为1000,除1和1000以外的正整数为中间节点,通常,中间节点从2开始逐渐递增。根据上面的规则,后续在处理命令词“打开空调”时,即可处理1→2→2→1000的数字序列;类似的,“关闭空调”对应的数字序列为1→3→3→1000,其他命令词的数字序列以此类推。
通常,我们用最大中间节点max_node减去1来表示分词节点大小node_num,通过表1和表2,不难得到:对于n个命令词,各命令词的分词节点之和为m,则分词节点大小node_num = m - n。如表2所示,最大中间节点max_node为4,则node_num数为3;根据表1可知,有两命令词,则n=2,所有分词的总和m=2+3,分词节点大小node_num = m - n=2+3-2=3。
在离线语音识别领域,因受到端侧运算及存储资源的影响,需要对分词的结构进行压缩,用最小的节点承载最大的信息,进行分词合并。为实现分词合并功能,根据分词在命令词中的结构及功能对节点进行合并,如,“打开”和“关闭”表示动作,“空调”和“电视”表示对象,故,动作词可以共用一个节点,对象词可以共用一个节点,合并后的结果如表3所示:
表3合并表
节点1 | 节点2 | 分词 |
1 | 2 | 打开 |
1 | 2 | 关闭 |
2 | 1000 | 空调 |
2 | 1000 | 电视 |
由表2和表3得知,合并后的分词节点相对于分词合并前减少。
对于上述分词后仅有2级或3级分词的命令词而言,合并节点相对容易,即对比命令词的第一级或第二级,相同部分共有一个节点即可。但在实际项目的开发中,命令词的长短不一,不同长度的命令词组合也不相同,且相同分词在不同命令词中所处的结构和功能也可能是不一样的,各命令词分词后的数量也是不确定的,如表4所示:
表4命令词分词表
命令词文本 | 分词 |
打开显示屏 | 打开,显示屏 |
打开显示灯 | 打开,显示灯 |
打开上下摇头九十度 | 打开,上下,摇头,九十度 |
打开上下摇头五十度 | 打开,上下,摇头,五十度 |
打开上下扭转五十度 | 打开,上下,扭转,五十度 |
针对此类复杂的分词合并,使用表3所示的对比第一级分词是否相同的方法,可以将全部第一级分词完全一样的节点进行合并,但当分词的数量大于2或甚至更多时候,就很难做到第二级分词、第三级分词以及后面更多层级分词的合并,现有技术采用人工识别并对各个分词进行节点合并。
发明内容
针对上述现有技术存在的缺陷,本发明公开了一种离线语音识别过程中的分词处理方法。
本发明所述离线语音识别过程中的分词处理方法,其特征在于,包括如下步骤:
步骤1.对命令词库中的全部命令词进行第一次拆分,按照发音顺序得到两级分词,包括头部分词和尾部分词,得到第一组合词集合; 对头部分词的拆分方式为:令头部分词为不可拆分分词;
所述不可拆分分词,是指该分词为单字,或两个以上的字只有组合在一起才在所述命令词库中使用,任意一个单字均未在命令词库单独使用;
不符合上述不可拆分分词定义的均为可拆分分词;
步骤2.对第一组合词集合进行萃取沉淀压缩;
所述萃取沉淀压缩具体为:
步骤201.从所述第一组合词集合中任意选取一个词,将其拆分为两部分,头部分词为H1,尾部分词为T1,然后从所述第一组合词集合中找到以H1为头部分词的其他组合词,并记录这些以H1为头部分词的组合词的全部尾部分词T2…Ty,下标y表示以H1为头部分词的组合词总数,然后再找到所有包含尾部分词T2…Ty的组合词,并记录这些包含尾部分词T2…Ty的头部分词H2…Hx,x表示包含尾部分词T2…Ty的组合词总数;最后得到一组该组合词集合的向量组,包括头部向量Heads和尾部向量Tails;
Heads = [H1,H2,H3,…,Hx];
Tails= [T1,T2,T3,…, Ty];
步骤202.进行稀释,
具体为:设置x行y列的全零矩阵,利用头部向量Heads和尾部向量Tails进行改写,改写方式为:
选择头部向量和尾部向量中的任意一个向量元素进行两两组合,组合得到的词语在所述第一组合词集合中有对应存在的组合词,则将这一组合在全零矩阵中对应的位置设置为1;不存在则保持0;
遍历头部向量和尾部向量中全部元素的两两组合方式,完成对全零矩阵的改写,得到所述第一组合词集合中该向量组的向量组抽象矩阵;
步骤203.对向量组抽象矩阵进行萃取沉淀,具体为:
对矩阵的各列分别进行该列的行元素求和,然后每列按和的降序进行从左到右的重新排列;
然后再对矩阵的各行分别进行列元素求和,然后每行按和的升序进行从上到下的重新排列;得到沉淀后矩阵;
步骤204.提取沉淀后矩阵中含有的最大连续非零矩阵;具体为:
找出沉淀后矩阵中的所有初始非零矩阵,所述初始非零矩阵是沉淀后矩阵中所有元素均为1的子矩阵,选择面积最大的初始非零矩阵作为最大连续非零矩阵;如果出现两个相同的最大连续非零矩阵,则选择任意一个即可;
步骤205.将最大连续非零矩阵中各个矩阵元素在组合词集合中对应的组合词标记为萃取沉淀压缩后的一个压缩子集J1;从所述第一组合词集合中剔除压缩子集J1对应的组合词;
步骤206.在剩余的组合词中重复步骤201至205,直到组合词集合中的全部组合词都属于某个压缩子集;
得到多个压缩子集J1、J2...JN1;N1表示该组合词集合的压缩子集总数,
对多个压缩子集的组合词对应组合的头部分词和尾部分词进行分别归集,得到本次萃取沉淀压缩对应的头部分词集合和尾部分词集合;
步骤2中,如果第一组合词集合中各个组合词的尾部分词集合中全部为不可拆分分词,则步骤2完成后即可结束并进入步骤4;如果尾部分词集合中包括可拆分分词,则进入步骤3;
步骤3.对步骤2得到的尾部分词中的全部可拆分分词作为第二组合词集合,将第二组合词集合中的可拆分分词进行拆分,得到第二级头部分词和第二级尾部分词;
拆分规则为使得第二级头部分词为不可拆分分词;
进行所述萃取沉淀压缩;得到覆盖第二组合词集合全部组合词的压缩子集;
如果第二级尾部分词仍然含有部分可拆分分词,则继续重复本步骤的上述方法,将上一次拆分得到的尾部分词中的全部可拆分分词作为新的组合词集合,继续拆分并得到压缩子集;直到尾部分词全部为不可拆分分词;
步骤4.如果第一组合词集合中各个尾部分词全部为不可拆分分词,将步骤2中得到的全部压缩子集中的组合词按照分词组合方式进行节点标记,将全部头部分词标记为一级节点,将全部尾部分词标记为末端节点。
如果通过步骤3再进行步骤4,经过步骤1的第一次拆分后,将步骤2中得到的全部压缩子集中的组合词的全部头部分词标记为一级节点,尾部分词中的不可拆分分词标记为末端节点;
从第二次拆分开始,第M1次拆分得到的头部分词标记为第M1级节点;尾部分词中的不可拆分分词标记为末端节点;可拆分分词进入第M1+1次拆分。
优选的,所述步骤204中,对沉淀后矩阵中的所有初始非零矩阵中具备合并条件的两个初始非零矩阵进行合并,可合并的条件是两个初始非零矩阵具有序号完全相同的行或列,并选择合并后面积最大的合并方式,得到一个或多个合并后非零矩阵;
选择合并后非零矩阵与未能合并的剩余初始非零矩阵中面积最大的作为最大连续非零矩阵。
优选的,所述步骤4中,还包括节点合并,可合并的节点为在各次拆分过程中,头部分词不同,但调用的尾部分词完全一样的多个节点。
优选的,所述节点标记的具体方式为,对每个节点设置一个开始值和一个结束值,相同级别的不同头部节点的开始值相同,但结束值不同;不同末端节点的开始值不同,结束值相同。
优选的,位于同一命令词内的相邻排列的分词对应的节点中,上一节点的结束值和下一节点的开始值相等。
本发明所述一种离线语音识别过程中的分词处理方法,相对现有技术,对复杂分词可一次性更大程度的合并分词节点,降低语音识别运算和存储资源。可实现在运算和存储资源相同的情况下,容纳更多的命令词或实现更多的其他功能。
附图说明
图1所示为本发明所述分词处理方法的一个具体实施流程示意图;
图2所示为本发明所述向量组抽象矩阵的一个具体实施方式示意图;
图3所示为对图1中向量组抽象矩阵提炼得到最大非零矩阵的一个具体实施方式示意图;
图4所示为本发明一个具体实施例中进行多次拆分的结果示意图。
具体实施方式
为更加直观清楚地描述本发明技术方案具体细节,下面将结合具体实施例和示例附图进行详细说明。
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施方式及相应的附图对本发明技术方案进行清楚、完整地阐述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为对分词实现最大的节点合并,尽可能以少的中间节点数量承载较大的命令词信息,本发明公开了一种离线语音识别过程中的分词处理方法,如图1所示,包括以下步骤:
步骤1.对命令词库中的全部命令词进行第一次分拆,按照发音顺序得到两级分词,对命令词头部的头部分词用H表示,尾部分词用T表示,并在H和T后面增加数字表示不同的分词;通过步骤1得到了全部命令词的分词组合形式;
对头部分词的拆分方式为:令头部分词为不可拆分分词;
所述不可拆分分词,是指该分词为1个字,或两个以上的字只有组合在一起才在所述命令词库中使用,任意一个单字均未在命令词库单独使用,例如打开、葡萄、摄氏等分词;
并定义不符合上述不可拆分分词定义的均为可拆分分词;
以命令词“打开儿童房空调”为例进行说明,首先进行分词,得到“打开”、“儿童房”、“空调”三级分词,然后把“打开”作为头部分词、“儿童房”、“空调”视为一个整体,作为尾部分词,头部分词用H1表示,H字母表示头部,数字1表示不同的分词,同理,尾部分词用T1表示;对于其他命令词如“关闭客厅电视”,可用H2表示头部分词“关闭”,T2表示尾部分词“客厅电视”。
步骤2.在命令词库中的所有命令词已完成了第一次分拆后,得到包含全部头部分词和尾部分词的第一组合词集合,为获取最大压缩命令词组合,对第一组合词集合进行萃取沉淀压缩;
本步骤中,第一组合词集合就是命令词库进行第一次分拆后得到的结果。
所述萃取沉淀压缩具体为:
步骤201.
从所述第一组合词集合中任意选取一个词V1,将其拆分为两部分,头部分词为H1,尾部分词为T1,然后从所述第一组合词集合中找到以H1为头部分词的其他组合词,并记录这些以H1为头部分词的组合词的全部尾部分词T2…Ty,下标y表示以H1为头部分词的组合词总数,然后再找到所有包含尾部分词T2…Ty的组合词,并记录这些包含尾部分词T2…Ty的头部分词H2…Hx,x表示包含尾部分词T2…Ty的组合词总数;最后得到一组该组合词集合的向量组,包括头部向量Heads和尾部向量Tails;
Heads = [H1,H2,H3,…,Hx];
Tails= [T1,T2,T3,…, Ty];
步骤202.进行稀释,
具体为:设置x行y列的全零矩阵,利用头部向量Heads和尾部向量Tails进行改写,改写方式为:
选择头部向量和尾部向量中的任意一个向量元素进行两两组合,组合得到的词语在所述第一组合词集合中有对应存在的组合词,则将这一组合在全零矩阵中对应的位置置为1;不存在则保持0;
遍历头部向量和尾部向量中全部元素的两两组合方式,完成对全零矩阵的改写,得到所述第一组合词集合中该向量组的向量组抽象矩阵。
例如,选择头部向量Heads = [H1,H2,H3,…,Hx]中的第m个头部分词Hm为“显示器”,选择尾部向量[T1,T2,T3,…, Ty]的第n个尾部分词Tn为“关闭”,二者的组合为“显示器关闭”,在组合词集合中有完全相同的组合词集合“显示器关闭”,则对全零矩阵第m行第n列的元素从零改为1,如果没有完全相同的命令词,则保持为0。
图2所示是一个具体实施方式中,得到一个28行23列的向量组抽象矩阵,元素为1表示对应位置的分词组合在所述第一组合词集合有命令词,为0则没有。
步骤203.对向量组抽象矩阵进行萃取沉淀,具体为:
对矩阵的各列分别进行该列的行元素求和,然后每列按和的降序进行从左到右的重新排列;
然后再对矩阵的各行分别进行列元素求和,然后每行按和的升序进行从上到下的重新排列;
得到沉淀后矩阵,萃取沉淀后的非零元素,大部分会沉淀在沉淀后矩阵的左下角;
步骤204.提取沉淀后矩阵中含有的最大连续非零矩阵;
通过提取出来的最大连续非零矩阵映射到命令词库,结合后续步骤,可以实现用最小的节点来表示最多的命令词。
具体为:
找出沉淀后矩阵中的所有初始非零矩阵,所述初始非零矩阵是沉淀后矩阵中所有元素均为1的子矩阵,例如图3所示的具体实施方式框内的A1、A2、A3、A4四个子矩阵元素全部为1。选择面积最大的初始非零矩阵作为最大连续非零矩阵;
为增大压缩率,可以对两个初始非零矩阵合并,可合并的条件是两个初始非零矩阵具有序号完全相同的行或列,并选择合并后面积最大的合并方式,得到一个或多个合并后非零矩阵;
例如图3所示的具体实施方式中,初始非零矩阵A2与初始非零矩阵A1具有完全相同的行,而与初始非零矩阵A3具有完全相同的列,则A2可以与A1合并,也可以与A3合并,显然A2与A3合并后得到的矩阵更大,因此选择A2与A3合并,合并后将两个四行三列的矩阵变成1个八行三列的合并后非零矩阵。
选择合并后非零矩阵与未能合并的剩余初始非零矩阵中面积最大的作为最大连续非零矩阵。例如图3中,即使将A2与A3合并,面积也不如未发生合并的初始非零矩阵A4,则A4为最大连续非零矩阵。
如果出现两个相同的最大连续非零矩阵,则选择任意一个即可,优选未合并的初始非零矩阵;
步骤205.将最大连续非零矩阵中各个矩阵元素在组合词集合中对应的组合词标记为萃取沉淀压缩后的一个压缩子集J1;从所述第一组合词集合中剔除压缩子集J1对应的组合词;
步骤206.在剩余的组合词中重复步骤201至205,直到组合词集合中的全部组合词都属于某个压缩子集;
得到多个压缩子集J1、J2...JN1;N1表示该组合词集合的压缩子集总数,
对多个压缩子集的组合词对应组合的头部分词和尾部分词进行分别归集,得到本次萃取沉淀压缩对应的头部分词集合和尾部分词集合。
步骤2中,如果第一组合词集合中各个组合词的尾部分词集合中全部为不可拆分分词,则步骤2完成后即可结束并进入步骤4;
如果尾部分词集合中包括可拆分分词,则进入步骤3;
步骤3.对步骤2得到的尾部分词中的全部可拆分分词作为第二组合词集合,将第二组合词集合中的可拆分分词进行拆分,得到第二级头部分词和第二级尾部分词;
拆分规则为使得第二级头部分词为不可拆分分词;
进行所述萃取沉淀压缩;得到覆盖第二组合词集合全部组合词的压缩子集;
如果第二级尾部分词仍然含有部分可拆分分词,则继续重复本步骤的上述方法,将上一次拆分得到的尾部分词中的全部可拆分分词作为新的组合词集合,继续拆分并得到压缩子集;直到尾部分词全部为不可拆分分词;
通过步骤3的1次或多次拆分,根据每次拆分和萃取沉淀压缩后得到的压缩子集,在最后一次拆分之前的每一次拆分,均会得到不可拆分的头部分词、不可拆分的尾部分词和可拆分的尾部分词;最后一次拆分则得到不可拆分的头部分词和不可拆分的尾部分词。
步骤4.设置多级分叉树,每个分叉树包括多个一级节点、至少一个一级节点连接一个以上的二级节点,至少一个二级节点连接一个以上的三级节点,以此类推;
如果第一组合词集合中各个尾部分词全部为不可拆分分词,将步骤2中得到的全部压缩子集中的组合词按照分词组合方式进行节点标记,将全部头部分词H标记为一级节点,将全部尾部分词标记为末端节点。
否则则会进入步骤3再进行步骤4,经过步骤1的第一次拆分后,将步骤2中得到的全部压缩子集中的组合词的全部头部分词标记为一级节点,不可拆分的尾部分词标记为末端节点;
步骤3从第二次拆分开始,第M1次拆分得到的头部分词标记为第M1级节点;不可拆分的尾部分词标记为末端节点;
可拆分的尾部分词进入第M1+1次拆分;
即每次拆分中, 各次拆分的头部分词作为该次拆分对应的节点, 不可拆分的尾部分词标记为末端节点, 可拆分的尾部分词进入下一次拆分;
如图4给出多次拆分的一个具体实施方式,图4中虚线表示不同的拆分过程,第一次拆分得到四个头部分词H1至H4和7个尾部分词,其中T12、T14、T17是不可拆分的尾部分词;
第一次拆分中,H1和H2两个头部分词共用一个节点,这种情况对应是两个头部分词不同,但调用的尾部分词可能完全一样的情况。
例如“打开”和“关闭”两个头部分词,在一个命令词库中可能调用完全相同的尾部分词。因此这两个头部分词的节点可以合并为1个节点。
对第一次拆分得到的可拆分尾部分词进行第二次拆分,得到T11、T13、T15、T16四个第二级头部分词以及七个第二级尾部分词,其中T22、T24是不可拆分的尾部分词;
第三次拆分得到T21、T23、T25、T26、T27五个三级头部分词以及七个第三级尾部分词T31至T37,且T31至T37均为不可拆分的尾部分词,则拆分结束。第三次拆分中,T25和T26两个头部分词共用一个节点,这种情况对应是两个中间拆分过程中出现的头部分词不同,但调用的尾部分词可能完全一样的情况。
例如分词“儿童房”和“主卧室”,在命令词库中不属于第一拆分过程中出现的头部分词,而是在后续拆分过程中出现的头部分词,其对应连接的其他分词完全相同,则可以将这两个分词的节点合并为1个节点。
将H1至H4标记为第一级节点,T12、T14、T17、T22、T24、T31至T37标记为末端节点,其余头部分词作为该次拆分对应的该级别头部节点;
例如对于命令词组合:打开电视、关闭儿童房空调、打开儿童房电视;
步骤2拆分后得到的头部分词分别为“打开”和“关闭”、尾部分词分别为“电视”、“儿童房空调”和“儿童房电视”,其中“电视”不可拆分,“儿童房空调”和“儿童房电视”为可拆分分词;
则“打开”和“关闭”标记为一级节点,“电视”标记为末端节点,
由于存在可拆分分词,需要进行第二次拆分,第二次拆分将“儿童房空调”和“儿童房电视”继续拆分,得到“儿童房”作为第二次拆分的头部分词,“空调”和“电视”作为第二次拆分的尾部分词,
“空调”和“电视”均为不可拆分分词,拆分结束,则将“儿童房”标记为二级节点,并将“空调”和“电视”标记为末端节点。
最后如图4所示得到一个多级分叉树,根据分叉树上各个分词对应的节点对分词进行节点标记。
图4中,H1至H4为第一级节点,T11、T13、T15、T16为第二级头部节点,T21、T23、T25、T26、T27为第三级头部节点,T12、T14、T17、T22、T24、T31至T37为末端节点。
节点标记的一个具体方式可以为,对每个节点设置一个开始值和一个结束值,相同级别的不同头部节点的开始值相同,但结束值不同。
不同末端节点的开始值不同,结束值相同。
一个优选的实施方式中,位于同一命令词内的多个头部节点和末端节点,相邻排列分词对应的节点中,上一节点的结束值和下一节点的开始值相等,便于使用计算机编程时按顺序调用。
例如“打开儿童房空调”,共划分为三个分词“打开”、“儿童房”、“空调”,节点标记分别为“1、2”、“2、3”、 “3、1000”。对于第一级节点的开始值,一般取最小正整数1,对于末端节点的结束值,一般取一个较大的正整数如1000。
以下给出一个具体实施例,例如对于一个命令词库,有五条命令词,分别为“打开儿童房空调”、“关闭儿童房空调”、“打开主卧电视”、“关闭主卧电视”、“打开空调”;
进行分词后的分词结果如表5;
表5分词结果表
命令词文本 | 分词 | 分词数 |
打开儿童房空调 | 打开,儿童房,空调 | 3 |
关闭儿童房空调 | 关闭,儿童房,空调 | 3 |
打开主卧电视 | 打开,主卧,电视 | 3 |
关闭主卧电视 | 关闭,主卧,电视 | 3 |
打开空调 | 打开,空调 | 2 |
采用本发明所述分词处理方法处理后,得到的节点标记结果如表6:
表6节点标记结果表
分词 | 开始值 | 结束值 |
打开 | 1 | 2 |
关闭 | 1 | 2 |
儿童房 | 2 | 3 |
主卧 | 2 | 3 |
空调 | 3 | 1000 |
电视 | 3 | 1000 |
空调 | 2 | 1000 |
表6中,开始值和结束值均相同的节点合并为1个节点,即表6中除第一级节点的开始值1和末端节点结束值1000外,还使用了2个节点2和3,而根据表5,所有命令词的分词总数共有14个,且位于不同的顺序;可见本发明可以显著减少分词标记的节点总数,以上为简要说明,给出了一个简单的命令词库,对于涵盖绝大多数通行表达方式的一个中型或大型命令词库,一般具有数百至上千条命令词,分词总数接近一万个,采用本发明合并后,可以将节点总数压缩在数百个并准确对应每一命令词的组成方式。
前文所述的为本发明的各个优选实施例,各个优选实施例中的优选实施方式如果不是明显自相矛盾或以某一优选实施方式为前提,各个优选实施方式都可以任意叠加组合使用,所述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
Claims (5)
1.一种离线语音识别过程中的分词处理方法,其特征在于,包括如下步骤:
步骤1.对命令词库中的全部命令词进行第一次拆分,按照发音顺序得到两级分词,包括头部分词和尾部分词,得到第一组合词集合; 对头部分词的拆分方式为令头部分词为不可拆分分词;
所述不可拆分分词,是指该分词为单字,或两个以上的字只有组合在一起才在所述命令词库中使用,任意一个单字均未在命令词库单独使用;
不符合上述不可拆分分词定义的均为可拆分分词;
步骤2.对第一组合词集合进行萃取沉淀压缩;
所述萃取沉淀压缩具体为:
步骤201.从所述第一组合词集合中任意选取一个词,将其拆分为两部分,头部分词为H1,尾部分词为T1,然后从所述第一组合词集合中找到以H1为头部分词的其他组合词,并记录这些以H1为头部分词的组合词的全部尾部分词T2…Ty,下标y表示以H1为头部分词的组合词总数,然后再找到所有包含尾部分词T2…Ty的组合词,并记录这些包含尾部分词T2…Ty的头部分词H2…Hx,x表示包含尾部分词T2…Ty的组合词总数;最后得到一组该组合词集合的向量组,包括头部向量Heads和尾部向量Tails;
Heads = [H1,H2,H3,…,Hx];
Tails= [T1,T2,T3,…, Ty];
步骤202.进行稀释,
具体为:设置x行y列的全零矩阵,利用头部向量Heads和尾部向量Tails进行改写,改写方式为:
选择头部向量和尾部向量中的任意一个向量元素进行两两组合,组合得到的词语在所述第一组合词集合中有对应存在的组合词,则将这一组合在全零矩阵中对应的位置置为1;不存在则保持0;
遍历头部向量和尾部向量中全部元素的两两组合方式,完成对全零矩阵的改写,得到所述第一组合词集合中该向量组的向量组抽象矩阵;
步骤203.对向量组抽象矩阵进行萃取沉淀,具体为:
对矩阵的各列分别进行该列的行元素求和,然后每列按和的降序进行从左到右的重新排列;
然后再对矩阵的各行分别进行列元素求和,然后每行按和的升序进行从上到下的重新排列;得到沉淀后矩阵;
步骤204.提取沉淀后矩阵中含有的最大连续非零矩阵;具体为:
找出沉淀后矩阵中的所有初始非零矩阵,所述初始非零矩阵是沉淀后矩阵中所有元素均为1的子矩阵,选择面积最大的初始非零矩阵作为最大连续非零矩阵;如果出现两个相同的最大连续非零矩阵,则选择任意一个即可;
步骤205.将最大连续非零矩阵中各个矩阵元素在组合词集合中对应的组合词标记为萃取沉淀压缩后的一个压缩子集J1;从所述第一组合词集合中剔除压缩子集J1对应的组合词;
步骤206.在剩余的组合词中重复步骤201至205,直到组合词集合中的全部组合词都属于某个压缩子集;
得到多个压缩子集J1、J2...JN1;N1表示该组合词集合的压缩子集总数,
对多个压缩子集的组合词对应组合的头部分词和尾部分词进行分别归集,得到本次萃取沉淀压缩对应的头部分词集合和尾部分词集合;
步骤2中,如果第一组合词集合中各个组合词的尾部分词集合中全部为不可拆分分词,则步骤2完成后即可结束并进入步骤4;如果尾部分词集合中包括可拆分分词,则进入步骤3;
步骤3.对步骤2得到的尾部分词中的全部可拆分分词作为第二组合词集合,将第二组合词集合中的可拆分分词进行拆分,得到第二级头部分词和第二级尾部分词;
拆分规则为使得第二级头部分词为不可拆分分词;
进行所述萃取沉淀压缩;得到覆盖第二组合词集合全部组合词的压缩子集;
如果第二级尾部分词仍然含有部分可拆分分词,则继续重复本步骤的上述方法,将上一次拆分得到的尾部分词中的全部可拆分分词作为新的组合词集合,继续拆分并得到压缩子集;直到尾部分词全部为不可拆分分词;
步骤4.如果第一组合词集合中各个尾部分词全部为不可拆分分词,将步骤2中得到的全部压缩子集中的组合词按照分词组合方式进行节点标记,将全部头部分词标记为一级节点,将全部尾部分词标记为末端节点;
如果通过步骤3再进行步骤4,经过步骤1的第一次拆分后,将步骤2中得到的全部压缩子集中的组合词的全部头部分词标记为一级节点,尾部分词中的不可拆分分词标记为末端节点;
从第二次拆分开始,第M1次拆分得到的头部分词标记为第M1级节点;尾部分词中的不可拆分分词标记为末端节点;可拆分分词进入第M1+1次拆分。
2.如权利要求1所述的分词处理方法,其特征在于,所述步骤204中,对沉淀后矩阵中的所有初始非零矩阵中具备合并条件的两个初始非零矩阵进行合并,可合并的条件是两个初始非零矩阵具有序号完全相同的行或列,并选择合并后面积最大的合并方式,得到一个或多个合并后非零矩阵;
选择合并后非零矩阵与未能合并的剩余初始非零矩阵中面积最大的作为最大连续非零矩阵。
3.如权利要求1所述的分词处理方法,其特征在于,所述步骤4中,还包括节点合并,可合并的节点为在各次拆分过程中,头部分词不同,但调用的尾部分词完全一样的多个节点。
4.如权利要求1所述的分词处理方法,其特征在于,所述节点标记的具体方式为,对每个节点设置一个开始值和一个结束值,相同级别的不同头部节点的开始值相同,但结束值不同;不同末端节点的开始值不同,结束值相同。
5.如权利要求4所述的分词处理方法,其特征在于,位于同一命令词内的相邻排列的分词对应的节点中,上一节点的结束值和下一节点的开始值相等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410295039.4A CN117910467B (zh) | 2024-03-15 | 2024-03-15 | 一种离线语音识别过程中的分词处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410295039.4A CN117910467B (zh) | 2024-03-15 | 2024-03-15 | 一种离线语音识别过程中的分词处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117910467A true CN117910467A (zh) | 2024-04-19 |
CN117910467B CN117910467B (zh) | 2024-05-10 |
Family
ID=90690822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410295039.4A Active CN117910467B (zh) | 2024-03-15 | 2024-03-15 | 一种离线语音识别过程中的分词处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117910467B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5621859A (en) * | 1994-01-19 | 1997-04-15 | Bbn Corporation | Single tree method for grammar directed, very large vocabulary speech recognizer |
US6279018B1 (en) * | 1998-12-21 | 2001-08-21 | Kudrollis Software Inventions Pvt. Ltd. | Abbreviating and compacting text to cope with display space constraint in computer software |
US20050143972A1 (en) * | 1999-03-17 | 2005-06-30 | Ponani Gopalakrishnan | System and methods for acoustic and language modeling for automatic speech recognition with large vocabularies |
CN103544255A (zh) * | 2013-10-15 | 2014-01-29 | 常州大学 | 基于文本语义相关的网络舆情信息分析方法 |
US20160321243A1 (en) * | 2014-01-10 | 2016-11-03 | Cluep Inc. | Systems, devices, and methods for automatic detection of feelings in text |
CN108415953A (zh) * | 2018-02-05 | 2018-08-17 | 华融融通(北京)科技有限公司 | 一种基于自然语言处理技术的不良资产经营知识管理方法 |
CN111339753A (zh) * | 2020-02-25 | 2020-06-26 | 北京林业大学 | 一种自适应中文新词识别方法与系统 |
CN112528014A (zh) * | 2019-08-30 | 2021-03-19 | 成都启英泰伦科技有限公司 | 一种语言文本的分词、词性和韵律预测方法及训练模型 |
WO2021051513A1 (zh) * | 2019-09-19 | 2021-03-25 | 平安科技(深圳)有限公司 | 基于神经网络的中英翻译方法、及其相关设备 |
CN112712118A (zh) * | 2020-12-29 | 2021-04-27 | 银江股份有限公司 | 一种面向医疗文本数据的过滤方法及系统 |
TW202119259A (zh) * | 2019-10-31 | 2021-05-16 | 大仁科技大學 | 對話系統之訊息回饋方法 |
CN113420544A (zh) * | 2021-05-19 | 2021-09-21 | 北京沃东天骏信息技术有限公司 | 一种热词确定方法、装置、电子设备及存储介质 |
CN113987118A (zh) * | 2021-09-29 | 2022-01-28 | 阿里巴巴(中国)有限公司 | 语料的获取方法、装置、设备及存储介质 |
CN113987180A (zh) * | 2021-10-27 | 2022-01-28 | 北京百度网讯科技有限公司 | 用于输出信息和处理信息的方法和装置 |
CN114417840A (zh) * | 2022-01-19 | 2022-04-29 | 上海待兔科技有限责任公司 | 从编程文章中提取文章标签的方法、设备以及存储介质 |
WO2022105178A1 (zh) * | 2020-11-23 | 2022-05-27 | 平安科技(深圳)有限公司 | 一种关键词提取的方法及相关装置 |
-
2024
- 2024-03-15 CN CN202410295039.4A patent/CN117910467B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5621859A (en) * | 1994-01-19 | 1997-04-15 | Bbn Corporation | Single tree method for grammar directed, very large vocabulary speech recognizer |
US6279018B1 (en) * | 1998-12-21 | 2001-08-21 | Kudrollis Software Inventions Pvt. Ltd. | Abbreviating and compacting text to cope with display space constraint in computer software |
US20050143972A1 (en) * | 1999-03-17 | 2005-06-30 | Ponani Gopalakrishnan | System and methods for acoustic and language modeling for automatic speech recognition with large vocabularies |
CN103544255A (zh) * | 2013-10-15 | 2014-01-29 | 常州大学 | 基于文本语义相关的网络舆情信息分析方法 |
US20160321243A1 (en) * | 2014-01-10 | 2016-11-03 | Cluep Inc. | Systems, devices, and methods for automatic detection of feelings in text |
CN108415953A (zh) * | 2018-02-05 | 2018-08-17 | 华融融通(北京)科技有限公司 | 一种基于自然语言处理技术的不良资产经营知识管理方法 |
CN112528014A (zh) * | 2019-08-30 | 2021-03-19 | 成都启英泰伦科技有限公司 | 一种语言文本的分词、词性和韵律预测方法及训练模型 |
WO2021051513A1 (zh) * | 2019-09-19 | 2021-03-25 | 平安科技(深圳)有限公司 | 基于神经网络的中英翻译方法、及其相关设备 |
TW202119259A (zh) * | 2019-10-31 | 2021-05-16 | 大仁科技大學 | 對話系統之訊息回饋方法 |
CN111339753A (zh) * | 2020-02-25 | 2020-06-26 | 北京林业大学 | 一种自适应中文新词识别方法与系统 |
WO2022105178A1 (zh) * | 2020-11-23 | 2022-05-27 | 平安科技(深圳)有限公司 | 一种关键词提取的方法及相关装置 |
CN112712118A (zh) * | 2020-12-29 | 2021-04-27 | 银江股份有限公司 | 一种面向医疗文本数据的过滤方法及系统 |
CN113420544A (zh) * | 2021-05-19 | 2021-09-21 | 北京沃东天骏信息技术有限公司 | 一种热词确定方法、装置、电子设备及存储介质 |
CN113987118A (zh) * | 2021-09-29 | 2022-01-28 | 阿里巴巴(中国)有限公司 | 语料的获取方法、装置、设备及存储介质 |
CN113987180A (zh) * | 2021-10-27 | 2022-01-28 | 北京百度网讯科技有限公司 | 用于输出信息和处理信息的方法和装置 |
CN114417840A (zh) * | 2022-01-19 | 2022-04-29 | 上海待兔科技有限责任公司 | 从编程文章中提取文章标签的方法、设备以及存储介质 |
Non-Patent Citations (6)
Title |
---|
DIMITAR TRAJANOV ET AL: ""Review of Natural Language Processing in Pharmacology"", 《ARXIV》, 22 August 2022 (2022-08-22) * |
HOUEN LI ET AL: ""Text Mining Strategy of Power Customer Service Work Order Based on Natural Language Processing Technology"", 《 2019 INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING, AUTOMATION AND SYSTEMS (ICICAS)》, 2 April 2020 (2020-04-02) * |
刘兴林;陈建超;马千里;: "基于互联网的词汇语义知识库构建框架研究", 计算机与现代化, no. 10, 10 November 2010 (2010-11-10) * |
单智豪等: ""基于智能语音的家政系统设计与实现"", 《电脑编程技巧与维护》, 17 May 2019 (2019-05-17) * |
李冬晨: ""融合层次化语言学知识的统计汉语句法分析研究"", 《万方学位论文》, 31 December 2014 (2014-12-31) * |
高君效等: "" 基于深度神经网络的智能语音识别专用芯片"", 《科技成果》, 27 September 2021 (2021-09-27) * |
Also Published As
Publication number | Publication date |
---|---|
CN117910467B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ma et al. | Joint layout analysis, character detection and recognition for historical document digitization | |
CN111444305A (zh) | 一种基于知识图谱嵌入的多三元组联合抽取方法 | |
JP2522154B2 (ja) | 音声認識システム | |
CN111523420B (zh) | 基于多任务深度神经网络的表头分类与表头列语义识别方法 | |
CN113342933B (zh) | 一种类双塔模型的多特征交互网络招聘文本分类方法 | |
CN111104525B (zh) | 一种基于图数据库的建筑设计规范知识图谱构建方法 | |
CN108231066A (zh) | 语音识别系统及其方法与词汇建立方法 | |
CN113761202A (zh) | 一种将非结构金融Excel表格映射到数据库的优化系统 | |
CN110413779B (zh) | 一种针对电力行业的词向量训练方法及其系统、介质 | |
CN114691891A (zh) | 一种面向知识图谱的问答推理方法 | |
CN117910467B (zh) | 一种离线语音识别过程中的分词处理方法 | |
CN118114674A (zh) | 一种可用于小样本场景的命名实体识别方法 | |
CN111461169A (zh) | 基于正反卷积和多层分支深度网络的行人属性识别方法 | |
CN113642679B (zh) | 多种类数据识别方法 | |
CN115525777A (zh) | 一种基于自然语言问答的知识图谱三元组显著性评估方法 | |
CN113850157A (zh) | 一种基于神经网络的字符识别的方法 | |
CN114896415A (zh) | 基于轻量级自注意力机制的实体关系联合抽取方法及装置 | |
CN111340113A (zh) | 一种基于异构特征统一深度神经网络的中国水墨画识别方法 | |
CN111046934A (zh) | 一种swift报文软条款识别方法及装置 | |
CN114092946B (zh) | 一种乐谱识别方法 | |
CN111476022B (zh) | 实体特征的字符嵌入及混合lstm实体识别方法、系统及介质 | |
US20240232639A1 (en) | Retraining system, inspection system, extraction device, retraining method, and storage medium | |
CN113313184B (zh) | 一种异质集成的自承认技术债务自动检测方法 | |
CN110189830B (zh) | 基于机器学习的电子病历词库训练方法 | |
Torras et al. | Improving Handwritten Music Recognition through Language Model Integration |
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 |