CN105931641A - 字幕数据生成方法和装置 - Google Patents
字幕数据生成方法和装置 Download PDFInfo
- Publication number
- CN105931641A CN105931641A CN201610355247.4A CN201610355247A CN105931641A CN 105931641 A CN105931641 A CN 105931641A CN 201610355247 A CN201610355247 A CN 201610355247A CN 105931641 A CN105931641 A CN 105931641A
- Authority
- CN
- China
- Prior art keywords
- text
- content
- subsequence
- sequence
- phonetic
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 11
- 239000000203 mixture Substances 0.000 claims description 26
- 239000000284 extract Substances 0.000 claims description 24
- 238000000605 extraction Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 14
- 230000008878 coupling Effects 0.000 claims description 12
- 238000010168 coupling process Methods 0.000 claims description 12
- 238000005859 coupling reaction Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 230000001131 transforming effect Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 6
- 241001269238 Data Species 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 210000000481 breast Anatomy 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000013011 mating Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 206010013887 Dysarthria Diseases 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 210000003141 lower extremity Anatomy 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 102220167146 rs115562835 Human genes 0.000 description 1
- 102220008303 rs4904 Human genes 0.000 description 1
- 102220091166 rs876657475 Human genes 0.000 description 1
- 102220097244 rs876660902 Human genes 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000008736 traumatic injury Effects 0.000 description 1
- 230000000007 visual effect Effects 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/26—Speech to text systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
- G10L25/54—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for retrieval
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
- H04N21/4856—End-user interface for client configuration for language selection, e.g. for the menu or subtitles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4888—Data services, e.g. news ticker for displaying teletext characters
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种字幕数据生成方法和装置,该方法包括:获取对发声多媒体文件经过自动语音识别处理得到的第一字幕数据中的第一文本内容和对应的第一时间标识,以及获取原始文本内容中的需发声的第二文本内容;提取第二文本内容和第一文本内容相匹配的文本内容;查找相匹配的文本内容在第一文本内容中对应的第一时间标识,为第二文本内容中与相匹配的文本内容对应的文本内容添加上查找到的第一时间标识;根据第一文本内容和对应的第一时间标识计算出平均语速,根据平均语速为第二文本内容中未添加上第一时间标识的文本内容添加上第二时间标识;根据添加了第一和第二时间标识的第二文本内容生成第二字幕数据。使生成的字幕数据更加准确。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种字幕数据生成方法和装置。
背景技术
字幕,指音视频文件播放的同时同步展示的文本内容,包含歌词字幕、对话字幕等。准确的字幕能够让人们更好地获知和理解音视频作品内容。
传统方法中,一般采用两种方式来进行字幕生成,一种是手工编辑制作字幕,一种是通过ASR(Automatic Speech Recognition,自动语音识别)技术根据音视频文件自动生成字幕。显然,对于手工编辑制作字幕来说,在需要完成大量的音频内容的字幕制作时,则需要投入大量的人力成本,且制作效率非常低。因此,为了提高字幕制作效率,通常采用ASR技术对音视频文件自动生成字幕。
然而,在利用ASR技术对音视频文件自动生成字幕时,由于受到发音、口音、背景音等因素的影响,很可能无法准确识别语音内容,所以自动生成的字幕并不是非常准确。
发明内容
基于此,有必要针对上述问题,提供一种能够在保证制作效率的同时,提高准确率的字幕数据生成方法和装置。
一种字幕数据生成方法,包括:
获取对发声多媒体文件经过自动语音识别处理得到的第一字幕数据中的第一文本内容和对应的第一时间标识,以及获取所述发声多媒体文件对应的原始文本内容中的需发声的第二文本内容;
提取所述第二文本内容和所述第一文本内容相匹配的文本内容;
查找所述相匹配的文本内容在所述第一文本内容中对应的第一时间标识,为所述第二文本内容中与所述相匹配的文本内容对应的文本内容添加上查找到的第一时间标识;
根据所述第一文本内容和对应的第一时间标识计算出平均语速,根据所述平均语速为所述第二文本内容中未添加上所述第一时间标识的文本内容添加上第二时间标识;
根据添加了所述第一时间标识和所述第二时间标识的第二文本内容生成第二字幕数据。
一种字幕数据生成装置,包括:
获取模块,用于获取对发声多媒体文件经过自动语音识别处理得到的第一字幕数据中的第一文本内容和对应的第一时间标识,以及获取所述发声多媒体文件对应的原始文本内容中的需发声的第二文本内容;
提取模块,用于提取所述第二文本内容和所述第一文本内容相匹配的文本内容;
时间标识添加模块,用于查找所述相匹配的文本内容在所述第一文本内容中对应的第一时间标识,为所述第二文本内容中与所述相匹配的文本内容对应的文本内容添加上查找到的第一时间标识;
所述时间标识添加模块还用于根据所述第一文本内容和对应的第一时间标识计算出平均语速,根据所述平均语速为所述第二文本内容中未添加上所述第一时间标识的文本内容添加上第二时间标识;
字幕数据生成模块,用于根据添加了所述第一时间标识和所述第二时间标识的第二文本内容生成第二字幕数据。
上述字幕数据生成方法和装置中,获取对发声多媒体文件经过自动语音识别处理得到的第一字幕数据中的第一文本内容和对应的第一时间标识,以及获取发声多媒体文件对应的原始文本内容中的需发声的第二文本内容;提取第二文本内容和第一文本内容相匹配的文本内容;查找相匹配的文本内容在第一文本内容中对应的第一时间标识,为第二文本内容中与相匹配的文本内容对应的文本内容添加上查找到的第一时间标识。即根据自动语音识别出的文本内容所具有的时间标识为具有准确文本内容的原始文本中需发声的第二文本内容中相匹配的文本内容添加上对应的第一时间标识。进一步,根据自动语音识别出的文本内容及第一时间标识计算出平均语速,根据平均语速为未添加上时间标识的文本内容添加上第二时间标识。这样,使具有准确文本内容的需发声的第二文本内容都添加上时间标识,再根据添加了时间标识的具有准确文本内容的第二文本内容生成字幕。由于第二文本内容是基于原始文本内容得到的准确的文本内容,因此将第二文本内容添加上对应的时间标识后所生成的字幕数据,不存在文本内容错误的问题,更加准确。
附图说明
图1为一个实施例中字幕数据生成方法的应用环境图;
图2为一个实施例中服务器的结构示意图;
图3为一个实施例中字幕数据生成方法的流程示意图;
图4为一个实施例中第二字幕数据在终端的显示的界面示意图;
图5为一个实施例中第一最长公共子序列提取方法的流程示意图;
图6为一个实施例中第一文本子序列获取方法的流程示意图;
图7为一个实施例中的最长公共子序列的长度计算的结果示意图;
图8为一个实施例中第二时间标识确定方法的流程示意图;
图9为一个实施例中字幕数据生成装置的结构示意图;
图10为一个实施例中提取模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中字幕数据生成方法的应用环境图。如图1所示,该应用环境包括服务器110和终端120。服务器110对发声多媒体文件生成字幕数据时,获取对该发声多媒体文件经过自动语音识别处理后的第一字幕数据,进一步获取第一字幕数据中的第一文本内容和对应的第一时间标识。服务器110同时获取预发声多媒体文件对应的原始文本内容中需发声的第二文本内容。进一步,服务器110根据第一文本内容对应的第一时间标识,为第二文本中与第一文本内容相匹配的文本内容添加上对应的第一时间标识。并根据第一文本内容和对应的第一时间标识计算出平均语速,根据平均语速为第二文本内容中未添加上第一时间标识的文本内容计算并添加上第二时间标识,进一步,根据添加了第一时间标识和第二时间标识的第二文本内容第二字幕数据。当终端120在播放发声多媒体文件时,会将服务器110生成的第二字幕数据加配至发声多媒体文件中,在终端120的界面上显示播放加配了字幕的发声多媒体文件。
如图2所示,在一个实施例中,提供了一种服务器,包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口。其中,服务器的非易失性存储介质存储有操作系统,还包括一种字幕数据生成装置,该字幕数据生成装置用于实现一种字幕数据生成方法。该处理器用于提供计算和控制能力,支撑整个服务器的运行。服务器中的内存储器为非易失性存储介质中的字幕数据生成装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种字幕数据生成方法。网络接口用于与终端进行网络通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图3所示,在一个实施例中,提供了一种字幕数据生成方法,以应用于图1或图2中的服务器为例进行举例说明,包括以下步骤:
步骤302,获取对发声多媒体文件经过自动语音识别处理得到的第一字幕数据中的第一文本内容和对应的第一时间标识,以及获取发声多媒体文件对应的原始文本内容中的需发声的第二文本内容。
本实施例中,发声多媒体文件是指可以发声的多媒体文件,包括有声读物、音视频文件和广播剧等多媒体文件。
服务器会预先获取对发声多媒体文件经过自动语音识别处理后的第一字幕数据。进一步,获取第一字幕数据中的第一文本内容和对应的第一时间标识。可以理解,第一文本内容即为第一字幕文本内容。比如,自动语音识别出来的第一字幕数据形式为(其中,seq1中对应的时间标识是句级别时间标识,word2对应的时间标识是字级别的时间标识):
Seq1:8425.00ms—13225.00ms历史的车轮找李隆隆而过
Word0:9235.00ms—9435.00ms历史
Word2:9515.00ms—9595.00ms的
Word3:9735.00ms—10335.00ms车轮
Word4:10855.00ms—10975.00ms找
Word5:11075.00ms—11225.00ms李
Word6:11295.00ms—11715.00ms隆隆
Word7:11895.00ms—12515.00ms而过
进一步,提取第一字幕数据中的第一文本内容和对应的第一时间标识,这里的第一时间标识是最小单位的时间标识。比如提取的第一文本内容为“历史的车轮找李隆隆而过”是一句话,那么获取的对应的第一时间标识则是上述语音识别结果中最小单位的时间标识,即以字或词为单位的时间标识。比如,获取的是各个字或词所对应的时间标识。
进一步,获取的可以是各个字或词所对应的起始时间戳。比如“历史”对应的起始时间戳为“9235.00”,“的”对应的起始时间戳为“9515.00”,“车轮”对应的起始时间戳为“9735.00”等。也可以是时间段。本发明实施例对此不作限定。
此外,服务器会获取原始文本内容中的需发声的第二文本内容(以下简称第二文本内容)。这里,原始文本内容指针对发声多媒体文件所制定的原始文稿内容。比如,广播剧和有声小说所具有的剧本内容。结合上述例子,原始文本内容为“历史的车轮照例隆隆而过”。
第二文本内容即指原始文本中需发声的文本内容。可以理解,当原始文本是纯发声文稿,则第二文本内容指原始文本内容本身。
当原始文本内容中包含需发声文本内容和非发声文本内容,则第二文本内容指原始文本中的需发声文本内容。进一步,服务器可以是直接获取经过预处理后的原始文本内容中的第二文本内容。也可以是先获取原始文本内容,然后对原始文本内容进行预处理以提取出其中的第二文本内容。具体地,获取预设的过滤逻辑公式,根据预设的过滤逻辑公式提取出原始文本内容中的需发声的第二文本内容。根据预设的过滤逻辑公式自动提取出需发声的第二文本内容,不需要手动的从原始文本内容中挑选准备出第二文本内容,提高了获取需发声第二文本内容的效率。
本发明实施例对服务器如何获取原始文本内容中的第二文本内容的具体实现方式不作限定,只要满足服务器能够获取原始文本内容中的需发声的第二文本内容即可。
需要说明的是,因为自动语音识别处理是可以得到含有标点符号的字幕数据,即第一字幕数据中的第一文本内容是包括标点符号的,所以本实施例中所获取的原始文本内容中的需发声的第二文本内容也是包含原始文本内容需发声语句前后携带的标点符号的。
步骤304,提取第二文本内容和第一文本内容相匹配的文本内容。
步骤306,查找相匹配的文本内容在第一文本内容中对应的第一时间标识,为第二文本内容中与相匹配的文本内容对应的文本内容添加上查找到的第一时间标识。
具体地,服务器会提取出第一文本内容和第二文本内容中相匹配的文本内容。需要说明的是,这里的相匹配的文本内容是指第一文本内容中与第二文本内容中相同或可以近似等同的文本内容。进一步,可以理解,这里相匹配的文本内容,可以是多段内容按序共同组成的相匹配的文本内容。
比如,第一文本内容为“历史的车轮找李隆隆而过”,第二文本内容为“历史的车轮照例隆隆而过”,那么由“历史的车轮”和“隆隆而过”共同组成相匹配的文本内容“历史的车轮隆隆而过”。
进一步,根据获取的第一文本内容和对应的第一时间标识,查找所提取的相匹配的文本内容所对应的第一时间标识,并为第二文本内容中与相匹配的文本内容对应的文本内容添加上查找到的第一时间标识。比如根据第一文本内容“历史的车轮找李隆隆而过”和对应的第一时间标识,查找“历史的车轮隆隆而过”所对应的第一时间标识,并在第二文本内容“历史的车轮照例隆隆而过”中与“历史的车轮隆隆而过”相应的部分添加上对应的第一时间标识。根据前文陈述,第一时间标识是以字或词为单位的时间标识,那么则可以是为第二文本内容的“历史”、“的”、“车轮”、“隆隆”以及“而过”添加上了对应的第一时间标识。
步骤308,根据第一文本内容和对应的第一时间标识计算出平均语速,根据平均语速为第二文本内容中未添加上第一时间标识的文本内容添加上第二时间标识。
具体地,服务器会根据获取的第一文本内容和对应的第一时间标识计算出平均语速,即计算单位时间内所经过的文字数量。进一步,根据平均语速计算出第二文本内容中未添加上第一时间标识的文本内容所需要的时间长度,并结合其前后相匹配的内容已添加上的第一时间标识计算出第二文本内容中未添加上第一时间标识的文本内容所对应的第二时间标识。同样地,未添加上第一时间标识的文本内容可以是多段文本内容。
其中,未添加上第一时间标识的文本内容包括与第一文本内容未匹配出的文本内容。此外,未添加上第一时间标识的文本内容,还包括与第一文本内容相匹配的文本内容中没有对应第一时间标识的文本内容。比如,相匹配的文本内容中存在文本内容A,在自动语音识别处理后的第一字幕数据中本身就缺失了文本内容A对应的第一时间标识,那么就无法为第二文本内容中与文本内容A对应的文本内容添加上第一时间标识了。
结合上述例子举例说明,比如未添加上第一时间标识的文本内容为“照例”那么根据平均语速计算出“照例”分别对应的时间为t1,“照例”之后相匹配到的文本内容“隆隆”的起始时间戳为11295.00,那么“照例”对应的起始时间戳则可以为11295-t1。
步骤310,根据添加了第一时间标识和第二时间标识的第二文本内容生成第二字幕数据。
服务器在将第一时间标识和第二时间标识都添加至第二文本内容后,即完成了对原始文本内容中的需发声的文本内容的时间标识的添加。则服务器会根据完成了时间标识添加的第二文本内容生成第二字幕数据。
具体地,服务器会按照预设的字幕格式将完成时间标识添加的第二文本内容转换成对应字幕格式的第二字幕数据。
需要说明的是,当原始文本内容中还包括除第二文本内容以外的非发声文本内容时,服务器可以进一步从上述非发声文本内容中获取利于字幕显示的其他信息,并将获取的其他信息也转换成对应字幕格式的第二字幕数据。即第二字幕数据可以由完成时间标识添加的第二文本内容和其他信息共同进行字幕格式转换生成。可以理解,服务器也可以只将第二文本内容转换成第二字幕数据。本发明实施例对此并不做限定。
本实施例中,根据自动语音识别出的文本内容所具有的时间标识为具有准确文本内容的原始文本中需发声的第二文本内容中相匹配的文本内容添加上对应的第一时间标识,再根据自动语音识别出的文本内容及第一时间标识计算出平均语速,根据平均语速为未添加上时间标识的文本内容添加上第二时间标识。这样,使具有准确文本内容的需发声的第二文本内容都添加上时间标识,再根据添加了时间标识的具有准确文本内容的第二文本内容生成字幕。由于第二文本内容是基于原始文本内容得到的准确的文本内容,因此将第二文本内容添加上对应的时间标识后所生成的字幕数据,不存在文本内容错误的问题,更加准确。
在一个实施例中,该字幕数据生成方法还包括:获取原始文本内容中的附属信息,附属信息为原始文本内容中不发声但有利于对第二文本内容的理解的信息。
本实施例中,根据添加了第一时间标识和第二时间标识的第二文本内容生成第二字幕数据,包括:根据添加了第一时间标识和第二时间标识的第二文本内容以及附属信息生成第二字幕数据。
具体地,原始文本内容中还包括附属信息,附属信息为原始文本内容中不发声但有利于对第二文本内容的理解的信息。即附属信息是与对第二文本内容的理解有帮助的非音频信息。附属信息可以包括发声对象信息(如发声对象名称),还可以包括情景描述信息、段落信息等。可以理解,发声对象信息、情景描述信息以及段落信息都是可以有利于对第二文本内容的理解的信息。
比如,广播剧原始的剧本内容为:
旁白:红红在妈妈的怀抱中进入了甜蜜的梦乡。
红红:【滚下床】(大呼)啊!
其中,“红红在妈妈的怀抱中进入了甜蜜的梦乡”以及“啊!”是对应的需发声的文本内容。而“旁白”、“红红”不发声的但是可以表明发声对象,使大家可以结合发声对象信息更好地理解文本内容,可以作为附属信息。进一步,附属信息也可以包括“滚下床”、“大呼”等这类无声的起形容描述作用的词以及段落信息等。附属信息的具体类型要根据实际字幕需求来确定。本发明实施例仅用于说明,原始文本内容中包含不发声但有利于对第二文本内容的理解的附属信息。
因此,服务器还会获取附属信息,在完成对需发声的第二文本内容中时间标识的添加之后,服务器会根据添加了第一时间标识和第二时间标识的第二文本内容以及附属信息生成第二字幕数据。具体地,服务器会将添加了第一时间标识和第二时间标识的第二文本内容和附属信息一起作输出转换,转换成字幕格式得到第二字幕数据。
进一步,服务器在获取附属信息的时候,会将获取的第二文本内容与附属信息的相对位置关系做保留。比如,通过一个数据结构保留第二文本内容与附属信息的相对位置关系,如“旁白:红红在妈妈的怀抱中进入了甜蜜的梦乡。”,那么就可以通过以下数据结构表示:
其中,text中的内容即为提取的第二文本内容,speaker、newline等内容即为附属信息。
服务器根据保留的附属信息与第二文本内容之间的相对位置关系,将添加了第一时间标识和第二时间标识的第二文本内容和附属信息一起作输出转换,即输出转换的附属信息和添加了第一时间标识和第二时间标识的第二文本内容与原始文本内容中的相对位置保持一致,进而生成第二字幕数据。如图4所示,图4为一个实施例中的生成的第二字幕数据在终端显示的界面示意图。
比如,广播剧原始的剧本内容为:
旁白:红红在妈妈的怀抱中进入了甜蜜的梦乡。
红红:【滚下床】(大呼)啊!
妈妈:【立马起身】孩子,没有摔伤吧?
红红:【揉着腿】妈妈,没事
那么,根据第二文本内容和附属信息生成的第二字幕数据在终端界面显示的内容即如图4所示。其中“旁白:”、“妈妈:”“红红:”即为附属信息。
可以理解,服务器可以在提取第二文本内容的同时,提取出附属信息。具体地,获取预设的过滤逻辑公式,根据预设的过滤逻辑公式提取出原始文本内容中的需发声的第二文本内容和附属信息。根据预设的过滤逻辑公式自动获取需发声的第二文本内容和附属信息,不需要手动的准备第二文本内容和附属信息,提高了效率,进而提高了第二字幕数据生成的效率。此外,服务器也可以在生成第二字幕数据之前时,获取对应的附属信息,本发明实施例对此并不做限定。
本实施例中,将需发声的第二文本内容和附属信息一起输出转换成第二字幕数据,使生成的第二字幕数据更加的有利于用户理解文本内容,增强了第二字幕数据的完整性,提高了第二字幕数据的表达力。
在一个实施例中,提取第二文本内容和第一文本内容相匹配的文本内容包括:将第一文本内容和第二文本内容分别根据字符划分得到对应的第一文本序列和第二文本序列,提取第一文本序列和第二文本序列的第一最长公共子序列的步骤。
本实施例中,服务器可以将第一文本内容根据字符划分得到对应的第一文本序列,以及将第二文本内容根据字符划分得到第二文本序列。结合前文举例说明,第一文本内容为“历史的车轮找李隆隆而过”,第二文本内容为“历史的车轮照例隆隆而过”,那么第一文本序列则为“历,史,的,车,轮,找,李,隆,隆,而,过”,第二文本序列则为“历,史,的,车,轮,照,例,隆,隆,而,过”。
进一步,提取第一文本序列和第二文本序列的第一最长公共子序列。
其中,最长公共子序列(The longest common subsequence)指一个序列,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则该序列称为已知序列的最长公共子序列。这里用“第一”对“最长公共子序列”不作任何限定,仅是为了与下文中的“第二”最长公共子序列进行区别开来。第一最长公共子序列表示第一文本序列和第二文本序列的最长公共子序列,下文中所述的第二最长公共子序列表示第一文本子序列和第二文本子序列的最长公共子序列。
具体地,服务器可以通过蛮力法进行第一文本序列和第二文本序列的第一最长公共子序列。即通过枚举第一文本序列的每一个子序列,检查是否为第二文本序列的子序列,从而确定其是否为第一文本序列和第二文本序列的公共子序列,并选出最长的公共子序列作为本实施例中的第一最长公共子序列。
此外,服务器也可以根据动态规划算法进行第一文本序列和第二文本序列的第一最长公共子序列的计算。
其中,可以是,根据动态规划算法求出第一文本序列与第二文本序列中完全相同的最长公共子序列,即第一最长公共子序列。
也可以是,根据动态规划算法进行第一文本序列和第二文本序列进行第一最长公共子序列的模糊计算。即指将第二文本序列与第一文本序列中通过动态规划算法进行匹配时,作匹配两个文本序列相同或者近似等同,则判定这两个文本序列相匹配,即可作为第二文本序列与第一文本序列的公共子序列。
其中,近似等同,可以当两个作匹配的文本序列的发音相同,或者发音近似相同的情况下(比如前鼻音与后鼻音、或者平舌或翘舌等可以认为是近似相同),判定这两个作匹配的文本序列近似等同。
进一步,可以按照动态规划状态迁移方程进行第一最长公共子序列的计算:
if similar(str_1[i],str_2[j])=True:
Score[i,j]=max(Score[i-1,j]),Score[i,j-1],Score[i-1,j-1]+1)
else:
Score[i,j]=max(Score[i-1,j]),Score[i,j-1])
其中,str_1为第一文本序列,str_2为第二文本序列,i和j分别为str_1和str_2的长度,similar(str_1[i],str_2[j])即指对第一文本序列和第二文本序列作模糊匹配,Score[i,j]即为对匹配的字符个数的计数,即最长公共子序列的长度计数。
进一步,根据得到的Score[i,j]最长公共子序列的长度,结合路径中的公共子序列的节点标记得到最长公共子序列。可以理解,Score[i,j]得到的一个最长公共子序列的长度值可以对应多个最长公共子序列。
本实施例中,将第二文本内容和第一文本内容根据字符划分成对应的第一文本序列和第二文本序列,进而提取第一文本序列和第二文本序列的第一最长公共子序列,能够更快的得到第一文本内容和第二文本内容相匹配的文本内容,提高了匹配效率。且将第一最长公共子序列来作为相匹配的文本内容,使匹配结果更加的准确、全面。
如图5所示,在一个实施例中,提取第一文本序列和第二文本序列的第一最长公共子序列(简称第一最长公共子序列提取步骤)包括以下步骤:
步骤502,将第二文本序列进行按序分段处理得到至少两个有序的第二文本子序列。
本实施例中,可以按照预设规则对第二文本序列进行按序分段处理得到至少两个有序的第二文本子序列。具体地,前文有说明,第一和第二文本序列中包含标点符号,因此可以以标点符号为分段依据,比如,以逗号或者句话为分段依据,又比如,将标点符号达到预设数量的文本序列划分为一个段。还可以是将第二文本序列按照字符个数进行划分,当字符个数达到预设字符数量时,则进行一个分段处理。这里,对具体的分段方式不作限定,只需满足对第二文本序列进行按序分段处理即可。
其中,按序是指将第二文本序列进行分段后的各段第二文本子序列之间是有序的。进而在作匹配处理时,先对分段后的前一个第二文本子序列作匹配,完成之后再对后一个的第二文本子序列作匹配处理。比如第二文本序列={历,史,的,车,轮,呀,照,例,隆,隆,而,过},将其划分为:第一个第二文本子序列={历,史,的,车,轮,呀}和第二个第二文本子序列={照,例,隆,隆,而,过},其中,第一个第二文本子序列与第二个第二文本子序列之间有顺序关系,即在作匹配处理时,先对第一个第二文本子序列作匹配处理,之后再对第二个第二文本子序列作匹配处理。
步骤504,获取与每个第二文本子序列作匹配的第一文本序列中的第一文本子序列,提取第一文本子序列和第二文本子序列的第二最长公共子序列。
具体地,服务器在进行分段处理得到至少两个的第二文本子序列之后,会从第一文本序列中获取与每个第二文本子序列作匹配的对应的第一文本子序列。可以是从第一文本序列中选取与第二文本子序列的长度一致的文本序列作为第一文本子序列,也可以是通过惩罚函数选取出与第二文本子序列匹配率最高的文本序列作为第一文本子序列。本实施例对此不作限定。
进一步,服务器会提取第二文本子序列和获取的对应的第一文本子序列的第二最长公共子序列。即分别提取每个第二文本子序列和对应的第一文本子序列的第二最长公共子序列。
可以理解,因为至少两个的第二文本子序列之间是有序的。因此,服务器在从第一文本序列中获取与上一个第二文本子序列作匹配的第一文本子序列,并提取上一个第二文本子序列和获取的对应的第一文本子序列的第二最长公共子序列之后,会继续从第一文本序列中获取与下一个第二文本子序列作匹配的下一个第一文本子序列,同样地提取下一个第二文本子序列和获取的对应的下一个第一文本子序列的第二最长公共子序列。
比如,第一个第二文本子序列={历,史,的,车,轮,呀}和第二个第二文本子序列={照,例,隆,隆,而,过},第一文本序列={历,史,的,车,轮,呀,找,李,隆,隆,而,过},那么获取的与第一个第二文本子序列={历,史,的,车,轮,呀}作匹配的第一个第一文本子序列可以是{历,史,的,车,轮,呀},提取第一个第二文本子序列与第一个第一文本子序列的最长公共子序列之后,再从第一文本子序列中选取与第二个第二文本子序列={照,例,隆,隆,而,过}作匹配的第二个第一文本子序列,可以是{找,李,隆,隆,而,过},进而再提取第二个第二文本子序列和第二个第一文本子序列的最长公共子序列。
同样地可以理解,提取至少两个有序的第二文本子序列与对应的第一文本子序列的最长公共子序列之后,得到至少两个的第二最长公共子序列之间是有序的。
步骤506,将第二最长公共子序列按序组成第一最长公共子序列。
进一步,将经过步骤504处理后所得到的有序的所有第二最长公共子序列按序组合,组成第一最长公共子序列。
本实施例中,将第二文本序列进行按序分段处理得到至少两个有序的第二文本子序列,从第一文本序列中选取与第二文本子序列作匹配的第一文本子序列,提取第一文本子序列与第二文本子序列的第二最长公共子序列,进而将所有的第二最长公共子序列按序组合得到第一最长公共子序列。通过分段处理,在将当前的第二文本子序列和第一文本子序列进行匹配计算时,不需要上一个第二文本子序列及上一个第一文本子序列参与匹配计算,节省了匹配处理的计算步骤,提高了匹配速度。
如图6所示,在一个实施例中,获取与第二文本子序列作匹配的第一文本序列中的第一文本子序列(简称第一文本子序列获取步骤)包括以下步骤:
步骤602,当第二文本子序列为第一个第二文本子序列时,将第一文本序列的起点作为选取参照文本子序列的起始点。
步骤604,当第二文本子序列不为第一个第二文本子序列时,根据上一个获取的第一文本子序列的终点确定第一文本序列中选取参照文本子序列的起始点。
可以理解,如步骤502中所述,第二文本子序列是至少两个的有序的序列,因此,对应的,获取的与第二文本子序列作匹配的第一文本子序列也是至少两个的有序的序列。
当第二文本子序列为第一个第二文本子序列时,则将第一文本序列的起点作为选取参照文本子序列的起始点。比如,第一文本序列是ASDFGHJ,则将A作为选取参照文本子序列的起始点。
当第二文本子序列不为第一个第二文本子序列时,则说明已经从第一文本序列中获取了与上一个第二文本子序列作匹配的第一文本子序列,即已经获取了上一个第一文本子序列。则根据上一个获取的第一文本子序列的终点确定第一文本序列中选取参照文本子序列的起始点,具体地,将第一文本序列中与上一个获取的第一文本子序列的终点对应位置后的第一个序列元素作为获取参照文本子序列的起始点。
同样地,比如第一文本序列是ASDFGHJKLNMQ,获取的与上一个第二文本子序列作匹配的第一文本子序列(即上一个第一文本子序列)为ASDF,那么,则将第一文本序列中与ASDF的终点对应位置F后的第一个序列元素G作为选取参照文本子序列的起始点。
步骤606,从确定的起始点开始从第一文本序列中选取长度大于第二文本子序列的连续的参照文本子序列。
进一步,服务器会从第一文本序列中所确定起始点开始选取长度大于第二文本子序列的连续的参照文本子序列。具体地,可以根据预设规则从第一文本序列中所确定起始点开始选取长度大于第二文本子序列的连续的参照文本子序列。比如,选取的参照文本子序列的长度是第二文本子序列的长度的预设倍数,或者是第二文本子序列长度与预设长度之和。还可以是第二文本子序列的长度的预设倍数与动态调整参数之积。其中,动态调整参数的值可以根据第二文本子序列的长度来进行动态变换。
步骤608,对参照文本子序列和第二文本子序列进行最长公共子序列的长度的计算,根据计算结果从参照文本子序列中选取与第二文本子序列匹配率最高的文本子序列作为第一文本子序列。
具体地,服务器在选取参照文本子序列之后,会按照动态规划算法对参照文本子序列和第二文本子序列进行两者的最长公共子序列的长度计算。其中,在计算过程中,会计算得到在对所选取的参照文本子序列进行不同长度取值时,所对应的与第二文本子序列相匹配的序列元素的个数。具体地,会生成一个根据参照文本子序列和第二文本子序列组成的二维数组。根据这个二维数组进行最长公共子序列的长度的计算。进一步,在根据二维数组计算最长公共子序列的长度的过程中,会计算得到在对所选取的参照文本子序列进行不同长度取值时,所对应的与第二文本子序列相匹配的序列元素的个数。
进一步,服务器会根据所得到的相匹配的序列元素个数,分别计算对所选取的参照文本子序列进行不同长度取值时,与第二文本子序列的匹配率。进而,确定对所选取的参照文本子序列取多少的长度值时,与第二文本子序列的匹配率最高。
现举例对上述步骤进行解释说明。如图7所示,图7为一个实施例中按照动态规划算法对参照文本子序列和第二文本子序列进行最长公共子序列的长度的计算的结果示意图,其中竖直方向表示的是第二文本子序列(简称S1)的各个序列元素,水平方向表示的是参照文本子序列(简称S2)的各个序列元素,S1={A,B,C,B,D}和S2={B,D,C,A,B,A}。
其中,i和j表示的是序列长度。当i=5(即第二文本子序列S1={A,B,C,B,D})时,对应的这一行的数据可以看出,当j=1时,S2={B},S1与S2所匹配上的字符个数为1个,当j=2时,S2={B,D},S1与S2所匹配上的字符个数为2个,当j=3时,S2={B,D,C},S1与S2所匹配上的字符个数为2个……当j=6时,S2={B,D,C,A,B,A},S1与S2所匹配上的字符个数为3个。
进一步,会计算j取多长时,所对应的S2与S1的匹配率最高。其中,将对参照文本子序列进行长度取值后得到的序列简称为取值文本子序列,那么,匹配率则根据第二文本子序列与取值文本子序列的最长公共子序列的长度与第二文本子序列与取值文本子序列的长度和的比值得到。
具体地,match_rate=len(LCS(segment(LST_ASR参),segment(LST_TXT)))*2/(len(segment(LST_ASR参))+len(segment(LST_TXT)))。
其中,match_rate即为匹配率,LST_TXT即为第二文本序列,segment(LST_TXT)即为第二文本子序列,LST_ASR参即为参照文本子序列,segment(LST_ASR参)即为取值文本子序列。
比如,j=1时,匹配率=1×2/(5+1)=1/3,j=2时,匹配率=2*2/(5+2)=4/7……以此依次计算出各个匹配率,从中确定最高的匹配率。
进一步,从参照文本序列中选取匹配率最高的文本子序列,即为确定出的与第二文本子序列作匹配的第一文本子序列。结合图7,即选取匹配率最高为j=5时,匹配率=2*3/(5+5)=0.6,该最高匹配率对应的文本子序列S2={B,D,C,A,B},则从参照文本序列中选取{B,D,C,A,B}作为确定出的与第二文本子序列作匹配的第一文本子序列。
可以理解,会在第一文本序列中对应标记上第一文本子序列的位置,以便下一个参照文本子序列的选取起始点的确定。
本实施例中,根据参照文本子序列和第二文本子序列选取出匹配率最高的第一文本子序列,使所选取与第二文本子序列作匹配的第一文本子序列的长度更加合适,避免出现由于选取的第一文本子序列过长造成过拟合,而降低匹配结果的准确性。同时也避免了由于先前的第一文本子序列过短造成第二文本子序列中过多内容匹配不到,而降低匹配结果的准确性。
在其它实施例中,可以用以下步骤替代步骤608:对参照文本子序列进行不同长度的取值,计算各个不同长度取值得到的文本序列与第二文本子序列的匹配率,从参照文本子序列中选取与第二文本子序列匹配率最高的文本序列作为第一文本子序列。
具体地,可以按照预设间隔值对参照文本子序列进行不同长度的取值,预设间隔值根据实际需要确定,可以是1也可以是非1的正整数。
比如,第二文本子序列(简称S1)S1={A,B,C,B,D},参照文本子序列(简称S2)S2={B,D,C,A,B,A},对参照文本子序列进行不同长度取值可以分别得到序列S21={B},S22={B,D}……S25={B,D,C,A,B},S26={B,D,C,A,B,A},分别计算S21、S22……S25、S26与S1的匹配率,从中确定出S25与S1的匹配率最高,进而从参照文本子序列中选取与S25对应的文本序列作为第一文本子序列。
在一个实施例中,提取第一文本序列和第二文本序列的第一最长公共子序列包括:将第一文本序列和第二文本序列中的中文字符转换成拼音,将转换后的第一文本序列和第二文本序列以拼音为最小单位进行匹配处理,得到第一文本序列和第二文本序列的第一最长公共子序列的步骤。
具体地,可以指将作匹配的第一文本序列和第二文本序列中的中文字符转换成拼音。将转换后的第一文本序列和第二文本序列以拼音为最小单位进行匹配处理,即将转换后的拼音作为一个整体进行匹配,第二文本序列和第一文本序列的第一最长公共子序列。
比如,第二文本序列={照,例,隆,隆,而,过},第一文本序列={找,李,隆,隆,而,过},那么将第二文本序列和第一文本序列中的中文字符转换成拼音,得到第二文本序列={zhao,li,long,long,er,guo},第一文本序列={zhao,li,long,long,er,guo}。进一步,以拼音为最小单位进行匹配处理,即将“zhao”或“li”等转换后的拼音作为一个整体进行匹配,比如将第二文本序列中的“zhao”作为一个整体与第一文本序列中的“zhao”做匹配。
本实施例中,将中文字符转换成拼音后,以拼音为单位进行匹配处理,避免了因自动语音识别时字词挑选错误造成的匹配不成功,然而这些发音相同的字词所对应的第一时间标识往往是可以作为参考的,因此在提高匹配率的同时,提高了匹配结果的可参考性,价值性。
进一步,服务器会将第二文本序列中作匹配处理后的拼音还原回中文字符。需要说明的是,这里指将之前由中文字符转换成的拼音转换回中文字符,对原先就是拼音形式或者英文形式的文本内容不需要转换成中文字符。
可以理解,在其它实施例中,在提取第一文本子序列和第二文本子序列的第二最长公共子序列的时候,也可以使用上述方法,只需将上述步骤的第一文本序列替换为第一文本子序列,将第二文本序列替换为第二文本子序列,第一最长公共子序列替换为第二最长公共子序列即可。
在一个实施例中,将转换后的第一文本序列和第二文本序列以拼音为最小单位进行匹配处理包括:当待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中的第二拼音的字母数超过第一预设阈值时,则判断第一拼音和第二拼音是否近似等同或相同。若是,则判定两个待匹配的拼音相匹配,若否,则判定两个待匹配的拼音不匹配。
具体地,可以是当待匹配的第一文本序列中的第一拼音(可简称第一拼音)中的字母数超过预设的字母数阈值时,则进一步判断第一拼音和第二拼音是否近似等同或相同。也可以是,当待匹配的第二文本序列中的第二拼音(可简称第二拼音)中的字母数是否超过预设的字母数阈值时,则进一步判断第一拼音和第二拼音是否近似等同或相同。还可以是,当第一拼音和第二拼音两个的字母总数是否超过预设的字母数阈值时,则进一步判断第一拼音和第二拼音是否近似等同或相同。本发明实施例对具体以哪个文本序列中的拼音字母数作为判断依据不作限定,只用于表明,当待匹配的文本序列中的拼音的字母数过长时(即超过预设字母数阈值时),则进一步判断第一拼音和第二拼音是否近似等同或相同。可以理解,这里对具体的预设字母数阈值不作限定。
进一步,可以根据第一拼音和第二拼音的编辑距离和/或字符个数差值来判断第一拼音和第二拼音是否近似等同或相同。
本实施例中,当待匹配的拼音字母数超过预设值时,即字母数过多时,可以通过判断第一拼音和第二拼音之间是否相同或近似等同,来判定两者是否相匹配。避免了因自动语音识别时因发音问题造成的匹配不成功,然而这些发音相同或近似等同的字词所对应的第一时间标识往往是可以作为参考的,因此在提高匹配率的同时,提高了匹配结果的可参考性,价值性。
可以理解,在其它实施例中,在提取第一文本子序列和第二文本子序列的第二最长公共子序列的时候,也可以使用上述方法,只需将上述步骤的第一文本序列替换为第一文本子序列,将第二文本序列替换为第二文本子序列,第一最长公共子序列替换为第二最长公共子序列即可。
在一个实施例中,将转换后的第一文本序列和第二文本序列以拼音为最小单位进行匹配处理包括:当待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中的第二拼音的字母数超过第一预设阈值时,则计算第一拼音与第二拼音之间的编辑距离,当第一拼音和第二拼音之间的编辑距离未超出第二预设阈值时,则判定第一拼音和第二拼音相匹配。
编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。
具体地,服务器中预先设置了第二预设阈值。当待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中的第二拼音的字母数超过第一预设阈值时,则计算第一拼音和第二拼音之间的编辑距离,当第一拼音和第二拼音之间的编辑距离小于或等于第二预设阈值时,则判定第一拼音和第二拼音相匹配。当第一拼音和第二拼音之间的编辑距离大于第二预设阈值时,则判定第一拼音和第二拼音不匹配。
比如,第二拼音是“shi”,第一拼音是“si”,则很有可能是由于发声多媒体文件中发声人的发音受方言影响,将“shi”发成了“si”,这样进行自动语音识别处理时得到的就是“si”,就会出现识别错误。为了避免这种情况发生,可以根据编辑距离来进行模糊近似匹配,比如正确读音“shi”和错误读音“si”之间的编辑距离仅为1,比如预设的编辑距离为2,那么小于预设编辑距离,则可以判定第一拼音和第二拼音相匹配。可以理解,这里只是发音习惯的不同,“si”对应的时间标识还是可以作为“shi”对应的时间标识的参考的,因此,si与shi是近似等同,可以判定两者相匹配。
本实施例中,通过第一拼音和第二拼音的编辑距离来判断两个拼音之间是否相同或近似等同,以判定两者是否相匹配。使判定结果更加的准确,进而,提高了匹配结果的可参考性,价值性。
可以理解,在其它实施例中,在提取第一文本子序列和第二文本子序列的第二最长公共子序列的时候,也可以使用上述方法,只需将上述步骤的第一文本序列替换为第一文本子序列,将第二文本序列替换为第二文本子序列,第一最长公共子序列替换为第二最长公共子序列即可。
在一个实施例中,将转换后的第一文本序列和第二文本序列以拼音为最小单位进行匹配处理包括:当待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中的第二拼音的字母数超过第一预设阈值时,则计算第一拼音与第二拼音之间的字母数差值,当第一拼音和第二拼音之间的字母数差值未超出第三预设阈值时,则判定第一拼音和第二拼音相匹配。
具体地,服务器中预先设置了第三预设阈值。当待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中的第二拼音的字母数超过第一预设阈值时,则计算第一拼音与第二拼音之间的字母数差值。将计算得到的字母数差值与第三预设阈值作比较,当第一拼音和第二拼音之间的字母数差值小于或等于第三预设阈值时,则判定第一拼音和第二拼音相匹配。当第一拼音和第二拼音之间的字母数差值大于第三预设阈值时,则判定第一拼音和第二拼音不匹配。
比如,比如,第二拼音是“shi”,字母数为3,第一拼音是“si”字母数为2,第三预设阈值为1,那么计算得到字母数差值为1,等于第三预设阈值1,因此,因此,si与shi是近似等同,判定两者相匹配。
本实施例中,通过第一拼音和第二拼音的字母数差值来判断两个拼音之间是否相同或近似等同,以判定两者是否相匹配。使判定结果更加的准确,进而,提高了匹配结果的可参考性,价值性。
可以理解,在其它实施例中,在提取第一文本子序列和第二文本子序列的第二最长公共子序列的时候,也可以使用上述方法,只需将上述步骤的第一文本序列替换为第一文本子序列,将第二文本序列替换为第二文本子序列,第一最长公共子序列替换为第二最长公共子序列即可。
在其它实施例中,可以将第一拼音和第二拼音之间的编辑距离与第二预设阈值的判断和将第一拼音和第二拼音之间的字母数差值与第三预设阈值的判断相结合。比如,可以是,当第一拼音和第二拼音之间的字母数差值未超出第三预设阈值时,则进一步判断第一拼音和第二拼音之间的编辑距离是否未超出第二预设阈值,若是,则判定第一拼音和第二拼音相匹配,若否,则判定第一拼音和第二拼音不匹配。还可以是,当第一拼音和第二拼音之间的编辑距离未超出第二预设阈值时,则进一步判断第一拼音和第二拼音之间的字母数差值是否未超出第三预设阈值,若是,则判定第一拼音和第二拼音相匹配,若否,则判定第一拼音和第二拼音不匹配。经过多重判断,使判定结果更加的准确,进而,提高了匹配结果的可参考性,价值性。
如图8所示,在一个实施例中,根据平均语速为第二文本内容中未添加上第一时间标识的文本内容计算并添加上第二时间标识(第二时间标识确定步骤)包括:
步骤802,获取预设的文本内容与文字数量之间的等同转化关系,根据等同转化关系,将第二文本内容中未添加上第一时间标识的文本内容归一转化成对应的文字数量。
具体地,服务器中预先设置了文本内容与文字数量之间的等同转化关系。其中,文本内容包括文字、标点符号、段落等多种不同类型的内容。其中,不同的标点符号所等同转化的文字数量可以有所不同,具体根据各个标点符号停顿时间的长短来设置对应的等同转化的文字数量。比如,句号对应的等同转化的文字数量为2个,逗号对应的等同转化的文字数量为1个。
进一步,根据该等同转化关系,将第二文本内容中未添加上第一时间标识的文本内容归一转化成对应的文字数量。比如,第二文本内容为“时间从来不会以人们的意念为转移,历史的车轮照例隆隆而过”,其中,未添加上第一时间标识的文本内容为“转移,历史”,那么根据预设的文本内容与文字数量之间的等同转化关系,各个文字对应的文字数量为1,逗号对应的文字数量也为1,那么将未添加上第一时间标识的文本内容归一转化成所对应的文字数量为5。
步骤804,根据归一转化的文字数量及平均语速为第二文本内容中未添加上第一时间标识的文本内容添加上所对应的第二时间标识。
进一步,根据归一转化的文字数量及平均语速为第二文本内容中未添加上第一时间标识的文本内容添加上所对应的第二时间标识。
可以理解,平均语速为单位时间内所经过的文字数量,那么根据平均语速和归一转化后的文字数量可以计算出第二文本内容中未添加上第一时间标识的文本内容所对应的时间标识,即为第二时间标识。进一步,为第二文本内容中未添加上第一时间标识的文本内容添加上计算出来的第二时间标识。
本实施例中,通过将未添加上第一时间标识的文本内容归一转化成对应的文字数量,根据归一转化的文字数量和平均语速为未添加上第一时间标识的文本内容添加上对应的第二时间标识。通过将归一转化和平均语速相结合生成第二时间标识,使第二时间标识和第一时间标识的衔接过渡更加的平稳、自然,避免了极大的跳跃性或滞顿性。
如图9所示,提供了一种字幕数据生成装置,该装置包括:获取模块902,提取模块904,时间标识添加模块906以及字幕数据生成模块908,其中:
获取模块902,用于获取对发声多媒体文件经过自动语音识别处理得到的第一字幕数据中的第一文本内容和对应的第一时间标识,以及获取发声多媒体文件对应的原始文本内容中的需发声的第二文本内容。
提取模块904,用于提取第二文本内容和第一文本内容相匹配的文本内容;
时间标识添加模块906,用于查找相匹配的文本内容在第一文本内容中对应的第一时间标识,为第二文本内容中与相匹配的文本内容对应的文本内容添加上查找到的第一时间标识。
时间标识添加模块906还用于根据第一文本内容和对应的第一时间标识计算出平均语速,根据平均语速为第二文本内容中未添加上第一时间标识的文本内容添加上第二时间标识。
字幕数据生成模块908,用于根据添加了第一时间标识和第二时间标识的第二文本内容生成第二字幕数据。
上述字幕数据生成装置,根据自动语音识别出的文本内容所具有的时间标识为具有准确文本内容的原始文本中需发声的第二文本内容中相匹配的文本内容添加上对应的第一时间标识,再根据自动语音识别出的文本内容及第一时间标识计算出平均语速,根据平均语速为未添加上时间标识的文本内容添加上第二时间标识。这样,使具有准确文本内容的需发声的第二文本内容都添加上时间标识,再根据添加了时间标识的具有准确文本内容的第二文本内容生成字幕。由于第二文本内容是基于原始文本内容得到的准确的文本内容,因此将第二文本内容添加上对应的时间标识后所生成的字幕数据,不存在文本内容错误的问题,更加准确。
在一个实施例中,获取模块902还用于获取原始文本内容中的附属信息,附属信息为原始文本内容中不发声但有利于对第二文本内容的理解的信息;
字幕数据生成模块908还用于根据添加了第一时间标识和第二时间标识的第二文本内容以及附属信息生成第二字幕数据。
在一个实施例中,提取模块904还用于将第一文本内容和第二文本内容分别根据字符划分得到对应的第一文本序列和第二文本序列;提取第一文本序列和第二文本序列的第一最长公共子序列。
在一个实施例中,提取模块904还用于将第二文本序列进行按序分段处理得到至少两个有序的第二文本子序列;获取与每个第二文本子序列作匹配的第一文本序列中的第一文本子序列,提取第一文本子序列和第二文本子序列的第二最长公共子序列;将第二最长公共子序列按序组成第一最长公共子序列。
如图10所示,在一个实施例中,提取模块904还包括:
起始点选取模块1002,用于当第二文本子序列为第一个第二文本子序列时,将第一文本序列的起点作为选取参照文本子序列的起始点;当第二文本子序列不为第一个第二文本子序列时,根据上一个获取的第一文本子序列的终点确定第一文本序列中选取参照文本子序列的起始点。
参照文本子序列确定模块1004,用于从确定的起始点开始从第一文本序列中选取长度大于第二文本子序列的连续的参照文本子序列。
第一文本子序列确定模块1006,用于对参照文本子序列和第二文本子序列进行最长公共子序列的长度的计算,根据计算结果从参照文本子序列中选取与第二文本子序列匹配率最高的文本子序列作为第一文本子序列。
在一个实施例中,提取模块904还用于将第一文本序列和第二文本序列中的中文字符转换成拼音,将转换后的第一文本序列和第二文本序列以拼音为最小单位进行匹配处理,得到第一文本序列和第二文本序列的第一最长公共子序列。
在一个实施例中,提取模块904还用于当待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中的第二拼音的字母数超过第一预设阈值时,则计算第一拼音与第二拼音之间的编辑距离或计算第一拼音与第二拼音之间的字母数差值;当第一拼音与第二拼音之间的编辑距离未超出第二预设阈值或第一拼音与第二拼音之间的字母数差值未超出第三预设阈值时,则判定第一拼音与第二拼音相匹配。
在一个实施例中,时间标识添加模块906还用于获取预设的文本内容与文字数量之间的等同转化关系,根据等同转化关系,将第二文本内容中未添加上第一时间标识的文本内容归一转化成对应的文字数量,根据归一转化的文字数量及平均语速为第二文本内容中未添加上第一时间标识的文本内容添加上所对应的第二时间标识。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种字幕数据生成方法,包括:
获取对发声多媒体文件经过自动语音识别处理得到的第一字幕数据中的第一文本内容和对应的第一时间标识,以及获取所述发声多媒体文件对应的原始文本内容中的需发声的第二文本内容;
提取所述第二文本内容和所述第一文本内容相匹配的文本内容;
查找所述相匹配的文本内容在所述第一文本内容中对应的第一时间标识,为所述第二文本内容中与所述相匹配的文本内容对应的文本内容添加上查找到的第一时间标识;
根据所述第一文本内容和对应的第一时间标识计算出平均语速,根据所述平均语速为所述第二文本内容中未添加上所述第一时间标识的文本内容添加上第二时间标识;
根据添加了所述第一时间标识和所述第二时间标识的第二文本内容生成第二字幕数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取所述原始文本内容中的附属信息,所述附属信息为原始文本内容中不发声但有利于对所述第二文本内容的理解的信息;
所述根据添加了所述第一时间标识和所述第二时间标识的第二文本内容生成第二字幕数据,包括:
根据所述添加了所述第一时间标识和所述第二时间标识的第二文本内容以及所述附属信息生成第二字幕数据。
3.根据权利要求1所述的方法,其特征在于,所述提取所述第二文本内容和所述第一文本内容相匹配的文本内容,包括:
将所述第一文本内容和所述第二文本内容分别根据字符划分得到对应的第一文本序列和第二文本序列;
提取所述第一文本序列和所述第二文本序列的第一最长公共子序列。
4.根据权利要求3所述的方法,其特征在于,所述提取所述第一文本序列和所述第二文本序列的第一最长公共子序列包括:
将所述第二文本序列进行按序分段处理得到至少两个有序的第二文本子序列;
获取与每个所述第二文本子序列作匹配的第一文本序列中的第一文本子序列,提取所述第一文本子序列和所述第二文本子序列的第二最长公共子序列;
将所述第二最长公共子序列按序组成所述第一最长公共子序列。
5.根据权利要求4所述的方法,其特征在于,所述获取与所述第二文本子序列作匹配的第一文本序列中的第一文本子序列,包括:
当所述第二文本子序列为第一个第二文本子序列时,将所述第一文本序列的起点作为选取参照文本子序列的起始点;
当所述第二文本子序列不为第一个第二文本子序列时,根据上一个获取的第一文本子序列的终点确定第一文本序列中选取参照文本子序列的起始点;
从确定的所述起始点开始从所述第一文本序列中选取长度大于所述第二文本子序列的连续的参照文本子序列;
对所述参照文本子序列和所述第二文本子序列进行最长公共子序列的长度的计算,根据计算结果从所述参照文本子序列中选取与第二文本子序列匹配率最高的文本子序列作为所述第一文本子序列。
6.根据权利要求3所述的方法,其特征在于,所述提取所述第一文本序列和所述第二文本序列的第一最长公共子序列,包括:
将所述第一文本序列和所述第二文本序列中的中文字符转换成拼音,将所述转换后的第一文本序列和所述第二文本序列以拼音为最小单位进行匹配处理,得到第一文本序列和所述第二文本序列的第一最长公共子序列。
7.根据权利要求6所述的方法,其特征在于,所述将所述转换后的第一文本序列和所述第二文本序列以拼音为最小单位进行匹配处理,包括:
当待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中的第二拼音的字母数超过第一预设阈值时,则计算所述第一拼音与所述第二拼音之间的编辑距离或计算所述第一拼音与所述第二拼音之间的字母数差值;
当所述第一拼音与所述第二拼音之间的编辑距离未超出第二预设阈值或所述第一拼音与所述第二拼音之间的字母数差值未超出第三预设阈值时,则判定所述第一拼音与所述第二拼音相匹配。
8.根据权利要求1所述的方法,其特征在于,所述根据平均语速为所述第二文本内容中未添加上所述第一时间标识的文本内容计算并添加上第二时间标识,包括:
获取预设的文本内容与文字数量之间的等同转化关系,根据所述等同转化关系,将所述第二文本内容中未添加上所述第一时间标识的文本内容归一转化成对应的文字数量;
根据归一转化的文字数量及所述平均语速为所述第二文本内容中未添加上所述第一时间标识的文本内容添加上所对应的第二时间标识。
9.一种字幕数据生成装置,其特征在于,包括:
获取模块,用于获取对发声多媒体文件经过自动语音识别处理得到的第一字幕数据中的第一文本内容和对应的第一时间标识,以及获取所述发声多媒体文件对应的原始文本内容中的需发声的第二文本内容;
提取模块,用于提取所述第二文本内容和所述第一文本内容相匹配的文本内容;
时间标识添加模块,用于查找所述相匹配的文本内容在所述第一文本内容中对应的第一时间标识,为所述第二文本内容中与所述相匹配的文本内容对应的文本内容添加上查找到的第一时间标识;
所述时间标识添加模块还用于根据所述第一文本内容和对应的第一时间标识计算出平均语速,根据所述平均语速为所述第二文本内容中未添加上所述第一时间标识的文本内容添加上第二时间标识;
字幕数据生成模块,用于根据添加了所述第一时间标识和所述第二时间标识的第二文本内容生成第二字幕数据。
10.根据权利要求9所述的装置,其特征在于,所述获取模块还用于获取所述原始文本内容中的附属信息,所述附属信息为原始文本内容中不发声但有利于对所述第二文本内容的理解的信息;
所述字幕数据生成模块还用于根据所述添加了所述第一时间标识和所述第二时间标识的第二文本内容以及所述附属信息生成第二字幕数据。
11.根据权利要求9所述的装置,其特征在于,所述提取模块还用于将所述第一文本内容和所述第二文本内容分别根据字符划分得到对应的第一文本序列和第二文本序列;提取所述第一文本序列和所述第二文本序列的第一最长公共子序列。
12.根据权利要求11所述的装置,其特征在于,所述提取模块还用于将所述第二文本序列进行按序分段处理得到至少两个有序的第二文本子序列;获取与每个所述第二文本子序列作匹配的第一文本序列中的第一文本子序列,提取所述第一文本子序列和所述第二文本子序列的第二最长公共子序列;将所述第二最长公共子序列按序组成所述第一最长公共子序列。
13.根据权利要求12所述的装置,其特征在于,所述提取模块还包括:
起始点选取模块,用于当所述第二文本子序列为第一个第二文本子序列时,将所述第一文本序列的起点作为选取参照文本子序列的起始点;当所述第二文本子序列不为第一个第二文本子序列时,根据上一个获取的第一文本子序列的终点确定第一文本序列中选取参照文本子序列的起始点;
参照文本子序列确定模块,用于从确定的所述起始点开始从所述第一文本序列中选取长度大于所述第二文本子序列的连续的参照文本子序列;
第一文本子序列确定模块,用于对所述参照文本子序列和所述第二文本子序列进行最长公共子序列的长度的计算,根据计算结果从所述参照文本子序列中选取与第二文本子序列匹配率最高的文本子序列作为所述第一文本子序列。
14.根据权利要求11所述的装置,其特征在于,所述提取模块还用于
将所述第一文本序列和所述第二文本序列中的中文字符转换成拼音,将所述转换后的第一文本序列和所述第二文本序列以拼音为最小单位进行匹配处理,得到第一文本序列和所述第二文本序列的第一最长公共子序列。
15.根据权利要求14所述的装置,其特征在于,所述提取模块还用于当待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中的第二拼音的字母数超过第一预设阈值时,则计算所述第一拼音与所述第二拼音之间的编辑距离或计算所述第一拼音与所述第二拼音之间的字母数差值;当所述第一拼音与所述第二拼音之间的编辑距离未超出第二预设阈值或所述第一拼音与所述第二拼音之间的字母数差值未超出第三预设阈值时,则判定所述第一拼音与所述第二拼音相匹配。
16.根据权利要求9所述的装置,其特征在于,所述时间标识添加模块还用于获取预设的文本内容与文字数量之间的等同转化关系,根据所述等同转化关系,将所述第二文本内容中未添加上所述第一时间标识的文本内容归一转化成对应的文字数量,根据归一转化的文字数量及所述平均语速为所述第二文本内容中未添加上所述第一时间标识的文本内容添加上所对应的第二时间标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610355247.4A CN105931641B (zh) | 2016-05-25 | 2016-05-25 | 字幕数据生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610355247.4A CN105931641B (zh) | 2016-05-25 | 2016-05-25 | 字幕数据生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105931641A true CN105931641A (zh) | 2016-09-07 |
CN105931641B CN105931641B (zh) | 2020-11-10 |
Family
ID=56842092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610355247.4A Active CN105931641B (zh) | 2016-05-25 | 2016-05-25 | 字幕数据生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105931641B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769552A (zh) * | 2018-05-14 | 2018-11-06 | 安徽工程大学 | 新闻视频制作过程中字幕制作方法 |
CN108959163A (zh) * | 2018-06-28 | 2018-12-07 | 掌阅科技股份有限公司 | 有声电子书的字幕显示方法、电子设备及计算机存储介质 |
WO2019120248A1 (zh) * | 2017-12-20 | 2019-06-27 | 北京君林科技股份有限公司 | 一种将语音转换为文字的方法、装置及系统 |
CN110781649A (zh) * | 2019-10-30 | 2020-02-11 | 中央电视台 | 一种字幕编辑方法、装置及计算机存储介质、电子设备 |
CN112652329A (zh) * | 2020-11-10 | 2021-04-13 | 北京字跳网络技术有限公司 | 文本重对齐方法、装置、电子设备和存储介质 |
CN114205665A (zh) * | 2020-06-09 | 2022-03-18 | 北京字节跳动网络技术有限公司 | 一种信息处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004008344A1 (en) * | 2002-07-09 | 2004-01-22 | Laboratories For Information Technology | Annotation of digital images using text |
US20080052069A1 (en) * | 2000-10-24 | 2008-02-28 | Global Translation, Inc. | Integrated speech recognition, closed captioning, and translation system and method |
CN102324191A (zh) * | 2011-09-28 | 2012-01-18 | Tcl集团股份有限公司 | 一种有声读物逐字同步显示方法及系统 |
CN103559214A (zh) * | 2013-10-11 | 2014-02-05 | 中国农业大学 | 视频自动生成方法及装置 |
-
2016
- 2016-05-25 CN CN201610355247.4A patent/CN105931641B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080052069A1 (en) * | 2000-10-24 | 2008-02-28 | Global Translation, Inc. | Integrated speech recognition, closed captioning, and translation system and method |
WO2004008344A1 (en) * | 2002-07-09 | 2004-01-22 | Laboratories For Information Technology | Annotation of digital images using text |
CN102324191A (zh) * | 2011-09-28 | 2012-01-18 | Tcl集团股份有限公司 | 一种有声读物逐字同步显示方法及系统 |
CN103559214A (zh) * | 2013-10-11 | 2014-02-05 | 中国农业大学 | 视频自动生成方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019120248A1 (zh) * | 2017-12-20 | 2019-06-27 | 北京君林科技股份有限公司 | 一种将语音转换为文字的方法、装置及系统 |
CN108769552A (zh) * | 2018-05-14 | 2018-11-06 | 安徽工程大学 | 新闻视频制作过程中字幕制作方法 |
CN108959163A (zh) * | 2018-06-28 | 2018-12-07 | 掌阅科技股份有限公司 | 有声电子书的字幕显示方法、电子设备及计算机存储介质 |
CN110781649A (zh) * | 2019-10-30 | 2020-02-11 | 中央电视台 | 一种字幕编辑方法、装置及计算机存储介质、电子设备 |
CN110781649B (zh) * | 2019-10-30 | 2023-09-15 | 中央电视台 | 一种字幕编辑方法、装置及计算机存储介质、电子设备 |
CN114205665A (zh) * | 2020-06-09 | 2022-03-18 | 北京字节跳动网络技术有限公司 | 一种信息处理方法、装置、电子设备及存储介质 |
US20220215841A1 (en) * | 2020-06-09 | 2022-07-07 | Beijing Bytedance Network Technology Co., Ltd. | Information processing method, system, apparatus, electronic device and storage medium |
US11900945B2 (en) * | 2020-06-09 | 2024-02-13 | Beijing Bytedance Network Technology Co., Ltd. | Information processing method, system, apparatus, electronic device and storage medium |
CN112652329A (zh) * | 2020-11-10 | 2021-04-13 | 北京字跳网络技术有限公司 | 文本重对齐方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105931641B (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105931641A (zh) | 字幕数据生成方法和装置 | |
CN105957518B (zh) | 一种蒙古语大词汇量连续语音识别的方法 | |
CN103559214B (zh) | 视频自动生成方法及装置 | |
CN112185337B (zh) | 多语言神经文本到语音合成 | |
US8600752B2 (en) | Search apparatus, search method, and program | |
CN104038804B (zh) | 基于语音识别的字幕同步装置和方法 | |
US8688725B2 (en) | Search apparatus, search method, and program | |
CN107103900A (zh) | 一种跨语言情感语音合成方法及系统 | |
JP2009036999A (ja) | コンピュータによる対話方法、対話システム、コンピュータプログラムおよびコンピュータに読み取り可能な記憶媒体 | |
CN109065032A (zh) | 一种基于深度卷积神经网络的外部语料库语音识别方法 | |
CN106710585B (zh) | 语音交互过程中的多音字播报方法及系统 | |
CN111986656B (zh) | 教学视频自动字幕处理方法与系统 | |
CN112489618A (zh) | 利用多级别上下文特征的神经文本到语音合成 | |
CN106297764A (zh) | 一种多语种混语文本处理方法及系统 | |
Hasegawa-Johnson et al. | Image2speech: Automatically generating audio descriptions of images | |
CN109979257A (zh) | 一种基于英语朗读自动打分进行分拆运算精准矫正的方法 | |
Levin et al. | Automated closed captioning for Russian live broadcasting | |
CN103810993B (zh) | 一种文本注音方法及装置 | |
CN102970618A (zh) | 基于音节识别的视频点播方法 | |
Dall et al. | Redefining the Linguistic Context Feature Set for HMM and DNN TTS Through Position and Parsing. | |
CN106297766B (zh) | 语音合成方法及系统 | |
CN105895076B (zh) | 一种语音合成方法及系统 | |
US11341961B2 (en) | Multi-lingual speech recognition and theme-semanteme analysis method and device | |
Santos et al. | CORAA NURCSP Minimal Corpus: a manually annotated corpus of Brazilian Portuguese spontaneous speech | |
CN103680499A (zh) | 基于语音和字幕同步的高精度识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |