亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

字幕數(shù)據(jù)生成方法和裝置的制造方法

文檔序號:10571092閱讀:255來源:國知局
字幕數(shù)據(jù)生成方法和裝置的制造方法
【專利摘要】本發(fā)明涉及一種字幕數(shù)據(jù)生成方法和裝置,該方法包括:獲取對發(fā)聲多媒體文件經(jīng)過自動語音識別處理得到的第一字幕數(shù)據(jù)中的第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識,以及獲取原始文本內(nèi)容中的需發(fā)聲的第二文本內(nèi)容;提取第二文本內(nèi)容和第一文本內(nèi)容相匹配的文本內(nèi)容;查找相匹配的文本內(nèi)容在第一文本內(nèi)容中對應(yīng)的第一時間標(biāo)識,為第二文本內(nèi)容中與相匹配的文本內(nèi)容對應(yīng)的文本內(nèi)容添加上查找到的第一時間標(biāo)識;根據(jù)第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識計算出平均語速,根據(jù)平均語速為第二文本內(nèi)容中未添加上第一時間標(biāo)識的文本內(nèi)容添加上第二時間標(biāo)識;根據(jù)添加了第一和第二時間標(biāo)識的第二文本內(nèi)容生成第二字幕數(shù)據(jù)。使生成的字幕數(shù)據(jù)更加準(zhǔn)確。
【專利說明】
字幕數(shù)據(jù)生成方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別是涉及一種字幕數(shù)據(jù)生成方法和裝置。
【背景技術(shù)】
[0002] 字蒂,指首視頻文件播放的冋時冋步展不的文本內(nèi)谷,包含歌詞字蒂、對話字蒂 等。準(zhǔn)確的字幕能夠讓人們更好地獲知和理解音視頻作品內(nèi)容。
[0003] 傳統(tǒng)方法中,一般采用兩種方式來進(jìn)行字幕生成,一種是手工編輯制作字幕,一種 是通過ASR(Automatic Speech Recognition,自動語音識別)技術(shù)根據(jù)音視頻文件自動生 成字幕。顯然,對于手工編輯制作字幕來說,在需要完成大量的音頻內(nèi)容的字幕制作時,則 需要投入大量的人力成本,且制作效率非常低。因此,為了提高字幕制作效率,通常采用ASR 技術(shù)對音視頻文件自動生成字幕。
[0004] 然而,在利用ASR技術(shù)對音視頻文件自動生成字幕時,由于受到發(fā)音、口音、背景音 等因素的影響,很可能無法準(zhǔn)確識別語音內(nèi)容,所以自動生成的字幕并不是非常準(zhǔn)確。

【發(fā)明內(nèi)容】

