CN114036957A - 一种快速语义相似度计算方法 - Google Patents
一种快速语义相似度计算方法 Download PDFInfo
- Publication number
- CN114036957A CN114036957A CN202111610107.4A CN202111610107A CN114036957A CN 114036957 A CN114036957 A CN 114036957A CN 202111610107 A CN202111610107 A CN 202111610107A CN 114036957 A CN114036957 A CN 114036957A
- Authority
- CN
- China
- Prior art keywords
- text
- word
- words
- index
- pinyin
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 35
- 238000007781 pre-processing Methods 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 12
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 abstract description 4
- 239000011159 matrix material Substances 0.000 abstract description 4
- 230000001419 dependent effect Effects 0.000 abstract description 3
- 230000007547 defect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
- 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)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于语音识别技术领域,具体涉及一种快速语义相似度计算方法,包括文本预处理模块、前缀树构建模块和实时匹配模块;其中文本预处理模块对文本进行预处理;前缀树构建模块用于将词转变拼音,并插入前缀树中,得到文本A中词语对应的拼音字符串和出现的次数,实时匹配模块通过判断文本B中每个词语是否在文本A出现,并将出现的词语个数与总数进行比值计算,得到匹配相似度;本发明中所涉及数据计算,都没有向量或矩阵的运算,从而大大降低计算复杂度,达到了实时性的要求,计算量小,依赖文件小,可以直接部署到嵌入式等计算资源低的设备上。
Description
技术领域
本发明属于语音识别技术领域,具体涉及一种快速语义相似度计算方法。
背景技术
在实时语音质检场景中,从麦克风获取的语音流,需要通过语音识别引擎获对应的文本内容,然后根据识别的文本内容和事先定义好的话术文本进行语义匹配,计算出语义相似度。这个从语音识别到文本语义计算的过程需要低延迟和实时性,这就要求语义相似度计算不能太耗时,能够快速计算结果。
实时语音质检的特点就是要保持实时性,低延迟,同时语义匹配准确度高。而现有技术中,虽然文本语义相似度计算有很多种方法,但这些方法要么准确度很差;要么计算量很大,无法达到实时性。
比如使用余弦相似度来计算,它首先使用词典创建文本对应的数值向量,然后根据余弦公式计算两个文本的相似度。余弦公式很简单,但是创建准确的数值向量却很难。如果数值向量直接根据词典对应的索引值来构建,那得到的相似度匹配就很差,因为这些词典索引值是相互独立的,文本直接的词语没有任何关联性。如果数值向量是经过词向量模型得到,那每个词的向量维度就很大,得到的文本就不是一维向量,而是二维矩阵,这样就会导致计算复杂度大幅度增加,计算速度就很慢。
随着NLP技术(自然语言处理)的发展,文本相似度的计算也开始使用深度语义模型。通过大量标注文本来训练模型,确实可以提高文本相似度的准确度,但带来的问题就是计算量很大,模型部署困难。
为了满足人们的需要,既要保持文本相似度的准确度,又要达到低延迟,针对上述方法存在的缺点,研究一种快速语义相似度计算方法是必要的。
发明内容
针对现有设备存在的缺陷和问题,本发明提供一种快速语义相似度计算方法,有效的解决了现有相识度计算时,词的向量维度就大,计算复杂度高,计算速度慢、延时高的问题。
本发明解决其技术问题所采用的方案是:一种快速语义相似度计算方法, 包括如下步骤:
步骤一,文本预处理;
输入文本A和文本B,并分别进行去标点处理,然后根据词典文件对文本A和文本B进行分词和过滤未知词语,并对应输出为索引数组A和索引数组B;
步骤二,构建前缀树;
按照顺序遍历索引数组A中每个词语,并在发音词典中找到对应的汉语拼音,将词语对应拼音字符串和词语对应的id构建索引字符串,插入前缀树中,并记录该词语的插入次数,如果该索引字符串已经存在,就累加次数;直到索引数组A所有词语所对应的索引字符串均存放于前缀树,得到前缀树A;
步骤三,文本实时匹配;
从索引数组B的第一个词语,并按照顺序遍历索引数组B;遍历使用与步骤二中所述发音词典将词语转成拼音字符串,然后和词语对应的id构建索引字符串,在前缀树A中查找是否有该词语对应的索引字符串,没有找到,便进行下一个词语;如果找到,就获取该词语在文本A中出现的次数,并将该结果保存到查找数组中;
步骤四,查找数据合并;
合并重复出现的词语,每个词语仅保留一份出现次数,然后累加所有匹配到的词语次数,得到匹配次数;
步骤五,计算相似度;
计算索引数组A中所有词语出现次数的总次数,将匹配次数与总次数进行比值,得到文本语义相似度。
进一步的,所述拼音字符串包括词语ID,声母、韵母和声调。
进一步的,在步骤二和步骤三中,如果词语为汉语,则在发音词典文件中找到对应的汉语拼音,如果是英文字符,则不需要拼音,并将其作为一个整体插入到前缀树中。
本发明的有益效果:本发明主要包括三个模块,即文本预处理模块、前缀树构建模块和实时匹配模块;其中文本预处理模块主要用于对输入文本进行去标点和根据词典文件进行分词和过滤未知词语,实现文本的前处理。
前缀树构建模块的目的就是获取每个词出现的次数,词语转拼音目的一是为了省去哈希索引的创建,二是针对汉字,方便构建前缀树词语对应的拼音字符串插入前缀树时,需要记录该词语插入的次数,如果该索引字符串已经存在就累加次数,最后形成的前缀树包含文本A中词语对应的索引字符串和出现的次数。
实时匹配模块按照顺序遍历索引数组B,使用相同的拼音词表将词语转成拼音,然后使用构建的索引字符串在前缀树A中查找是否有该词语,没有就进行下一个词语,如果找到,就获取该词语在文本A中出现的次数,并将该结果保存到数组中,在统计总的匹配次数时,有的词语可能会出现多次,这时只取一次匹配次数即可,最后累加所有匹配到的词语的次数,即通过判断文本B中每个词语是否在文本A出现,并将出现的词语个数与总数进行比值计算,得到文本语义相似度。
本发明提出的实时文本匹配方法主要包括三个计算模块,这三个模块都没有向量或矩阵的运算,这大大降低计算复杂度,达到了实时性的要求。同时,本方法支持超长文本的相似度计算,无需深度语义模型那样有长度限制,准确度满足要求。然后,本方法无需大量文本来预训练深度语义模型或词向量,只需要一个简单的词典文件就可以,最后,本方法由于计算量小,依赖文件小等优点,可以直接部署到嵌入式等计算资源低的设备上。
附图说明
图1为本发明文本匹配流程图。
图2为文本预处理的流程图。
图3为前缀树构建流程图。
图4为实时匹配流程图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
实施例1:本实施例旨在提供一种快速语义相似度计算方法,主要用于对文本的相识度进行判断,针对现有的文本匹配度计算方法,词的向量维度就大,计算复杂度高,计算速度慢、延时高的问题,本实施例提供了一种快速的语义相似度计算方法。
本实施例中主要包括三个模块,即文本预处理模块、前缀树构建模块和实时匹配模块;其中文本预处理模块主要用于对输入文本进行去标点和根据词典文件进行分词和过滤未知词语,实现文本的前处理。
前缀树构建模块的目的就是获取每个词出现的次数,词语转拼音目的一是为了省去哈希索引的创建,二是针对汉字,方便构建前缀树词语对应的拼音字符串插入前缀树时,需要记录该词语插入的次数,如果该拼音字符串已经存在就累加次数,最后形成的前缀树包含文本A中词语对应的拼音字符串和出现的次数。
实时匹配模块按照顺序遍历索引数组B,使用相同的拼音词表将词语转成拼音,然后使用构建的索引字符串在前缀树A中查找是否有该词语,没有就进行下一个词语,如果找到,就获取该词语在文本A中出现的次数,并将该结果保存到数组中,在统计总的匹配次数时,有的词语可能会出现多次,这时只取一次匹配次数即可,最后累加所有匹配到的词语的次数,即通过判断文本B中每个词语是否在文本A出现,并将出现的词语个数与总数进行比值计算,得到文本语义相似度。
在具体实施时包括如下步骤:
步骤一,文本预处理;
输入文本A和文本B,为了便于区分,本实施例中将文本A为对照文本,文本B为匹配文本,并分别对两份文本进行去标点处理,然后根据词典文件对文本A和文本B进行分词和过滤未知词语,并对应输出为索引数组A和索引数组B。
步骤二,构建前缀树;
按照顺序遍历索引数组A中每个词语,并在发音词典中找到对应的汉语拼音,将词语对应拼音字符串和词语对应的id构建索引字符串,插入前缀树中,并记录该词语的插入次数,本实施例中,如果词语为汉语,则在发音词典文件中找到对应的汉语拼音,如果是英文字符,则不需要拼音,并将其作为一个整体插入到前缀树中,其中拼音字符串包括词语ID,声母、韵母和声调。
在插入过程中,如果该索引字符串已经存在,就累加次数;如果不存在,便将该索引字符串插入前缀树中,直到索引数组A所有词语所对应的索引字符串均存放于前缀树,得到前缀树A。
步骤三,文本实时匹配;
从索引数组B的第一次词语,并按照顺序遍历索引数组B;遍历使用与步骤二中所述发音词典将词语转成拼音字符串,然后和词语对应的id构建索引字符串,在前缀树A中查找是否有该词语对应的索引字符串,没有找到,便进行下一个词语;如果找到,就获取该词语在文本A中出现的次数,并将该结果保存到查找数组中。
步骤四,查找数据合并;
合并重复出现的词语,每个词语仅保留一份出现次数,然后累加所有匹配到的词语次数,得到匹配次数。
步骤五,计算相似度;
计算索引数组A中所有词语出现次数的总次数,将匹配次数与总次数进行比值,得到文本语义相似度。
本实施例中所涉及数据计算,都没有向量或矩阵的运算,从而大大降低计算复杂度,达到了实时性的要求。同时,本方法支持超长文本的相似度计算,无需深度语义模型那样有长度限制,准确度满足要求。然后,本方法无需大量文本来预训练深度语义模型或词向量,只需要一个简单的词典文件就可以,由此可知,本实施例所提供语义相似度计算方法计算量小,依赖文件小,可以直接部署到嵌入式等计算资源低的设备上。
Claims (3)
1.一种快速语义相似度计算方法,其特征在于: 包括如下步骤:
步骤一,文本预处理;
输入文本A和文本B,并分别进行去标点处理,然后根据词典文件对文本A和文本B进行分词和过滤未知词语,并对应输出为索引数组A和索引数组B;
步骤二,构建前缀树;
按照顺序遍历索引数组A中每个词语,并在发音词典中找到对应的汉语拼音,将词语对应拼音字符串和词语对应的id构建索引字符串,插入前缀树中,并记录该词语的插入次数,如果该索引字符串已经存在,就累加次数;直到索引数组A所有词语所对应的索引字符串均存放于前缀树,得到前缀树A;
步骤三,文本实时匹配;
从索引数组B的第一个词语,并按照顺序遍历索引数组B;遍历使用与步骤二中所述发音词典将词语转成拼音字符串,然后和词语对应的id构建索引字符串,在前缀树A中查找是否有该词语对应的索引字符串,没有找到,便进行下一个词语;如果找到,就获取该词语在文本A中出现的次数,并将该结果保存到查找数组中;
步骤四,查找数据合并;
合并重复出现的词语,每个词语仅保留一份出现次数,然后累加所有匹配到的词语次数,得到匹配次数;
步骤五,计算相似度;
计算索引数组A中所有词语出现次数的总次数,将匹配次数与总次数进行比值,得到文本语义相似度。
2.根据权利要求1所述的快速语义相似度计算方法,其特征在于:所述索引字符串包括词语id,声母、韵母和声调。
3.根据权利要求1所述的快速语义相似度计算方法,其特征在于:在步骤二和步骤三中,如果词语为汉语,则在发音词典文件中找到对应的汉语拼音,如果是英文字符,则不需要拼音,并将其作为一个整体插入到前缀树中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111610107.4A CN114036957B (zh) | 2021-12-27 | 2021-12-27 | 一种快速语义相似度计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111610107.4A CN114036957B (zh) | 2021-12-27 | 2021-12-27 | 一种快速语义相似度计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114036957A true CN114036957A (zh) | 2022-02-11 |
CN114036957B CN114036957B (zh) | 2022-06-21 |
Family
ID=80141229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111610107.4A Active CN114036957B (zh) | 2021-12-27 | 2021-12-27 | 一种快速语义相似度计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114036957B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604040A (zh) * | 2022-12-16 | 2023-01-13 | 国网江苏省电力有限公司信息通信分公司(Cn) | 一种基于ip访问序列的异常访问行为识别方法 |
CN116978385A (zh) * | 2023-09-25 | 2023-10-31 | 北京健康有益科技有限公司 | 语音数据录入方法、装置、电子设备和可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054279A1 (en) * | 2001-01-04 | 2002-07-11 | Agency For Science, Technology And Research | Improved method of text similarity measurement |
EP3046037A1 (en) * | 2015-01-15 | 2016-07-20 | Fujitsu Limited | Similarity determination apparatus, similarity determination method, and computer-readable recording medium |
CN106611041A (zh) * | 2016-09-29 | 2017-05-03 | 四川用联信息技术有限公司 | 一种新的文本相似度求解方法 |
CN106980620A (zh) * | 2016-01-18 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 一种对中文字串进行匹配的方法及装置 |
CN109284502A (zh) * | 2018-09-13 | 2019-01-29 | 武汉斗鱼网络科技有限公司 | 一种文本相似度计算方法、装置、电子设备及存储介质 |
CN113239666A (zh) * | 2021-05-13 | 2021-08-10 | 深圳市智灵时代科技有限公司 | 一种文本相似度计算方法及系统 |
-
2021
- 2021-12-27 CN CN202111610107.4A patent/CN114036957B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054279A1 (en) * | 2001-01-04 | 2002-07-11 | Agency For Science, Technology And Research | Improved method of text similarity measurement |
EP3046037A1 (en) * | 2015-01-15 | 2016-07-20 | Fujitsu Limited | Similarity determination apparatus, similarity determination method, and computer-readable recording medium |
CN106980620A (zh) * | 2016-01-18 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 一种对中文字串进行匹配的方法及装置 |
CN106611041A (zh) * | 2016-09-29 | 2017-05-03 | 四川用联信息技术有限公司 | 一种新的文本相似度求解方法 |
CN109284502A (zh) * | 2018-09-13 | 2019-01-29 | 武汉斗鱼网络科技有限公司 | 一种文本相似度计算方法、装置、电子设备及存储介质 |
CN113239666A (zh) * | 2021-05-13 | 2021-08-10 | 深圳市智灵时代科技有限公司 | 一种文本相似度计算方法及系统 |
Non-Patent Citations (2)
Title |
---|
ERWIN MARSI等: "Automatic analysis of semantic similarity in comparable text through syntactic tree matching", 《PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON COMPUTATIONAL LINGUISTICS(COLING 2010)》 * |
叶鸥等: "中文地名数据清洗中的重复字段匹配", 《应用科学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604040A (zh) * | 2022-12-16 | 2023-01-13 | 国网江苏省电力有限公司信息通信分公司(Cn) | 一种基于ip访问序列的异常访问行为识别方法 |
CN115604040B (zh) * | 2022-12-16 | 2023-03-10 | 国网江苏省电力有限公司信息通信分公司 | 一种基于ip访问序列的异常访问行为识别方法 |
CN116978385A (zh) * | 2023-09-25 | 2023-10-31 | 北京健康有益科技有限公司 | 语音数据录入方法、装置、电子设备和可读存储介质 |
CN116978385B (zh) * | 2023-09-25 | 2023-12-19 | 北京健康有益科技有限公司 | 语音数据录入方法、装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114036957B (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109410914B (zh) | 一种赣方言语音和方言点识别方法 | |
Schuster et al. | Japanese and korean voice search | |
US10672391B2 (en) | Improving automatic speech recognition of multilingual named entities | |
US10515292B2 (en) | Joint acoustic and visual processing | |
CN109065032B (zh) | 一种基于深度卷积神经网络的外部语料库语音识别方法 | |
US5878390A (en) | Speech recognition apparatus equipped with means for removing erroneous candidate of speech recognition | |
CN104166462B (zh) | 一种文字的输入方法和系统 | |
CN114036957B (zh) | 一种快速语义相似度计算方法 | |
CN108538286A (zh) | 一种语音识别的方法以及计算机 | |
CN110853625B (zh) | 语音识别模型分词训练方法、系统、移动终端及存储介质 | |
CN103116578A (zh) | 一种融合句法树和统计机器翻译技术的翻译方法与装置 | |
US7739110B2 (en) | Multimedia data management by speech recognizer annotation | |
Ahmed et al. | End-to-end lexicon free arabic speech recognition using recurrent neural networks | |
CN110717341B (zh) | 一种以泰语为枢轴的老-汉双语语料库构建方法及装置 | |
Le Zhang et al. | Enhancing low resource keyword spotting with automatically retrieved web documents | |
CN114266256A (zh) | 一种领域新词的提取方法及系统 | |
CN113611286B (zh) | 一种基于共性特征提取的跨语种语音情感识别方法和系统 | |
Birla | A robust unsupervised pattern discovery and clustering of speech signals | |
CN107123419A (zh) | Sphinx语速识别中背景降噪的优化方法 | |
CN112632272B (zh) | 基于句法分析的微博情感分类方法和系统 | |
Mamatov et al. | Construction of language models for Uzbek language | |
CN111401069A (zh) | 会话文本的意图识别方法、意图识别装置及终端 | |
KR101069534B1 (ko) | 미등록어를 포함한 환경에서 오디오 및 비디오의 음성 데이터 검색 방법 및 장치 | |
CN114974310A (zh) | 基于人工智能的情感识别方法、装置、计算机设备及介质 | |
Maskey et al. | A phrase-level machine translation approach for disfluency detection using weighted finite state transducers |
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 | ||
OL01 | Intention to license declared | ||
OL01 | Intention to license declared |