[0005] 基于此,有必要針對上述問題,提供一種能夠在保證制作效率的同時,提高準(zhǔn)確率 的字幕數(shù)據(jù)生成方法和裝置。
[0006] 一種字幕數(shù)據(jù)生成方法,包括:
[0007] 獲取對發(fā)聲多媒體文件經(jīng)過自動語音識別處理得到的第一字幕數(shù)據(jù)中的第一文 本內(nèi)容和對應(yīng)的第一時間標(biāo)識,以及獲取所述發(fā)聲多媒體文件對應(yīng)的原始文本內(nèi)容中的需 發(fā)聲的第二文本內(nèi)容;
[0008] 提取所述第二文本內(nèi)容和所述第一文本內(nèi)容相匹配的文本內(nèi)容;
[0009] 查找所述相匹配的文本內(nèi)容在所述第一文本內(nèi)容中對應(yīng)的第一時間標(biāo)識,為所述 第二文本內(nèi)容中與所述相匹配的文本內(nèi)容對應(yīng)的文本內(nèi)容添加上查找到的第一時間標(biāo)識;
[0010] 根據(jù)所述第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識計算出平均語速,根據(jù)所述平均語 速為所述第二文本內(nèi)容中未添加上所述第一時間標(biāo)識的文本內(nèi)容添加上第二時間標(biāo)識; [0011]根據(jù)添加了所述第一時間標(biāo)識和所述第二時間標(biāo)識的第二文本內(nèi)容生成第二字 幕數(shù)據(jù)。
[0012] 一種字幕數(shù)據(jù)生成裝置,包括:
[0013] 獲取模塊,用于獲取對發(fā)聲多媒體文件經(jīng)過自動語音識別處理得到的第一字幕數(shù) 據(jù)中的第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識,以及獲取所述發(fā)聲多媒體文件對應(yīng)的原始文 本內(nèi)容中的需發(fā)聲的第二文本內(nèi)容;
[0014] 提取模塊,用于提取所述第二文本內(nèi)容和所述第一文本內(nèi)容相匹配的文本內(nèi)容;
[0015] 時間標(biāo)識添加模塊,用于查找所述相匹配的文本內(nèi)容在所述第一文本內(nèi)容中對應(yīng) 的第一時間標(biāo)識,為所述第二文本內(nèi)容中與所述相匹配的文本內(nèi)容對應(yīng)的文本內(nèi)容添加上 查找到的第一時間標(biāo)識;
[0016] 所述時間標(biāo)識添加模塊還用于根據(jù)所述第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識計 算出平均語速,根據(jù)所述平均語速為所述第二文本內(nèi)容中未添加上所述第一時間標(biāo)識的文 本內(nèi)容添加上第二時間標(biāo)識;
[0017] 字幕數(shù)據(jù)生成模塊,用于根據(jù)添加了所述第一時間標(biāo)識和所述第二時間標(biāo)識的第 二文本內(nèi)容生成第二字幕數(shù)據(jù)。
[0018] 上述字幕數(shù)據(jù)生成方法和裝置中,獲取對發(fā)聲多媒體文件經(jīng)過自動語音識別處理 得到的第一字幕數(shù)據(jù)中的第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識,以及獲取發(fā)聲多媒體文件 對應(yīng)的原始文本內(nèi)容中的需發(fā)聲的第二文本內(nèi)容;提取第二文本內(nèi)容和第一文本內(nèi)容相匹 配的文本內(nèi)容;查找相匹配的文本內(nèi)容在第一文本內(nèi)容中對應(yīng)的第一時間標(biāo)識,為第二文 本內(nèi)容中與相匹配的文本內(nèi)容對應(yīng)的文本內(nèi)容添加上查找到的第一時間標(biāo)識。即根據(jù)自動 語音識別出的文本內(nèi)容所具有的時間標(biāo)識為具有準(zhǔn)確文本內(nèi)容的原始文本中需發(fā)聲的第 二文本內(nèi)容中相匹配的文本內(nèi)容添加上對應(yīng)的第一時間標(biāo)識。進(jìn)一步,根據(jù)自動語音識別 出的文本內(nèi)容及第一時間標(biāo)識計算出平均語速,根據(jù)平均語速為未添加上時間標(biāo)識的文本 內(nèi)容添加上第二時間標(biāo)識。這樣,使具有準(zhǔn)確文本內(nèi)容的需發(fā)聲的第二文本內(nèi)容都添加上 時間標(biāo)識,再根據(jù)添加了時間標(biāo)識的具有準(zhǔn)確文本內(nèi)容的第二文本內(nèi)容生成字幕。由于第 二文本內(nèi)容是基于原始文本內(nèi)容得到的準(zhǔn)確的文本內(nèi)容,因此將第二文本內(nèi)容添加上對應(yīng) 的時間標(biāo)識后所生成的字幕數(shù)據(jù),不存在文本內(nèi)容錯誤的問題,更加準(zhǔn)確。
【附圖說明】
[0019] 圖1為一個實施例中字幕數(shù)據(jù)生成方法的應(yīng)用環(huán)境圖;
[0020] 圖2為一個實施例中服務(wù)器的結(jié)構(gòu)示意圖;
[0021 ]圖3為一個實施例中字幕數(shù)據(jù)生成方法的流程示意圖;
[0022]圖4為一個實施例中第二字幕數(shù)據(jù)在終端的顯示的界面示意圖;
[0023] 圖5為一個實施例中第一最長公共子序列提取方法的流程示意圖;
[0024] 圖6為一個實施例中第一文本子序列獲取方法的流程示意圖;
[0025] 圖7為一個實施例中的最長公共子序列的長度計算的結(jié)果示意圖;
[0026] 圖8為一個實施例中第二時間標(biāo)識確定方法的流程示意圖;
[0027] 圖9為一個實施例中字幕數(shù)據(jù)生成裝置的結(jié)構(gòu)示意圖;
[0028] 圖10為一個實施例中提取模塊的結(jié)構(gòu)示意圖。
【具體實施方式】
[0029]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0030]圖1為一個實施例中字幕數(shù)據(jù)生成方法的應(yīng)用環(huán)境圖。如圖1所示,該應(yīng)用環(huán)境包 括服務(wù)器110和終端120。服務(wù)器110對發(fā)聲多媒體文件生成字幕數(shù)據(jù)時,獲取對該發(fā)聲多媒 體文件經(jīng)過自動語音識別處理后的第一字幕數(shù)據(jù),進(jìn)一步獲取第一字幕數(shù)據(jù)中的第一文本 內(nèi)容和對應(yīng)的第一時間標(biāo)識。服務(wù)器110同時獲取預(yù)發(fā)聲多媒體文件對應(yīng)的原始文本內(nèi)容 中需發(fā)聲的第二文本內(nèi)容。進(jìn)一步,服務(wù)器110根據(jù)第一文本內(nèi)容對應(yīng)的第一時間標(biāo)識,為 第二文本中與第一文本內(nèi)容相匹配的文本內(nèi)容添加上對應(yīng)的第一時間標(biāo)識。并根據(jù)第一文 本內(nèi)容和對應(yīng)的第一時間標(biāo)識計算出平均語速,根據(jù)平均語速為第二文本內(nèi)容中未添加上 第一時間標(biāo)識的文本內(nèi)容計算并添加上第二時間標(biāo)識,進(jìn)一步,根據(jù)添加了第一時間標(biāo)識 和第二時間標(biāo)識的第二文本內(nèi)容第二字幕數(shù)據(jù)。當(dāng)終端120在播放發(fā)聲多媒體文件時,會將 服務(wù)器110生成的第二字幕數(shù)據(jù)加配至發(fā)聲多媒體文件中,在終端120的界面上顯示播放加 配了字幕的發(fā)聲多媒體文件。
[0031] 如圖2所示,在一個實施例中,提供了一種服務(wù)器,包括通過系統(tǒng)總線連接的處理 器、非易失性存儲介質(zhì)、內(nèi)存儲器、網(wǎng)絡(luò)接口。其中,服務(wù)器的非易失性存儲介質(zhì)存儲有操作 系統(tǒng),還包括一種字幕數(shù)據(jù)生成裝置,該字幕數(shù)據(jù)生成裝置用于實現(xiàn)一種字幕數(shù)據(jù)生成方 法。該處理器用于提供計算和控制能力,支撐整個服務(wù)器的運行。服務(wù)器中的內(nèi)存儲器為非 易失性存儲介質(zhì)中的字幕數(shù)據(jù)生成裝置的運行提供環(huán)境,該內(nèi)存儲器中可儲存有計算機(jī)可 讀指令,該計算機(jī)可讀指令被所述處理器執(zhí)行時,可使得所述處理器執(zhí)行一種字幕數(shù)據(jù)生 成方法。網(wǎng)絡(luò)接口用于與終端進(jìn)行網(wǎng)絡(luò)通信。本領(lǐng)域技術(shù)人員可以理解,圖2中示出的結(jié)構(gòu), 僅僅是與本申請方案相關(guān)的部分結(jié)構(gòu)的框圖,并不構(gòu)成對本申請方案所應(yīng)用于其上的服務(wù) 器的限定,具體的服務(wù)器可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者 具有不同的部件布置。
[0032] 如圖3所示,在一個實施例中,提供了一種字幕數(shù)據(jù)生成方法,以應(yīng)用于圖1或圖2 中的服務(wù)器為例進(jìn)行舉例說明,包括以下步驟:
[0033]步驟302,獲取對發(fā)聲多媒體文件經(jīng)過自動語音識別處理得到的第一字幕數(shù)據(jù)中 的第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識,以及獲取發(fā)聲多媒體文件對應(yīng)的原始文本內(nèi)容中 的需發(fā)聲的第二文本內(nèi)容。
[0034]本實施例中,發(fā)聲多媒體文件是指可以發(fā)聲的多媒體文件,包括有聲讀物、音視頻 文件和廣播劇等多媒體文件。
[0035]服務(wù)器會預(yù)先獲取對發(fā)聲多媒體文件經(jīng)過自動語音識別處理后的第一字幕數(shù)據(jù)。 進(jìn)一步,獲取第一字幕數(shù)據(jù)中的第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識??梢岳斫?,第一文本 內(nèi)容即為第一字幕文本內(nèi)容。比如,自動語音識別出來的第一字幕數(shù)據(jù)形式為(其中,seql 中對應(yīng)的時間標(biāo)識是句級別時間標(biāo)識,w〇rd2對應(yīng)的時間標(biāo)識是字級別的時間標(biāo)識):
[0036] Seql: 8425 ? 00ms-13225 ? 00ms歷史的車輪找李隆隆而過
[0037] WordO: 9235 ? 00ms-9435 ? 00ms歷史
[0038] W〇rd2:9515?00ms-9595?00ms的
[0039] W〇rd3:9735 ? 00ms-10335 ? 00ms 車輪
[0040] W〇rd4:10855?00ms-10975?00ms找 [0041 ] W〇rd5:11075?00ms-11225?00ms李
[0042] W〇rd6:11295.00ms-11715.00ms 隆隆
[0043] W〇rd7:11895 ? 00ms-12515 ? 00ms 而過
[0044] 進(jìn)一步,提取第一字幕數(shù)據(jù)中的第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識,這里的第 一時間標(biāo)識是最小單位的時間標(biāo)識。比如提取的第一文本內(nèi)容為"歷史的車輪找李隆隆而 過"是一句話,那么獲取的對應(yīng)的第一時間標(biāo)識則是上述語音識別結(jié)果中最小單位的時間 標(biāo)識,即以字或詞為單位的時間標(biāo)識。比如,獲取的是各個字或詞所對應(yīng)的時間標(biāo)識。
[0045] 進(jìn)一步,獲取的可以是各個字或詞所對應(yīng)的起始時間戳。比如"歷史"對應(yīng)的起始 時間戳為"9235.00","的"對應(yīng)的起始時間戳為"9515.00","車輪"對應(yīng)的起始時間戳為 "9735.00"等。也可以是時間段。本發(fā)明實施例對此不作限定。
[0046] 此外,服務(wù)器會獲取原始文本內(nèi)容中的需發(fā)聲的第二文本內(nèi)容(以下簡稱第二文 本內(nèi)容)。這里,原始文本內(nèi)容指針對發(fā)聲多媒體文件所制定的原始文稿內(nèi)容。比如,廣播劇 和有聲小說所具有的劇本內(nèi)容。結(jié)合上述例子,原始文本內(nèi)容為"歷史的車輪照例隆隆而 過。
[0047] 第二文本內(nèi)容即指原始文本中需發(fā)聲的文本內(nèi)容??梢岳斫猓?dāng)原始文本是純發(fā) 聲文稿,則第二文本內(nèi)容指原始文本內(nèi)容本身。
[0048] 當(dāng)原始文本內(nèi)容中包含需發(fā)聲文本內(nèi)容和非發(fā)聲文本內(nèi)容,則第二文本內(nèi)容指原 始文本中的需發(fā)聲文本內(nèi)容。進(jìn)一步,服務(wù)器可以是直接獲取經(jīng)過預(yù)處理后的原始文本內(nèi) 容中的第二文本內(nèi)容。也可以是先獲取原始文本內(nèi)容,然后對原始文本內(nèi)容進(jìn)行預(yù)處理以 提取出其中的第二文本內(nèi)容。具體地,獲取預(yù)設(shè)的過濾邏輯公式,根據(jù)預(yù)設(shè)的過濾邏輯公式 提取出原始文本內(nèi)容中的需發(fā)聲的第二文本內(nèi)容。根據(jù)預(yù)設(shè)的過濾邏輯公式自動提取出需 發(fā)聲的第二文本內(nèi)容,不需要手動的從原始文本內(nèi)容中挑選準(zhǔn)備出第二文本內(nèi)容,提高了 獲取需發(fā)聲第二文本內(nèi)容的效率。
[0049] 本發(fā)明實施例對服務(wù)器如何獲取原始文本內(nèi)容中的第二文本內(nèi)容的具體實現(xiàn)方 式不作限定,只要滿足服務(wù)器能夠獲取原始文本內(nèi)容中的需發(fā)聲的第二文本內(nèi)容即可。
[0050] 需要說明的是,因為自動語音識別處理是可以得到含有標(biāo)點符號的字幕數(shù)據(jù),即 第一字幕數(shù)據(jù)中的第一文本內(nèi)容是包括標(biāo)點符號的,所以本實施例中所獲取的原始文本內(nèi) 容中的需發(fā)聲的第二文本內(nèi)容也是包含原始文本內(nèi)容需發(fā)聲語句前后攜帶的標(biāo)點符號的。 [00511步驟304,提取第二文本內(nèi)容和第一文本內(nèi)容相匹配的文本內(nèi)容。
[0052]步驟306,查找相匹配的文本內(nèi)容在第一文本內(nèi)容中對應(yīng)的第一時間標(biāo)識,為第二 文本內(nèi)容中與相匹配的文本內(nèi)容對應(yīng)的文本內(nèi)容添加上查找到的第一時間標(biāo)識。
[0053]具體地,服務(wù)器會提取出第一文本內(nèi)容和第二文本內(nèi)容中相匹配的文本內(nèi)容。需 要說明的是,這里的相匹配的文本內(nèi)容是指第一文本內(nèi)容中與第二文本內(nèi)容中相同或可以 近似等同的文本內(nèi)容。進(jìn)一步,可以理解,這里相匹配的文本內(nèi)容,可以是多段內(nèi)容按序共 同組成的相匹配的文本內(nèi)容。
[0054]比如,第一文本內(nèi)容為"歷史的車輪找李隆隆而過",第二文本內(nèi)容為"歷史的車輪 照例隆隆而過",那么由"歷史的車輪"和"隆隆而過"共同組成相匹配的文本內(nèi)容"歷史的車 輪隆隆而過"。
[0055] 進(jìn)一步,根據(jù)獲取的第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識,查找所提取的相匹配 的文本內(nèi)容所對應(yīng)的第一時間標(biāo)識,并為第二文本內(nèi)容中與相匹配的文本內(nèi)容對應(yīng)的文本 內(nèi)容添加上查找到的第一時間標(biāo)識。比如根據(jù)第一文本內(nèi)容"歷史的車輪找李隆隆而過"和 對應(yīng)的第一時間標(biāo)識,查找"歷史的車輪隆隆而過"所對應(yīng)的第一時間標(biāo)識,并在第二文本 內(nèi)容"歷史的車輪照例隆隆而過"中與"歷史的車輪隆隆而過"相應(yīng)的部分添加上對應(yīng)的第 一時間標(biāo)識。根據(jù)前文陳述,第一時間標(biāo)識是以字或詞為單位的時間標(biāo)識,那么則可以是為 第二文本內(nèi)容的"歷史"、"的"、"車輪"、"隆隆"以及"而過"添加上了對應(yīng)的第一時間標(biāo)識。
[0056] 步驟308,根據(jù)第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識計算出平均語速,根據(jù)平均語 速為第二文本內(nèi)容中未添加上第一時間標(biāo)識的文本內(nèi)容添加上第二時間標(biāo)識。
[0057] 具體地,服務(wù)器會根據(jù)獲取的第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識計算出平均語 速,即計算單位時間內(nèi)所經(jīng)過的文字?jǐn)?shù)量。進(jìn)一步,根據(jù)平均語速計算出第二文本內(nèi)容中未 添加上第一時間標(biāo)識的文本內(nèi)容所需要的時間長度,并結(jié)合其前后相匹配的內(nèi)容已添加上 的第一時間標(biāo)識計算出第二文本內(nèi)容中未添加上第一時間標(biāo)識的文本內(nèi)容所對應(yīng)的第二 時間標(biāo)識。同樣地,未添加上第一時間標(biāo)識的文本內(nèi)容可以是多段文本內(nèi)容。
[0058] 其中,未添加上第一時間標(biāo)識的文本內(nèi)容包括與第一文本內(nèi)容未匹配出的文本內(nèi) 容。此外,未添加上第一時間標(biāo)識的文本內(nèi)容,還包括與第一文本內(nèi)容相匹配的文本內(nèi)容中 沒有對應(yīng)第一時間標(biāo)識的文本內(nèi)容。比如,相匹配的文本內(nèi)容中存在文本內(nèi)容A,在自動語 音識別處理后的第一字幕數(shù)據(jù)中本身就缺失了文本內(nèi)容A對應(yīng)的第一時間標(biāo)識,那么就無 法為第二文本內(nèi)容中與文本內(nèi)容A對應(yīng)的文本內(nèi)容添加上第一時間標(biāo)識了。
[0059] 結(jié)合上述例子舉例說明,比如未添加上第一時間標(biāo)識的文本內(nèi)容為"照例"那么根 據(jù)平均語速計算出"照例"分別對應(yīng)的時間為tl,"照例"之后相匹配到的文本內(nèi)容"隆隆"的 起始時間戳為11295.00,那么"照例"對應(yīng)的起始時間戳則可以為11295-t 1。
[0060] 步驟310,根據(jù)添加了第一時間標(biāo)識和第二時間標(biāo)識的第二文本內(nèi)容生成第二字 幕數(shù)據(jù)。
[0061] 服務(wù)器在將第一時間標(biāo)識和第二時間標(biāo)識都添加至第二文本內(nèi)容后,即完成了對 原始文本內(nèi)容中的需發(fā)聲的文本內(nèi)容的時間標(biāo)識的添加。則服務(wù)器會根據(jù)完成了時間標(biāo)識 添加的第二文本內(nèi)容生成第二字幕數(shù)據(jù)。
[0062] 具體地,服務(wù)器會按照預(yù)設(shè)的字幕格式將完成時間標(biāo)識添加的第二文本內(nèi)容轉(zhuǎn)換 成對應(yīng)字幕格式的第二字幕數(shù)據(jù)。
[0063] 需要說明的是,當(dāng)原始文本內(nèi)容中還包括除第二文本內(nèi)容以外的非發(fā)聲文本內(nèi)容 時,服務(wù)器可以進(jìn)一步從上述非發(fā)聲文本內(nèi)容中獲取利于字幕顯示的其他信息,并將獲取 的其他信息也轉(zhuǎn)換成對應(yīng)字幕格式的第二字幕數(shù)據(jù)。即第二字幕數(shù)據(jù)可以由完成時間標(biāo)識 添加的第二文本內(nèi)容和其他信息共同進(jìn)行字幕格式轉(zhuǎn)換生成??梢岳斫?,服務(wù)器也可以只 將第二文本內(nèi)容轉(zhuǎn)換成第二字幕數(shù)據(jù)。本發(fā)明實施例對此并不做限定。
[0064]本實施例中,根據(jù)自動語音識別出的文本內(nèi)容所具有的時間標(biāo)識為具有準(zhǔn)確文本 內(nèi)容的原始文本中需發(fā)聲的第二文本內(nèi)容中相匹配的文本內(nèi)容添加上對應(yīng)的第一時間標(biāo) 識,再根據(jù)自動語音識別出的文本內(nèi)容及第一時間標(biāo)識計算出平均語速,根據(jù)平均語速為 未添加上時間標(biāo)識的文本內(nèi)容添加上第二時間標(biāo)識。這樣,使具有準(zhǔn)確文本內(nèi)容的需發(fā)聲 的第二文本內(nèi)容都添加上時間標(biāo)識,再根據(jù)添加了時間標(biāo)識的具有準(zhǔn)確文本內(nèi)容的第二文 本內(nèi)容生成字幕。由于第二文本內(nèi)容是基于原始文本內(nèi)容得到的準(zhǔn)確的文本內(nèi)容,因此將 第二文本內(nèi)容添加上對應(yīng)的時間標(biāo)識后所生成的字幕數(shù)據(jù),不存在文本內(nèi)容錯誤的問題, 更加準(zhǔn)確。
[0065] 在一個實施例中,該字幕數(shù)據(jù)生成方法還包括:獲取原始文本內(nèi)容中的附屬信息, 附屬信息為原始文本內(nèi)容中不發(fā)聲但有利于對第二文本內(nèi)容的理解的信息。
[0066] 本實施例中,根據(jù)添加了第一時間標(biāo)識和第二時間標(biāo)識的第二文本內(nèi)容生成第二 字幕數(shù)據(jù),包括:根據(jù)添加了第一時間標(biāo)識和第二時間標(biāo)識的第二文本內(nèi)容以及附屬信息 生成第二字幕數(shù)據(jù)。
[0067]具體地,原始文本內(nèi)容中還包括附屬信息,附屬信息為原始文本內(nèi)容中不發(fā)聲但 有利于對第二文本內(nèi)容的理解的信息。即附屬信息是與對第二文本內(nèi)容的理解有幫助的非 音頻信息。附屬信息可以包括發(fā)聲對象信息(如發(fā)聲對象名稱),還可以包括情景描述信息、 段落信息等。可以理解,發(fā)聲對象信息、情景描述信息以及段落信息都是可以有利于對第二 文本內(nèi)容的理解的信息。
[0068]比如,廣播劇原始的劇本內(nèi)容為:
[0069] 旁白:紅紅在媽媽的懷抱中進(jìn)入了甜蜜的夢鄉(xiāng)。
[0070] 紅紅:【滾下床】(大呼)?。?br>[0071] 其中,"紅紅在媽媽的懷抱中進(jìn)入了甜蜜的夢鄉(xiāng)"以及"啊!"是對應(yīng)的需發(fā)聲的文 本內(nèi)容。而"旁白"、"紅紅"不發(fā)聲的但是可以表明發(fā)聲對象,使大家可以結(jié)合發(fā)聲對象信息 更好地理解文本內(nèi)容,可以作為附屬信息。進(jìn)一步,附屬信息也可以包括"滾下床"、"大呼" 等這類無聲的起形容描述作用的詞以及段落信息等。附屬信息的具體類型要根據(jù)實際字幕 需求來確定。本發(fā)明實施例僅用于說明,原始文本內(nèi)容中包含不發(fā)聲但有利于對第二文本 內(nèi)容的理解的附屬信息。
[0072] 因此,服務(wù)器還會獲取附屬信息,在完成對需發(fā)聲的第二文本內(nèi)容中時間標(biāo)識的 添加之后,服務(wù)器會根據(jù)添加了第一時間標(biāo)識和第二時間標(biāo)識的第二文本內(nèi)容以及附屬信 息生成第二字幕數(shù)據(jù)。具體地,服務(wù)器會將添加了第一時間標(biāo)識和第二時間標(biāo)識的第二文 本內(nèi)容和附屬信息一起作輸出轉(zhuǎn)換,轉(zhuǎn)換成字幕格式得到第二字幕數(shù)據(jù)。
[0073] 進(jìn)一步,服務(wù)器在獲取附屬信息的時候,會將獲取的第二文本內(nèi)容與附屬信息的 相對位置關(guān)系做保留。比如,通過一個數(shù)據(jù)結(jié)構(gòu)保留第二文本內(nèi)容與附屬信息的相對位置 關(guān)系,如"旁白:紅紅在媽媽的懷抱中進(jìn)入了甜蜜的夢鄉(xiāng)。",那么就可以通過以下數(shù)據(jù)結(jié)構(gòu) 表不: struct { text "紅紅在媽媽的懷抱中進(jìn)入了甜蜜的夢鄉(xiāng)。
[0074] speaker: "旁白:" newline: 'tiue" }
[0075] 其中,text中的內(nèi)容即為提取的第二文本內(nèi)容,speaker、newline等內(nèi)容即為附屬 fg息。
[0076] 服務(wù)器根據(jù)保留的附屬信息與第二文本內(nèi)容之間的相對位置關(guān)系,將添加了第一 時間標(biāo)識和第二時間標(biāo)識的第二文本內(nèi)容和附屬信息一起作輸出轉(zhuǎn)換,即輸出轉(zhuǎn)換的附屬 信息和添加了第一時間標(biāo)識和第二時間標(biāo)識的第二文本內(nèi)容與原始文本內(nèi)容中的相對位 置保持一致,進(jìn)而生成第二字幕數(shù)據(jù)。如圖4所示,圖4為一個實施例中的生成的第二字幕數(shù) 據(jù)在終端顯示的界面示意圖。
[0077] 比如,廣播劇原始的劇本內(nèi)容為:
[0078] 旁白:紅紅在媽媽的懷抱中進(jìn)入了甜蜜的夢鄉(xiāng)。
[0079] 紅紅:【滾下床】(大呼)啊!
[0080]媽媽:【立馬起身】孩子,沒有摔傷吧?
[0081 ] 紅紅:【揉著腿】媽媽,沒事
[0082]那么,根據(jù)第二文本內(nèi)容和附屬信息生成的第二字幕數(shù)據(jù)在終端界面顯示的內(nèi)容 即如圖4所示。其中"旁白"媽媽:" "紅紅:"即為附屬信息。
[0083]可以理解,服務(wù)器可以在提取第二文本內(nèi)容的同時,提取出附屬信息。具體地,獲 取預(yù)設(shè)的過濾邏輯公式,根據(jù)預(yù)設(shè)的過濾邏輯公式提取出原始文本內(nèi)容中的需發(fā)聲的第二 文本內(nèi)容和附屬信息。根據(jù)預(yù)設(shè)的過濾邏輯公式自動獲取需發(fā)聲的第二文本內(nèi)容和附屬信 息,不需要手動的準(zhǔn)備第二文本內(nèi)容和附屬信息,提高了效率,進(jìn)而提高了第二字幕數(shù)據(jù)生 成的效率。此外,服務(wù)器也可以在生成第二字幕數(shù)據(jù)之前時,獲取對應(yīng)的附屬信息,本發(fā)明 實施例對此并不做限定。
[0084]本實施例中,將需發(fā)聲的第二文本內(nèi)容和附屬信息一起輸出轉(zhuǎn)換成第二字幕數(shù) 據(jù),使生成的第二字幕數(shù)據(jù)更加的有利于用戶理解文本內(nèi)容,增強(qiáng)了第二字幕數(shù)據(jù)的完整 性,提高了第二字幕數(shù)據(jù)的表達(dá)力。
[0085] 在一個實施例中,提取第二文本內(nèi)容和第一文本內(nèi)容相匹配的文本內(nèi)容包括:將 第一文本內(nèi)容和第二文本內(nèi)容分別根據(jù)字符劃分得到對應(yīng)的第一文本序列和第二文本序 列,提取第一文本序列和第二文本序列的第一最長公共子序列的步驟。
[0086] 本實施例中,服務(wù)器可以將第一文本內(nèi)容根據(jù)字符劃分得到對應(yīng)的第一文本序 列,以及將第二文本內(nèi)容根據(jù)字符劃分得到第二文本序列。結(jié)合前文舉例說明,第一文本內(nèi) 容為"歷史的車輪找李隆隆而過",第二文本內(nèi)容為"歷史的車輪照例隆隆而過",那么第一 文本序列則為"歷,史,的,車,輪,找,李,隆,隆,而,過",第二文本序列則為"歷,史,的,車, 輪,照,例,隆,隆,而,過"。
[0087] 進(jìn)一步,提取第一文本序列和第二文本序列的第一最長公共子序列。
[0088] 其中,最長公共子序列(The longest common subsequence)指一個序列,如果分 別是兩個或多個已知序列的子序列,且是所有符合此條件序列中最長的,則該序列稱為已 知序列的最長公共子序列。這里用"第一"對"最長公共子序列"不作任何限定,僅是為了與 下文中的"第二"最長公共子序列進(jìn)行區(qū)別開來。第一最長公共子序列表示第一文本序列和 第二文本序列的最長公共子序列,下文中所述的第二最長公共子序列表示第一文本子序列 和第二文本子序列的最長公共子序列。
[0089] 具體地,服務(wù)器可以通過蠻力法進(jìn)行第一文本序列和第二文本序列的第一最長公 共子序列。即通過枚舉第一文本序列的每一個子序列,檢查是否為第二文本序列的子序列, 從而確定其是否為第一文本序列和第二文本序列的公共子序列,并選出最長的公共子序列 作為本實施例中的第一最長公共子序列。
[0090] 此外,服務(wù)器也可以根據(jù)動態(tài)規(guī)劃算法進(jìn)行第一文本序列和第二文本序列的第一 最長公共子序列的計算。
[0091] 其中,可以是,根據(jù)動態(tài)規(guī)劃算法求出第一文本序列與第二文本序列中完全相同 的最長公共子序列,即第一最長公共子序列。
[0092] 也可以是,根據(jù)動態(tài)規(guī)劃算法進(jìn)行第一文本序列和第二文本序列進(jìn)行第一最長公 共子序列的模糊計算。即指將第二文本序列與第一文本序列中通過動態(tài)規(guī)劃算法進(jìn)行匹配 時,作匹配兩個文本序列相同或者近似等同,則判定這兩個文本序列相匹配,即可作為第二 文本序列與第一文本序列的公共子序列。
[0093] 其中,近似等同,可以當(dāng)兩個作匹配的文本序列的發(fā)音相同,或者發(fā)音近似相同的 情況下(比如前鼻音與后鼻音、或者平舌或翹舌等可以認(rèn)為是近似相同),判定這兩個作匹 配的文本序列近似等同。
[0094] 進(jìn)一步,可以按照動態(tài)規(guī)劃狀態(tài)迀移方程進(jìn)行第一最長公共子序列的計算:
[0095] if similar(str_l[i],str_2[ j]) =True:
[0096] Score[i,j]=max(Score[i~l,j]),Score[i,j-1],Score[i~l,j-1]+l)
[0097] else:
[0098] Score[i , j] =max(Score[i~l, j]),Score[i , j-1 ])
[0099] 其中,str_l為第一文本序列,str_2為第二文本序列,i和j分別為str_]JPIstr_2的 長度,similar(strj [ i ],str_2[j ])即指對第一文本序列和第二文本序列作模糊匹配, Sc〇re[i,j]即為對匹配的字符個數(shù)的計數(shù),即最長公共子序列的長度計數(shù)。
[0100] 進(jìn)一步,根據(jù)得到的Sc〇re[i,j]最長公共子序列的長度,結(jié)合路徑中的公共子序 列的節(jié)點標(biāo)記得到最長公共子序列??梢岳斫?,Sc 〇re[i,j]得到的一個最長公共子序列的 長度值可以對應(yīng)多個最長公共子序列。
[0101] 本實施例中,將第二文本內(nèi)容和第一文本內(nèi)容根據(jù)字符劃分成對應(yīng)的第一文本序 列和第二文本序列,進(jìn)而提取第一文本序列和第二文本序列的第一最長公共子序列,能夠 更快的得到第一文本內(nèi)容和第二文本內(nèi)容相匹配的文本內(nèi)容,提高了匹配效率。且將第一 最長公共子序列來作為相匹配的文本內(nèi)容,使匹配結(jié)果更加的準(zhǔn)確、全面。
[0102] 如圖5所不,在一個實施例中,提取第一文本序列和第二文本序列的第一最長公共 子序列(簡稱第一最長公共子序列提取步驟)包括以下步驟:
[0103] 步驟502,將第二文本序列進(jìn)行按序分段處理得到至少兩個有序的第二文本子序 列。
[0104] 本實施例中,可以按照預(yù)設(shè)規(guī)則對第二文本序列進(jìn)行按序分段處理得到至少兩個 有序的第二文本子序列。具體地,前文有說明,第一和第二文本序列中包含標(biāo)點符號,因此 可以以標(biāo)點符號為分段依據(jù),比如,以逗號或者句話為分段依據(jù),又比如,將標(biāo)點符號達(dá)到 預(yù)設(shè)數(shù)量的文本序列劃分為一個段。還可以是將第二文本序列按照字符個數(shù)進(jìn)行劃分,當(dāng) 字符個數(shù)達(dá)到預(yù)設(shè)字符數(shù)量時,則進(jìn)行一個分段處理。這里,對具體的分段方式不作限定, 只需滿足對第二文本序列進(jìn)行按序分段處理即可。
[0105] 其中,按序是指將第二文本序列進(jìn)行分段后的各段第二文本子序列之間是有序 的。進(jìn)而在作匹配處理時,先對分段后的前一個第二文本子序列作匹配,完成之后再對后一 個的第二文本子序列作匹配處理。比如第二文本序列={歷,史,的,車,輪,呀,照,例,隆, 隆,而,過},將其劃分為:第一個第二文本子序列={歷,史,的,車,輪,呀}和第二個第二文 本子序列={照,例,隆,隆,而,過},其中,第一個第二文本子序列與第二個第二文本子序列 之間有順序關(guān)系,即在作匹配處理時,先對第一個第二文本子序列作匹配處理,之后再對第 二個第二文本子序列作匹配處理。
[0106] 步驟504,獲取與每個第二文本子序列作匹配的第一文本序列中的第一文本子序 列,提取第一文本子序列和第二文本子序列的第二最長公共子序列。
[0107] 具體地,服務(wù)器在進(jìn)行分段處理得到至少兩個的第二文本子序列之后,會從第一 文本序列中獲取與每個第二文本子序列作匹配的對應(yīng)的第一文本子序列。可以是從第一文 本序列中選取與第二文本子序列的長度一致的文本序列作為第一文本子序列,也可以是通 過懲罰函數(shù)選取出與第二文本子序列匹配率最高的文本序列作為第一文本子序列。本實施 例對此不作限定。
[0108] 進(jìn)一步,服務(wù)器會提取第二文本子序列和獲取的對應(yīng)的第一文本子序列的第二最 長公共子序列。即分別提取每個第二文本子序列和對應(yīng)的第一文本子序列的第二最長公共 子序列。
[0109] 可以理解,因為至少兩個的第二文本子序列之間是有序的。因此,服務(wù)器在從第一 文本序列中獲取與上一個第二文本子序列作匹配的第一文本子序列,并提取上一個第二文 本子序列和獲取的對應(yīng)的第一文本子序列的第二最長公共子序列之后,會繼續(xù)從第一文本 序列中獲取與下一個第二文本子序列作匹配的下一個第一文本子序列,同樣地提取下一個 第二文本子序列和獲取的對應(yīng)的下一個第一文本子序列的第二最長公共子序列。
[0110]比如,第一個第二文本子序列={:歷,史,的,車,輪,呀}和第二個第二文本子序列 ={照,例,隆,隆,而,過},第一文本序列={歷,史,的,車,輪,呀,找,李,隆,隆,而,過},那 么獲取的與第一個第二文本子序列={歷,史,的,車,輪,呀}作匹配的第一個第一文本子序 列可以是{:歷,史,的,車,輪,呀},提取第一個第二文本子序列與第一個第一文本子序列的 最長公共子序列之后,再從第一文本子序列中選取與第二個第二文本子序列={照,例,隆, 隆,而,過H乍匹配的第二個第一文本子序列,可以是{:找,李,隆,隆,而,過},進(jìn)而再提取第 二個第二文本子序列和第二個第一文本子序列的最長公共子序列。
[0111] 同樣地可以理解,提取至少兩個有序的第二文本子序列與對應(yīng)的第一文本子序列 的最長公共子序列之后,得到至少兩個的第二最長公共子序列之間是有序的。
[0112] 步驟506,將第二最長公共子序列按序組成第一最長公共子序列。
[0113]進(jìn)一步,將經(jīng)過步驟504處理后所得到的有序的所有第二最長公共子序列按序組 合,組成第一最長公共子序列。
[0114] 本實施例中,將第二文本序列進(jìn)行按序分段處理得到至少兩個有序的第二文本子 序列,從第一文本序列中選取與第二文本子序列作匹配的第一文本子序列,提取第一文本 子序列與第二文本子序列的第二最長公共子序列,進(jìn)而將所有的第二最長公共子序列按序 組合得到第一最長公共子序列。通過分段處理,在將當(dāng)前的第二文本子序列和第一文本子 序列進(jìn)行匹配計算時,不需要上一個第二文本子序列及上一個第一文本子序列參與匹配計 算,節(jié)省了匹配處理的計算步驟,提高了匹配速度。
[0115] 如圖6所示,在一個實施例中,獲取與第二文本子序列作匹配的第一文本序列中的 第一文本子序列(簡稱第一文本子序列獲取步驟)包括以下步驟:
[0116]步驟602,當(dāng)?shù)诙谋咀有蛄袨榈谝粋€第二文本子序列時,將第一文本序列的起點 作為選取參照文本子序列的起始點。
[0117]步驟604,當(dāng)?shù)诙谋咀有蛄胁粸榈谝粋€第二文本子序列時,根據(jù)上一個獲取的第 一文本子序列的終點確定第一文本序列中選取參照文本子序列的起始點。
[0118]可以理解,如步驟502中所述,第二文本子序列是至少兩個的有序的序列,因此,對 應(yīng)的,獲取的與第二文本子序列作匹配的第一文本子序列也是至少兩個的有序的序列。
[0119]當(dāng)?shù)诙谋咀有蛄袨榈谝粋€第二文本子序列時,則將第一文本序列的起點作為選 取參照文本子序列的起始點。比如,第一文本序列是ASDFGHJ,則將A作為選取參照文本子序 列的起始點。
[0120] 當(dāng)?shù)诙谋咀有蛄胁粸榈谝粋€第二文本子序列時,則說明已經(jīng)從第一文本序列中 獲取了與上一個第二文本子序列作匹配的第一文本子序列,即已經(jīng)獲取了上一個第一文本 子序列。則根據(jù)上一個獲取的第一文本子序列的終點確定第一文本序列中選取參照文本子 序列的起始點,具體地,將第一文本序列中與上一個獲取的第一文本子序列的終點對應(yīng)位 置后的第一個序列元素作為獲取參照文本子序列的起始點。
[0121] 同樣地,比如第一文本序列是ASDFGHJKL匪Q,獲取的與上一個第二文本子序列作 匹配的第一文本子序列(即上一個第一文本子序列)為ASDF,那么,則將第一文本序列中與 ASDF的終點對應(yīng)位置F后的第一個序列元素 G作為選取參照文本子序列的起始點。
[0122] 步驟606,從確定的起始點開始從第一文本序列中選取長度大于第二文本子序列 的連續(xù)的參照文本子序列。
[0123] 進(jìn)一步,服務(wù)器會從第一文本序列中所確定起始點開始選取長度大于第二文本子 序列的連續(xù)的參照文本子序列。具體地,可以根據(jù)預(yù)設(shè)規(guī)則從第一文本序列中所確定起始 點開始選取長度大于第二文本子序列的連續(xù)的參照文本子序列。比如,選取的參照文本子 序列的長度是第二文本子序列的長度的預(yù)設(shè)倍數(shù),或者是第二文本子序列長度與預(yù)設(shè)長度 之和。還可以是第二文本子序列的長度的預(yù)設(shè)倍數(shù)與動態(tài)調(diào)整參數(shù)之積。其中,動態(tài)調(diào)整參 數(shù)的值可以根據(jù)第二文本子序列的長度來進(jìn)行動態(tài)變換。
[0124] 步驟608,對參照文本子序列和第二文本子序列進(jìn)行最長公共子序列的長度的計 算,根據(jù)計算結(jié)果從參照文本子序列中選取與第二文本子序列匹配率最高的文本子序列作 為第一文本子序列。
[0125] 具體地,服務(wù)器在選取參照文本子序列之后,會按照動態(tài)規(guī)劃算法對參照文本子 序列和第二文本子序列進(jìn)行兩者的最長公共子序列的長度計算。其中,在計算過程中,會計 算得到在對所選取的參照文本子序列進(jìn)行不同長度取值時,所對應(yīng)的與第二文本子序列相 匹配的序列元素的個數(shù)。具體地,會生成一個根據(jù)參照文本子序列和第二文本子序列組成 的二維數(shù)組。根據(jù)這個二維數(shù)組進(jìn)行最長公共子序列的長度的計算。進(jìn)一步,在根據(jù)二維數(shù) 組計算最長公共子序列的長度的過程中,會計算得到在對所選取的參照文本子序列進(jìn)行不 同長度取值時,所對應(yīng)的與第二文本子序列相匹配的序列元素的個數(shù)。
[0126] 進(jìn)一步,服務(wù)器會根據(jù)所得到的相匹配的序列元素個數(shù),分別計算對所選取的參 照文本子序列進(jìn)行不同長度取值時,與第二文本子序列的匹配率。進(jìn)而,確定對所選取的參 照文本子序列取多少的長度值時,與第二文本子序列的匹配率最高。
[0127] 現(xiàn)舉例對上述步驟進(jìn)行解釋說明。如圖7所示,圖7為一個實施例中按照動態(tài)規(guī)劃 算法對參照文本子序列和第二文本子序列進(jìn)行最長公共子序列的長度的計算的結(jié)果示意 圖,其中豎直方向表示的是第二文本子序列(簡稱S1)的各個序列元素,水平方向表示的是 參照文本子序列(簡稱S2)的各個序列元素,S1 = {A,B,C,B,D}和S2={B,D,C,A,B,A}。
[0128] 其中,i和j表示的是序列長度。當(dāng)i = 5(即第二文本子序列S1 = {A,B,C,B,D})時, 對應(yīng)的這一行的數(shù)據(jù)可以看出,當(dāng)j = 1時,S2 = {B},S1與S2所匹配上的字符個數(shù)為1個,當(dāng)j =2時,S2={B,D},S1與S2所匹配上的字符個數(shù)為2個,當(dāng)j = 3時,32={8,0,(:},31與32所匹 配上的字符個數(shù)為2個……當(dāng)j = 6時,32={8,0,(:4,84},31與32所匹配上的字符個數(shù)為3 個。
[0129] 進(jìn)一步,會計算j取多長時,所對應(yīng)的S2與S1的匹配率最高。其中,將對參照文本子 序列進(jìn)行長度取值后得到的序列簡稱為取值文本子序列,那么,匹配率則根據(jù)第二文本子 序列與取值文本子序列的最長公共子序列的長度與第二文本子序列與取值文本子序列的 長度和的比值得到。
[0130] 具體地,match_rate = len(LCS(segment(LST_ASR參),segment(LST_TXT)) )*2/ (len(segment(LST_ASR參))+len(segment(LST_TXT)))〇
[0131] 其中,match_rate即為匹配率,LST_TXT即為第二文本序列,segment(LST_TXT)即 為第二文本子序列,LST_ASR參即為參照文本子序列, segment(LST_ASR參)即為取值文本子序 列。
[0132] 比如,j =丄時,匹配率=丨x 2/(5+1) = 1/3,j = 2時,匹配率=2*2/(5+2) =4/7…… 以此依次計算出各個匹配率,從中確定最高的匹配率。
[0133] 進(jìn)一步,從參照文本序列中選取匹配率最高的文本子序列,即為確定出的與第二 文本子序列作匹配的第一文本子序列。結(jié)合圖7,即選取匹配率最高為j = 5時,匹配率=2* 3/ (5+5) = 0.6,該最高匹配率對應(yīng)的文本子序列S2={B,D,C,A,B},則從參照文本序列中選 取{B,D,C,A,B}作為確定出的與第二文本子序列作匹配的第一文本子序列。
[0134] 可以理解,會在第一文本序列中對應(yīng)標(biāo)記上第一文本子序列的位置,以便下一個 參照文本子序列的選取起始點的確定。
[0135] 本實施例中,根據(jù)參照文本子序列和第二文本子序列選取出匹配率最高的第一文 本子序列,使所選取與第二文本子序列作匹配的第一文本子序列的長度更加合適,避免出 現(xiàn)由于選取的第一文本子序列過長造成過擬合,而降低匹配結(jié)果的準(zhǔn)確性。同時也避免了 由于先前的第一文本子序列過短造成第二文本子序列中過多內(nèi)容匹配不到,而降低匹配結(jié) 果的準(zhǔn)確性。
[0136] 在其它實施例中,可以用以下步驟替代步驟608:對參照文本子序列進(jìn)行不同長度 的取值,計算各個不同長度取值得到的文本序列與第二文本子序列的匹配率,從參照文本 子序列中選取與第二文本子序列匹配率最高的文本序列作為第一文本子序列。
[0137] 具體地,可以按照預(yù)設(shè)間隔值對參照文本子序列進(jìn)行不同長度的取值,預(yù)設(shè)間隔 值根據(jù)實際需要確定,可以是1也可以是非1的正整數(shù)。
[0138] 比如,第二文本子序列(簡稱31)31 = 0,8,(:,8,〇},參照文本子序列(簡稱32)32 = 0,〇,(:4,84},對參照文本子序列進(jìn)行不同長度取值可以分別得到序列521 = {8},522 = {B,D}……S25 = {B,D,C,A,B},526={8,0,(:4,84},分別計算521、522……S25、S26與S1 的 匹配率,從中確定出S25與S1的匹配率最高,進(jìn)而從參照文本子序列中選取與S25對應(yīng)的文 本序列作為第一文本子序列。
[0139] 在一個實施例中,提取第一文本序列和第二文本序列的第一最長公共子序列包 括:將第一文本序列和第二文本序列中的中文字符轉(zhuǎn)換成拼音,將轉(zhuǎn)換后的第一文本序列 和第二文本序列以拼音為最小單位進(jìn)行匹配處理,得到第一文本序列和第二文本序列的第 一最長公共子序列的步驟。
[0140] 具體地,可以指將作匹配的第一文本序列和第二文本序列中的中文字符轉(zhuǎn)換成拼 音。將轉(zhuǎn)換后的第一文本序列和第二文本序列以拼音為最小單位進(jìn)行匹配處理,即將轉(zhuǎn)換 后的拼音作為一個整體進(jìn)行匹配,第二文本序列和第一文本序列的第一最長公共子序列。
[0141] 比如,第二文本序列={照,例,隆,隆,而,過},第一文本序列={找,李,隆,隆,而, 過},那么將第二文本序列和第一文本序列中的中文字符轉(zhuǎn)換成拼音,得到第二文本序列= {zhao,1 i,long,long,er,guo},第一文本序列={zhao,1 i,long,long,er,guo} 〇進(jìn)一步,以 拼音為最小單位進(jìn)行匹配處理,即將"zhao"或"li"等轉(zhuǎn)換后的拼音作為一個整體進(jìn)行匹 配,比如將第二文本序列中的"zhao"作為一個整體與第一文本序列中的"zhao"做匹配。
[0142] 本實施例中,將中文字符轉(zhuǎn)換成拼音后,以拼音為單位進(jìn)行匹配處理,避免了因自 動語音識別時字詞挑選錯誤造成的匹配不成功,然而這些發(fā)音相同的字詞所對應(yīng)的第一時 間標(biāo)識往往是可以作為參考的,因此在提高匹配率的同時,提高了匹配結(jié)果的可參考性,價 值性。
[0143] 進(jìn)一步,服務(wù)器會將第二文本序列中作匹配處理后的拼音還原回中文字符。需要 說明的是,這里指將之前由中文字符轉(zhuǎn)換成的拼音轉(zhuǎn)換回中文字符,對原先就是拼音形式 或者英文形式的文本內(nèi)容不需要轉(zhuǎn)換成中文字符。
[0144] 可以理解,在其它實施例中,在提取第一文本子序列和第二文本子序列的第二最 長公共子序列的時候,也可以使用上述方法,只需將上述步驟的第一文本序列替換為第一 文本子序列,將第二文本序列替換為第二文本子序列,第一最長公共子序列替換為第二最 長公共子序列即可。
[0145] 在一個實施例中,將轉(zhuǎn)換后的第一文本序列和第二文本序列以拼音為最小單位進(jìn) 行匹配處理包括:當(dāng)待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中 的第二拼音的字母數(shù)超過第一預(yù)設(shè)閾值時,則判斷第一拼音和第二拼音是否近似等同或相 同。若是,則判定兩個待匹配的拼音相匹配,若否,則判定兩個待匹配的拼音不匹配。
[0146] 具體地,可以是當(dāng)待匹配的第一文本序列中的第一拼音(可簡稱第一拼音)中的字 母數(shù)超過預(yù)設(shè)的字母數(shù)閾值時,則進(jìn)一步判斷第一拼音和第二拼音是否近似等同或相同。 也可以是,當(dāng)待匹配的第二文本序列中的第二拼音(可簡稱第二拼音)中的字母數(shù)是否超過 預(yù)設(shè)的字母數(shù)閾值時,則進(jìn)一步判斷第一拼音和第二拼音是否近似等同或相同。還可以是, 當(dāng)?shù)谝黄匆艉偷诙匆魞蓚€的字母總數(shù)是否超過預(yù)設(shè)的字母數(shù)閾值時,則進(jìn)一步判斷第一 拼音和第二拼音是否近似等同或相同。本發(fā)明實施例對具體以哪個文本序列中的拼音字母 數(shù)作為判斷依據(jù)不作限定,只用于表明,當(dāng)待匹配的文本序列中的拼音的字母數(shù)過長時(即 超過預(yù)設(shè)字母數(shù)閾值時),則進(jìn)一步判斷第一拼音和第二拼音是否近似等同或相同??梢岳?解,這里對具體的預(yù)設(shè)字母數(shù)閾值不作限定。
[0147] 進(jìn)一步,可以根據(jù)第一拼音和第二拼音的編輯距離和/或字符個數(shù)差值來判斷第 一拼音和第二拼音是否近似等同或相同。
[0148] 本實施例中,當(dāng)待匹配的拼音字母數(shù)超過預(yù)設(shè)值時,即字母數(shù)過多時,可以通過判 斷第一拼音和第二拼音之間是否相同或近似等同,來判定兩者是否相匹配。避免了因自動 語音識別時因發(fā)音問題造成的匹配不成功,然而這些發(fā)音相同或近似等同的字詞所對應(yīng)的 第一時間標(biāo)識往往是可以作為參考的,因此在提高匹配率的同時,提高了匹配結(jié)果的可參 考性,價值性。
[0149] 可以理解,在其它實施例中,在提取第一文本子序列和第二文本子序列的第二最 長公共子序列的時候,也可以使用上述方法,只需將上述步驟的第一文本序列替換為第一 文本子序列,將第二文本序列替換為第二文本子序列,第一最長公共子序列替換為第二最 長公共子序列即可。
[0150]在一個實施例中,將轉(zhuǎn)換后的第一文本序列和第二文本序列以拼音為最小單位進(jìn) 行匹配處理包括:當(dāng)待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中 的第二拼音的字母數(shù)超過第一預(yù)設(shè)閾值時,則計算第一拼音與第二拼音之間的編輯距離, 當(dāng)?shù)谝黄匆艉偷诙匆糁g的編輯距離未超出第二預(yù)設(shè)閾值時,則判定第一拼音和第二拼 音相匹配。
[0151 ] 編輯距離(Edit Distance),又稱Levenshtein距離,是指兩個字串之間,由一個轉(zhuǎn) 成另一個所需的最少編輯操作次數(shù)。
[0152]具體地,服務(wù)器中預(yù)先設(shè)置了第二預(yù)設(shè)閾值。當(dāng)待匹配的第一文本序列中的第一 拼音和/或待匹配的第二文本序列中的第二拼音的字母數(shù)超過第一預(yù)設(shè)閾值時,則計算第 一拼音和第二拼音之間的編輯距離,當(dāng)?shù)谝黄匆艉偷诙匆糁g的編輯距離小于或等于第 二預(yù)設(shè)閾值時,則判定第一拼音和第二拼音相匹配。當(dāng)?shù)谝黄匆艉偷诙匆糁g的編輯距 離大于第二預(yù)設(shè)閾值時,則判定第一拼音和第二拼音不匹配。
[0153]比如,第二拼音是"shi",第一拼音是"si",則很有可能是由于發(fā)聲多媒體文件中 發(fā)聲人的發(fā)音受方言影響,將"Shi"發(fā)成了 "si",這樣進(jìn)行自動語音識別處理時得到的就是 "Si",就會出現(xiàn)識別錯誤。為了避免這種情況發(fā)生,可以根據(jù)編輯距離來進(jìn)行模糊近似匹 配,比如正確讀音"Shi"和錯誤讀音"si"之間的編輯距離僅為1,比如預(yù)設(shè)的編輯距離為2, 那么小于預(yù)設(shè)編輯距離,則可以判定第一拼音和第二拼音相匹配。可以理解,這里只是發(fā)音 習(xí)慣的不同,"s i"對應(yīng)的時間標(biāo)識還是可以作為"shi"對應(yīng)的時間標(biāo)識的參考的,因此,s i 與shi是近似等同,可以判定兩者相匹配。
[0154] 本實施例中,通過第一拼音和第二拼音的編輯距離來判斷兩個拼音之間是否相同 或近似等同,以判定兩者是否相匹配。使判定結(jié)果更加的準(zhǔn)確,進(jìn)而,提高了匹配結(jié)果的可 參考性,價值性。
[0155] 可以理解,在其它實施例中,在提取第一文本子序列和第二文本子序列的第二最 長公共子序列的時候,也可以使用上述方法,只需將上述步驟的第一文本序列替換為第一 文本子序列,將第二文本序列替換為第二文本子序列,第一最長公共子序列替換為第二最 長公共子序列即可。
[0156] 在一個實施例中,將轉(zhuǎn)換后的第一文本序列和第二文本序列以拼音為最小單位進(jìn) 行匹配處理包括:當(dāng)待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中 的第二拼音的字母數(shù)超過第一預(yù)設(shè)閾值時,則計算第一拼音與第二拼音之間的字母數(shù)差 值,當(dāng)?shù)谝黄匆艉偷诙匆糁g的字母數(shù)差值未超出第三預(yù)設(shè)閾值時,則判定第一拼音和 第二拼音相匹配。
[0157] 具體地,服務(wù)器中預(yù)先設(shè)置了第三預(yù)設(shè)閾值。當(dāng)待匹配的第一文本序列中的第一 拼音和/或待匹配的第二文本序列中的第二拼音的字母數(shù)超過第一預(yù)設(shè)閾值時,則計算第 一拼音與第二拼音之間的字母數(shù)差值。將計算得到的字母數(shù)差值與第三預(yù)設(shè)閾值作比較, 當(dāng)?shù)谝黄匆艉偷诙匆糁g的字母數(shù)差值小于或等于第三預(yù)設(shè)閾值時,則判定第一拼音和 第二拼音相匹配。當(dāng)?shù)谝黄匆艉偷诙匆糁g的字母數(shù)差值大于第三預(yù)設(shè)閾值時,則判定 第一拼音和第二拼音不匹配。
[0158] 比如,比如,第二拼音是"shi",字母數(shù)為3,第一拼音是"si"字母數(shù)為2,第三預(yù)設(shè) 閾值為1,那么計算得到字母數(shù)差值為1,等于第三預(yù)設(shè)閾值1,因此,因此,si與Shi是近似等 同,判定兩者相匹配。
[0159] 本實施例中,通過第一拼音和第二拼音的字母數(shù)差值來判斷兩個拼音之間是否相 同或近似等同,以判定兩者是否相匹配。使判定結(jié)果更加的準(zhǔn)確,進(jìn)而,提高了匹配結(jié)果的 可參考性,價值性。
[0160] 可以理解,在其它實施例中,在提取第一文本子序列和第二文本子序列的第二最 長公共子序列的時候,也可以使用上述方法,只需將上述步驟的第一文本序列替換為第一 文本子序列,將第二文本序列替換為第二文本子序列,第一最長公共子序列替換為第二最 長公共子序列即可。
[0161]在其它實施例中,可以將第一拼音和第二拼音之間的編輯距離與第二預(yù)設(shè)閾值的 判斷和將第一拼音和第二拼音之間的字母數(shù)差值與第三預(yù)設(shè)閾值的判斷相結(jié)合。比如,可 以是,當(dāng)?shù)谝黄匆艉偷诙匆糁g的字母數(shù)差值未超出第三預(yù)設(shè)閾值時,則進(jìn)一步判斷第 一拼音和第二拼音之間的編輯距離是否未超出第二預(yù)設(shè)閾值,若是,則判定第一拼音和第 二拼音相匹配,若否,則判定第一拼音和第二拼音不匹配。還可以是,當(dāng)?shù)谝黄匆艉偷诙?音之間的編輯距離未超出第二預(yù)設(shè)閾值時,則進(jìn)一步判斷第一拼音和第二拼音之間的字母 數(shù)差值是否未超出第三預(yù)設(shè)閾值,若是,則判定第一拼音和第二拼音相匹配,若否,則判定 第一拼音和第二拼音不匹配。經(jīng)過多重判斷,使判定結(jié)果更加的準(zhǔn)確,進(jìn)而,提高了匹配結(jié) 果的可參考性,價值性。
[0162] 如圖8所示,在一個實施例中,根據(jù)平均語速為第二文本內(nèi)容中未添加上第一時間 標(biāo)識的文本內(nèi)容計算并添加上第二時間標(biāo)識(第二時間標(biāo)識確定步驟)包括:
[0163] 步驟802,獲取預(yù)設(shè)的文本內(nèi)容與文字?jǐn)?shù)量之間的等同轉(zhuǎn)化關(guān)系,根據(jù)等同轉(zhuǎn)化關(guān) 系,將第二文本內(nèi)容中未添加上第一時間標(biāo)識的文本內(nèi)容歸一轉(zhuǎn)化成對應(yīng)的文字?jǐn)?shù)量。
[0164] 具體地,服務(wù)器中預(yù)先設(shè)置了文本內(nèi)容與文字?jǐn)?shù)量之間的等同轉(zhuǎn)化關(guān)系。其中,文 本內(nèi)容包括文字、標(biāo)點符號、段落等多種不同類型的內(nèi)容。其中,不同的標(biāo)點符號所等同轉(zhuǎn) 化的文字?jǐn)?shù)量可以有所不同,具體根據(jù)各個標(biāo)點符號停頓時間的長短來設(shè)置對應(yīng)的等同轉(zhuǎn) 化的文字?jǐn)?shù)量。比如,句號對應(yīng)的等同轉(zhuǎn)化的文字?jǐn)?shù)量為2個,逗號對應(yīng)的等同轉(zhuǎn)化的文字 數(shù)量為1個。
[0165] 進(jìn)一步,根據(jù)該等同轉(zhuǎn)化關(guān)系,將第二文本內(nèi)容中未添加上第一時間標(biāo)識的文本 內(nèi)容歸一轉(zhuǎn)化成對應(yīng)的文字?jǐn)?shù)量。比如,第二文本內(nèi)容為"時間從來不會以人們的意念為轉(zhuǎn) 移,歷史的車輪照例隆隆而過",其中,未添加上第一時間標(biāo)識的文本內(nèi)容為"轉(zhuǎn)移,歷史", 那么根據(jù)預(yù)設(shè)的文本內(nèi)容與文字?jǐn)?shù)量之間的等同轉(zhuǎn)化關(guān)系,各個文字對應(yīng)的文字?jǐn)?shù)量為1, 逗號對應(yīng)的文字?jǐn)?shù)量也為1,那么將未添加上第一時間標(biāo)識的文本內(nèi)容歸一轉(zhuǎn)化成所對應(yīng) 的文字?jǐn)?shù)量為5。
[0166] 步驟804,根據(jù)歸一轉(zhuǎn)化的文字?jǐn)?shù)量及平均語速為第二文本內(nèi)容中未添加上第一 時間標(biāo)識的文本內(nèi)容添加上所對應(yīng)的第二時間標(biāo)識。
[0167] 進(jìn)一步,根據(jù)歸一轉(zhuǎn)化的文字?jǐn)?shù)量及平均語速為第二文本內(nèi)容中未添加上第一時 間標(biāo)識的文本內(nèi)容添加上所對應(yīng)的第二時間標(biāo)識。
[0168] 可以理解,平均語速為單位時間內(nèi)所經(jīng)過的文字?jǐn)?shù)量,那么根據(jù)平均語速和歸一 轉(zhuǎn)化后的文字?jǐn)?shù)量可以計算出第二文本內(nèi)容中未添加上第一時間標(biāo)識的文本內(nèi)容所對應(yīng) 的時間標(biāo)識,即為第二時間標(biāo)識。進(jìn)一步,為第二文本內(nèi)容中未添加上第一時間標(biāo)識的文本 內(nèi)容添加上計算出來的第二時間標(biāo)識。
[0169] 本實施例中,通過將未添加上第一時間標(biāo)識的文本內(nèi)容歸一轉(zhuǎn)化成對應(yīng)的文字?jǐn)?shù) 量,根據(jù)歸一轉(zhuǎn)化的文字?jǐn)?shù)量和平均語速為未添加上第一時間標(biāo)識的文本內(nèi)容添加上對應(yīng) 的第二時間標(biāo)識。通過將歸一轉(zhuǎn)化和平均語速相結(jié)合生成第二時間標(biāo)識,使第二時間標(biāo)識 和第一時間標(biāo)識的銜接過渡更加的平穩(wěn)、自然,避免了極大的跳躍性或滯頓性。
[0170] 如圖9所示,提供了一種字幕數(shù)據(jù)生成裝置,該裝置包括:獲取模塊902,提取模塊 904,時間標(biāo)識添加模塊906以及字幕數(shù)據(jù)生成模塊908,其中:
[0171] 獲取模塊902,用于獲取對發(fā)聲多媒體文件經(jīng)過自動語音識別處理得到的第一字 幕數(shù)據(jù)中的第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識,以及獲取發(fā)聲多媒體文件對應(yīng)的原始文 本內(nèi)容中的需發(fā)聲的第二文本內(nèi)容。
[0172 ]提取模塊904,用于提取第二文本內(nèi)容和第一文本內(nèi)容相匹配的文本內(nèi)容;
[0173] 時間標(biāo)識添加模塊906,用于查找相匹配的文本內(nèi)容在第一文本內(nèi)容中對應(yīng)的第 一時間標(biāo)識,為第二文本內(nèi)容中與相匹配的文本內(nèi)容對應(yīng)的文本內(nèi)容添加上查找到的第一 時間標(biāo)識。
[0174] 時間標(biāo)識添加模塊906還用于根據(jù)第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識計算出平 均語速,根據(jù)平均語速為第二文本內(nèi)容中未添加上第一時間標(biāo)識的文本內(nèi)容添加上第二時 間標(biāo)識。
[0175] 字幕數(shù)據(jù)生成模塊908,用于根據(jù)添加了第一時間標(biāo)識和第二時間標(biāo)識的第二文 本內(nèi)容生成第二字幕數(shù)據(jù)。
[0176] 上述字幕數(shù)據(jù)生成裝置,根據(jù)自動語音識別出的文本內(nèi)容所具有的時間標(biāo)識為具 有準(zhǔn)確文本內(nèi)容的原始文本中需發(fā)聲的第二文本內(nèi)容中相匹配的文本內(nèi)容添加上對應(yīng)的 第一時間標(biāo)識,再根據(jù)自動語音識別出的文本內(nèi)容及第一時間標(biāo)識計算出平均語速,根據(jù) 平均語速為未添加上時間標(biāo)識的文本內(nèi)容添加上第二時間標(biāo)識。這樣,使具有準(zhǔn)確文本內(nèi) 容的需發(fā)聲的第二文本內(nèi)容都添加上時間標(biāo)識,再根據(jù)添加了時間標(biāo)識的具有準(zhǔn)確文本內(nèi) 容的第二文本內(nèi)容生成字幕。由于第二文本內(nèi)容是基于原始文本內(nèi)容得到的準(zhǔn)確的文本內(nèi) 容,因此將第二文本內(nèi)容添加上對應(yīng)的時間標(biāo)識后所生成的字幕數(shù)據(jù),不存在文本內(nèi)容錯 誤的問題,更加準(zhǔn)確。
[0177] 在一個實施例中,獲取模塊902還用于獲取原始文本內(nèi)容中的附屬信息,附屬信息 為原始文本內(nèi)容中不發(fā)聲但有利于對第二文本內(nèi)容的理解的信息;
[0178] 字幕數(shù)據(jù)生成模塊908還用于根據(jù)添加了第一時間標(biāo)識和第二時間標(biāo)識的第二文 本內(nèi)容以及附屬信息生成第二字幕數(shù)據(jù)。
[0179] 在一個實施例中,提取模塊904還用于將第一文本內(nèi)容和第二文本內(nèi)容分別根據(jù) 字符劃分得到對應(yīng)的第一文本序列和第二文本序列;提取第一文本序列和第二文本序列的 第一最長公共子序列。
[0180]在一個實施例中,提取模塊904還用于將第二文本序列進(jìn)行按序分段處理得到至 少兩個有序的第二文本子序列;獲取與每個第二文本子序列作匹配的第一文本序列中的第 一文本子序列,提取第一文本子序列和第二文本子序列的第二最長公共子序列;將第二最 長公共子序列按序組成第一最長公共子序列。
[0181 ]如圖10所示,在一個實施例中,提取模塊904還包括:
[0182] 起始點選取模塊1002,用于當(dāng)?shù)诙谋咀有蛄袨榈谝粋€第二文本子序列時,將第 一文本序列的起點作為選取參照文本子序列的起始點;當(dāng)?shù)诙谋咀有蛄胁粸榈谝粋€第二 文本子序列時,根據(jù)上一個獲取的第一文本子序列的終點確定第一文本序列中選取參照文 本子序列的起始點。
[0183] 參照文本子序列確定模塊1004,用于從確定的起始點開始從第一文本序列中選取 長度大于第二文本子序列的連續(xù)的參照文本子序列。
[0184] 第一文本子序列確定模塊1006,用于對參照文本子序列和第二文本子序列進(jìn)行最 長公共子序列的長度的計算,根據(jù)計算結(jié)果從參照文本子序列中選取與第二文本子序列匹 配率最高的文本子序列作為第一文本子序列。
[0185] 在一個實施例中,提取模塊904還用于將第一文本序列和第二文本序列中的中文 字符轉(zhuǎn)換成拼音,將轉(zhuǎn)換后的第一文本序列和第二文本序列以拼音為最小單位進(jìn)行匹配處 理,得到第一文本序列和第二文本序列的第一最長公共子序列。
[0186] 在一個實施例中,提取模塊904還用于當(dāng)待匹配的第一文本序列中的第一拼音和/ 或待匹配的第二文本序列中的第二拼音的字母數(shù)超過第一預(yù)設(shè)閾值時,則計算第一拼音與 第二拼音之間的編輯距離或計算第一拼音與第二拼音之間的字母數(shù)差值;當(dāng)?shù)谝黄匆襞c第 二拼音之間的編輯距離未超出第二預(yù)設(shè)閾值或第一拼音與第二拼音之間的字母數(shù)差值未 超出第三預(yù)設(shè)閾值時,則判定第一拼音與第二拼音相匹配。
[0187] 在一個實施例中,時間標(biāo)識添加模塊906還用于獲取預(yù)設(shè)的文本內(nèi)容與文字?jǐn)?shù)量 之間的等同轉(zhuǎn)化關(guān)系,根據(jù)等同轉(zhuǎn)化關(guān)系,將第二文本內(nèi)容中未添加上第一時間標(biāo)識的文 本內(nèi)容歸一轉(zhuǎn)化成對應(yīng)的文字?jǐn)?shù)量,根據(jù)歸一轉(zhuǎn)化的文字?jǐn)?shù)量及平均語速為第二文本內(nèi)容 中未添加上第一時間標(biāo)識的文本內(nèi)容添加上所對應(yīng)的第二時間標(biāo)識。
[0188] 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以 通過計算機(jī)程序來指令相關(guān)的硬件來完成,該計算機(jī)程序可存儲于一計算機(jī)可讀取存儲介 質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,前述的存儲介質(zhì)可為 磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)等非易失性存儲介質(zhì),或隨機(jī)存儲記 憶體(Random Access Memory,RAM)等。
[0189] 以上所述實施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡潔,未對上述實 施例中的各個技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存 在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。
[0190]以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并 不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來 說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù) 范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項】
1. 一種字幕數(shù)據(jù)生成方法,包括: 獲取對發(fā)聲多媒體文件經(jīng)過自動語音識別處理得到的第一字幕數(shù)據(jù)中的第一文本內(nèi) 容和對應(yīng)的第一時間標(biāo)識,以及獲取所述發(fā)聲多媒體文件對應(yīng)的原始文本內(nèi)容中的需發(fā)聲 的第二文本內(nèi)容; 提取所述第二文本內(nèi)容和所述第一文本內(nèi)容相匹配的文本內(nèi)容; 查找所述相匹配的文本內(nèi)容在所述第一文本內(nèi)容中對應(yīng)的第一時間標(biāo)識,為所述第二 文本內(nèi)容中與所述相匹配的文本內(nèi)容對應(yīng)的文本內(nèi)容添加上查找到的第一時間標(biāo)識; 根據(jù)所述第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識計算出平均語速,根據(jù)所述平均語速為 所述第二文本內(nèi)容中未添加上所述第一時間標(biāo)識的文本內(nèi)容添加上第二時間標(biāo)識; 根據(jù)添加了所述第一時間標(biāo)識和所述第二時間標(biāo)識的第二文本內(nèi)容生成第二字幕數(shù) 據(jù)。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 獲取所述原始文本內(nèi)容中的附屬信息,所述附屬信息為原始文本內(nèi)容中不發(fā)聲但有利 于對所述第二文本內(nèi)容的理解的信息; 所述根據(jù)添加了所述第一時間標(biāo)識和所述第二時間標(biāo)識的第二文本內(nèi)容生成第二字 幕數(shù)據(jù),包括: 根據(jù)所述添加了所述第一時間標(biāo)識和所述第二時間標(biāo)識的第二文本內(nèi)容以及所述附 屬信息生成第二字幕數(shù)據(jù)。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述提取所述第二文本內(nèi)容和所述第一文 本內(nèi)容相匹配的文本內(nèi)容,包括: 將所述第一文本內(nèi)容和所述第二文本內(nèi)容分別根據(jù)字符劃分得到對應(yīng)的第一文本序 列和第二文本序列; 提取所述第一文本序列和所述第二文本序列的第一最長公共子序列。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述提取所述第一文本序列和所述第二文 本序列的第一最長公共子序列包括: 將所述第二文本序列進(jìn)行按序分段處理得到至少兩個有序的第二文本子序列; 獲取與每個所述第二文本子序列作匹配的第一文本序列中的第一文本子序列,提取所 述第一文本子序列和所述第二文本子序列的第二最長公共子序列; 將所述第二最長公共子序列按序組成所述第一最長公共子序列。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述獲取與所述第二文本子序列作匹配的 第一文本序列中的第一文本子序列,包括: 當(dāng)所述第二文本子序列為第一個第二文本子序列時,將所述第一文本序列的起點作為 選取參照文本子序列的起始點; 當(dāng)所述第二文本子序列不為第一個第二文本子序列時,根據(jù)上一個獲取的第一文本子 序列的終點確定第一文本序列中選取參照文本子序列的起始點; 從確定的所述起始點開始從所述第一文本序列中選取長度大于所述第二文本子序列 的連續(xù)的參照文本子序列; 對所述參照文本子序列和所述第二文本子序列進(jìn)行最長公共子序列的長度的計算,根 據(jù)計算結(jié)果從所述參照文本子序列中選取與第二文本子序列匹配率最高的文本子序列作 為所述第一文本子序列。6. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述提取所述第一文本序列和所述第二文 本序列的第一最長公共子序列,包括: 將所述第一文本序列和所述第二文本序列中的中文字符轉(zhuǎn)換成拼音,將所述轉(zhuǎn)換后的 第一文本序列和所述第二文本序列以拼音為最小單位進(jìn)行匹配處理,得到第一文本序列和 所述第二文本序列的第一最長公共子序列。7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述將所述轉(zhuǎn)換后的第一文本序列和所述 第二文本序列以拼音為最小單位進(jìn)行匹配處理,包括: 當(dāng)待匹配的第一文本序列中的第一拼音和/或待匹配的第二文本序列中的第二拼音的 字母數(shù)超過第一預(yù)設(shè)閾值時,則計算所述第一拼音與所述第二拼音之間的編輯距離或計算 所述第一拼音與所述第二拼音之間的字母數(shù)差值; 當(dāng)所述第一拼音與所述第二拼音之間的編輯距離未超出第二預(yù)設(shè)閾值或所述第一拼 音與所述第二拼音之間的字母數(shù)差值未超出第三預(yù)設(shè)閾值時,則判定所述第一拼音與所述 第二拼音相匹配。8. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)平均語速為所述第二文本內(nèi)容中 未添加上所述第一時間標(biāo)識的文本內(nèi)容計算并添加上第二時間標(biāo)識,包括: 獲取預(yù)設(shè)的文本內(nèi)容與文字?jǐn)?shù)量之間的等同轉(zhuǎn)化關(guān)系,根據(jù)所述等同轉(zhuǎn)化關(guān)系,將所 述第二文本內(nèi)容中未添加上所述第一時間標(biāo)識的文本內(nèi)容歸一轉(zhuǎn)化成對應(yīng)的文字?jǐn)?shù)量; 根據(jù)歸一轉(zhuǎn)化的文字?jǐn)?shù)量及所述平均語速為所述第二文本內(nèi)容中未添加上所述第一 時間標(biāo)識的文本內(nèi)容添加上所對應(yīng)的第二時間標(biāo)識。9. 一種字幕數(shù)據(jù)生成裝置,其特征在于,包括: 獲取模塊,用于獲取對發(fā)聲多媒體文件經(jīng)過自動語音識別處理得到的第一字幕數(shù)據(jù)中 的第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識,以及獲取所述發(fā)聲多媒體文件對應(yīng)的原始文本內(nèi) 容中的需發(fā)聲的第二文本內(nèi)容; 提取模塊,用于提取所述第二文本內(nèi)容和所述第一文本內(nèi)容相匹配的文本內(nèi)容; 時間標(biāo)識添加模塊,用于查找所述相匹配的文本內(nèi)容在所述第一文本內(nèi)容中對應(yīng)的第 一時間標(biāo)識,為所述第二文本內(nèi)容中與所述相匹配的文本內(nèi)容對應(yīng)的文本內(nèi)容添加上查找 到的第一時間標(biāo)識; 所述時間標(biāo)識添加模塊還用于根據(jù)所述第一文本內(nèi)容和對應(yīng)的第一時間標(biāo)識計算出 平均語速,根據(jù)所述平均語速為所述第二文本內(nèi)容中未添加上所述第一時間標(biāo)識的文本內(nèi) 容添加上第二時間標(biāo)識; 字幕數(shù)據(jù)生成模塊,用于根據(jù)添加了所述第一時間標(biāo)識和所述第二時間標(biāo)識的第二文 本內(nèi)容生成第二字幕數(shù)據(jù)。10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述獲取模塊還用于獲取所述原始文本 內(nèi)容中的附屬信息,所述附屬信息為原始文本內(nèi)容中不發(fā)聲但有利于對所述第二文本內(nèi)容 的理解的信息; 所述字幕數(shù)據(jù)生成模塊還用于根據(jù)所述添加了所述第一時間標(biāo)識和所述第二時間標(biāo) 識的第二文本內(nèi)容以及所述附屬信息生成第二字幕數(shù)據(jù)。11. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述提取模塊還用于將所述第一文本內(nèi) 容和所述第二文本內(nèi)容分別根據(jù)字符劃分得到對應(yīng)的第一文本序列和第二文本序列;提取 所述第一文本序列和所述第二文本序列的第一最長公共子序列。12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述提取模塊還用于將所述第二文本序 列進(jìn)行按序分段處理得到至少兩個有序的第二文本子序列;獲取與每個所述第二文本子序 列作匹配的第一文本序列中的第一文本子序列,提取所述第一文本子序列和所述第二文本 子序列的第二最長公共子序列;將所述第二最長公共子序列按序組成所述第一最長公共子 序列。13. 根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述提取模塊還包括: 起始點選取模塊,用于當(dāng)所述第二文本子序列為第一個第二文本子序列時,將所述第 一文本序列的起點作為選取參照文本子序列的起始點;當(dāng)所述第二文本子序列不為第一個 第二文本子序列時,根據(jù)上一個獲取的第一文本子序列的終點確定第一文本序列中選取參 照文本子序列的起始點; 參照文本子序列確定模塊,用于從確定的所述起始點開始從所述第一文本序列中選取 長度大于所述第二文本子序列的連續(xù)的參照文本子序列; 第一文本子序列確定模塊,用于對所述參照文本子序列和所述第二文本子序列進(jìn)行最 長公共子序列的長度的計算,根據(jù)計算結(jié)果從所述參照文本子序列中選取與第二文本子序 列匹配率最高的文本子序列作為所述第一文本子序列。14. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述提取模塊還用于 將所述第一文本序列和所述第二文本序列中的中文字符轉(zhuǎn)換成拼音,將所述轉(zhuǎn)換后的 第一文本序列和所述第二文本序列以拼音為最小單位進(jìn)行匹配處理,得到第一文本序列和 所述第二文本序列的第一最長公共子序列。15. 根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述提取模塊還用于當(dāng)待匹配的第一文 本序列中的第一拼音和/或待匹配的第二文本序列中的第二拼音的字母數(shù)超過第一預(yù)設(shè)閾 值時,則計算所述第一拼音與所述第二拼音之間的編輯距離或計算所述第一拼音與所述第 二拼音之間的字母數(shù)差值;當(dāng)所述第一拼音與所述第二拼音之間的編輯距離未超出第二預(yù) 設(shè)閾值或所述第一拼音與所述第二拼音之間的字母數(shù)差值未超出第三預(yù)設(shè)閾值時,則判定 所述第一拼音與所述第二拼音相匹配。16. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述時間標(biāo)識添加模塊還用于獲取預(yù)設(shè) 的文本內(nèi)容與文字?jǐn)?shù)量之間的等同轉(zhuǎn)化關(guān)系,根據(jù)所述等同轉(zhuǎn)化關(guān)系,將所述第二文本內(nèi) 容中未添加上所述第一時間標(biāo)識的文本內(nèi)容歸一轉(zhuǎn)化成對應(yīng)的文字?jǐn)?shù)量,根據(jù)歸一轉(zhuǎn)化的 文字?jǐn)?shù)量及所述平均語速為所述第二文本內(nèi)容中未添加上所述第一時間標(biāo)識的文本內(nèi)容 添加上所對應(yīng)的第二時間標(biāo)識。
【文檔編號】G10L25/54GK105931641SQ201610355247
【公開日】2016年9月7日
【申請日】2016年5月25日
【發(fā)明人】許俊偉
【申請人】騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1