本發(fā)明實施例涉及音樂服務(wù)技術(shù),尤其涉及一種語音點歌方法、終端及存儲介質(zhì)。
背景技術(shù):
現(xiàn)有的基于語義理解的音樂服務(wù)主要是通過解析用戶單句的查詢意圖,從中抽取“歌曲”或者“歌手”的信息,然后從音樂資源庫中查找抽取到的信息,得到符合要求的音樂資源進行播放。
但是上述服務(wù)模式過于單一,并不符合正常的語言交互模式,所以對用戶的要求很高,用戶需要在一句簡短的語音中將意圖表達清楚,否則服務(wù)將反饋失敗。另外,當用戶需要一定的推理和詢問幫助他完成意圖表達時,這種簡單的音樂服務(wù)也無法滿足用戶的需求,從而造成服務(wù)反饋失敗。
針對上述問題,目前沒有提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種語音點歌方法、終端及存儲介質(zhì),能夠推薦更符合用戶需求的音樂,降低對用戶的要求。
第一方面,本發(fā)明實施例提供了一種語音點歌方法,包括:
接收用戶輸入的語音信息;
從所述語音信息中獲取至少一個音樂屬性標簽;
根據(jù)上一輪查找過程所使用的音樂屬性標簽與本輪獲取的所述至少一個音樂屬性標簽,查找對應(yīng)的歌曲;
輸出所述對應(yīng)的歌曲。
進一步地,從所述語音信息中獲取至少一個音樂屬性標簽,包括:
對所述語音信息進行語音識別,得到語音識別結(jié)果;
將語音識別結(jié)果與預(yù)設(shè)的音樂屬性標簽庫進行匹配,確定所述語音識別結(jié)果中包含的至少一個音樂屬性標簽,其中,所述音樂屬性標簽庫包括:互為近義詞的標簽。
進一步地,在查找對應(yīng)的歌曲之后,所述方法還包括:
存儲本輪查找所使用的音樂屬性標簽及所述語音信息的輸入時間。
進一步地,根據(jù)上一輪查找過程所使用的音樂屬性標簽與本輪獲取的所述至少一個音樂屬性標簽,查找對應(yīng)的歌曲,包括:
判斷所述上一輪查找過程所使用的音樂屬性標簽與本輪獲取的所述至少一個音樂屬性標簽的個數(shù)是否超過預(yù)設(shè)個數(shù);
如果超過預(yù)設(shè)個數(shù),按照第一預(yù)設(shè)規(guī)則丟棄部分音樂屬性標簽,保留預(yù)設(shè)個數(shù)的音樂屬性標簽;
按照預(yù)設(shè)個數(shù)的音樂屬性標簽查找對應(yīng)的歌曲。
進一步地,在輸出所述對應(yīng)的歌曲之后,所述方法還包括:
如果所述對應(yīng)的歌曲播放完畢,按照第二預(yù)設(shè)規(guī)則丟棄部分音樂屬性標簽,按照調(diào)整后的音樂屬性標簽重新查找對應(yīng)的歌曲,并輸出重新查找到的歌曲。
進一步地,在輸出重新查找到的歌曲之后,所述方法還包括:
如果最后一個音樂屬性標簽對應(yīng)的歌曲播放完畢,則重播該歌曲直到接收到新的語音信息。
進一步地,根據(jù)上一輪查找過程所使用的音樂屬性標簽與本輪獲取的所述至少一個音樂屬性標簽,查找對應(yīng)的歌曲,包括:
如果根據(jù)上一輪查找過程所使用的音樂屬性標簽與本輪獲取的所述至少一個音樂屬性標簽,無法查找到對應(yīng)的歌曲,則丟棄上一輪查找過程所使用的音樂屬性標簽中的部分或全部標簽,按照調(diào)整后的音樂屬性標簽查找對應(yīng)的歌曲。
進一步地,在從所述語音信息中獲取至少一個音樂屬性標簽之后,所述方法還包括:
如果所述至少一個音樂屬性標簽中包括歌曲信息,將所述歌曲信息與預(yù)設(shè)音樂詞典中的信息進行匹配;
根據(jù)匹配的信息判斷所述歌曲信息是否存在錯誤;
如果存在錯誤,按照所述匹配的信息更正所述歌曲信息。
第二方面,本發(fā)明實施例還提供了一種終端,所述終端包括:
一個或多個處理器;
存儲器,用于存儲一個或多個程序;
當所述一個或多個程序被所述一個或多個處理器執(zhí)行,使得所述一個或多個處理器實現(xiàn)如本發(fā)明任意實施例所述的語音點歌方法。
第三方面,本發(fā)明實施例還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時實現(xiàn)如本發(fā)明任意實施例所述的語音點歌方法。
本發(fā)明實施例的語音點歌方法、終端及存儲介質(zhì),通過音樂屬性標簽進行多輪語義分析,結(jié)合上下文綜合理解用戶意圖,能夠找到更符合用戶需求的音樂資源,提高音樂服務(wù)的成功率;同時降低了對用戶的要求,用戶可以通過多輪對話逐漸細化自己的聽歌需求。
附圖說明
圖1是本發(fā)明實施例一提供的語音點歌方法的流程圖;
圖2是本發(fā)明實施例四提供的終端的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
實施例一
圖1是本發(fā)明實施例一提供的語音點歌方法的流程圖,本實施例可適用于音樂服務(wù)的情況,尤其是語音點歌的情況,該方法可以由語音點歌終端來執(zhí)行,例如具有語音收發(fā)和數(shù)據(jù)處理功能的終端。如圖1所示,該方法具體包括如下步驟:
步驟110,接收用戶輸入的語音信息。
其中,用戶使用自然語言輸入語音信息,例如,用戶輸入語音“我想聽周杰倫的葉惠美”、“因為愛情”、“播放薛之謙的歌”等。
步驟120,從語音信息中獲取至少一個音樂屬性標簽。
本步驟可以通過以下方式實現(xiàn):對語音信息進行語音識別,得到語音識別結(jié)果,其中語音識別結(jié)果可以是文字信息;將語音識別結(jié)果與預(yù)設(shè)的音樂屬性標簽庫進行匹配,確定語音識別結(jié)果中包含的至少一個音樂屬性標簽,其中,音樂屬性標簽庫包括:互為近義詞的標簽。也就是說,從語音識別結(jié)果中查找與音樂屬性標簽庫中的標簽一致的內(nèi)容,例如,語音識別結(jié)果是“我想聽一首中文民謠”,將這句話與標簽庫中的標簽進行匹配,抽取到“中文”、“民謠”兩個標簽。
具體可以使用現(xiàn)有的語音識別方法進行語音識別,例如,基于動態(tài)時間規(guī)整的算法、基于參數(shù)模型的隱馬爾可夫法、基于非參數(shù)模型的矢量量化法、基于人工神經(jīng)網(wǎng)絡(luò)的算法等,本發(fā)明實施例對語音識別過程不進行詳細說明。
音樂屬性標簽庫可以參考已有的常用的音樂資源屬性進行建立,屬性類別如歌曲風(fēng)格、樂器、歌手名、歌曲名、專輯名、語種等。舉例而言,按歌曲風(fēng)格構(gòu)建的標簽包括:搖滾、金屬、流行、民謠等;按樂器構(gòu)建的標簽包括:薩克斯、鋼琴曲、小提琴等;按語種構(gòu)建的標簽包括:英文、日語、韓語、粵語、中文等;按場景構(gòu)建的標簽包括:催眠、運動、婚禮;按歌手名構(gòu)建的標簽包括:周杰倫、孫燕姿、陳奕迅等。由于不同用戶的語言表述是多樣的,因此,本實施例的音樂屬性標簽庫中設(shè)置同一標簽對應(yīng)的近義詞(也稱為規(guī)約詞),以便更加準確的理解用戶意圖。例如,“英文”對應(yīng)的近義詞可以有“歐美”、“英語”,因為用戶可能會說“我要聽英文/英語/歐美歌”,因此音樂屬性標簽庫可以存儲互為近義詞的標簽“英文”、“歐美”和“英語”,以滿足不同用戶語言表述。音樂屬性標簽庫能夠保證每個音樂資源均有其對應(yīng)的一個或多個標簽來標明其屬性。音樂屬性標簽庫可以直接存儲所有標簽,也可以按照屬性類別存儲標簽,或者采用其他存儲方式,本發(fā)明實施例對此不進行限定。標簽庫越豐富完整,對于用戶意圖的解析就會更準確。音樂屬性標簽庫可以存儲在終端或服務(wù)器中。
步驟130,根據(jù)上一輪查找過程所使用的音樂屬性標簽與本輪獲取的上述至少一個音樂屬性標簽,查找對應(yīng)的歌曲。
本步驟中結(jié)合上一輪使用的標簽及根據(jù)本輪語音獲取的標簽進行歌曲查找,相當于在用戶的語音上下文中抽取關(guān)鍵信息,這樣能夠為用戶推薦更符合需求預(yù)期的音樂資源。這種方式可以稱為標簽繼承、上下文語義分析或者多輪語義分析。具體可以從音樂資源庫查找歌曲,音樂資源庫可以存儲在終端或服務(wù)器中。查找到的歌曲可以是一首或多首。
為了查找某歌曲,用戶可能會接連發(fā)出幾條語音,以精確表達自己的意圖,這幾條語音中可能會出現(xiàn)重復(fù)的詞語,通過標簽繼承會獲取到重復(fù)的標簽,為此本實施例在查找歌曲之前,可以對上一輪使用的標簽和根據(jù)當前語音獲取的標簽進行查重,對重復(fù)的標簽僅保留一個,這樣使得最終參與查找的標簽不存在冗余,更為清楚簡潔。
步驟140,輸出對應(yīng)的歌曲。
本步驟中,輸出可以是顯示和/或播放。具體的,可以針對查找到的歌曲生成歌單,然后對歌單進行顯示和/或播放。如果查找到多首歌曲,可以按照預(yù)設(shè)順序播放查找到的歌曲,例如,先播放排名靠前的歌曲;也可以將歌曲展示給用戶,根據(jù)用戶的選擇播放對應(yīng)的歌曲。優(yōu)選的,在查找到對應(yīng)的歌曲后,可以顯示提示信息或播放一段語音提示,例如,用戶輸入的語音信息是“南山南”,根據(jù)標簽“南山南”查找到該歌曲后,顯示提示信息“請欣賞南山南”或者播放語音提示“請欣賞南山南”,并播放該歌曲。
本實施例的技術(shù)方案通過音樂屬性標簽進行多輪語義分析,結(jié)合上下文綜合理解用戶意圖,能夠找到更符合用戶需求的音樂資源,提高音樂服務(wù)的成功率;同時降低了對用戶的要求,用戶可以通過多輪對話逐漸細化自己的聽歌需求。
在上述技術(shù)方案的基礎(chǔ)上,優(yōu)選的,在查找對應(yīng)的歌曲之后,可以存儲本輪查找所使用的音樂屬性標簽及該語音信息的輸入時間。其中,每一輪查找以對應(yīng)的語音輸入時間為基準,由此根據(jù)語音信息的輸入時間可以確定上一輪使用的標簽,便于執(zhí)行標簽繼承操作。
優(yōu)選的,可以設(shè)置預(yù)設(shè)時間段,例如10分鐘,在接收語音信息后,根據(jù)本輪語音信息的輸入時間,獲取本輪語音信息之前預(yù)設(shè)時間段內(nèi)使用的標簽,結(jié)合預(yù)設(shè)時間段內(nèi)使用的標簽和根據(jù)本輪語音獲取的標簽查找對應(yīng)的歌曲。例如,9:00接收到語音信息,獲取8:50至9:00之間使用的標簽,結(jié)合該標簽和根據(jù)當前語音獲取的標簽進行歌曲查找??紤]到時間間隔太長的語音,其所要查找的歌曲相關(guān)性較差,盲目的標簽繼承會降低歌曲查找的準確率,因此本優(yōu)選實施方式設(shè)置預(yù)設(shè)時間段,可以避免不必要的標簽繼承,保證歌曲查找效率和準確度。
優(yōu)選的,在步驟130中,如果根據(jù)上一輪查找過程所使用的音樂屬性標簽與本輪獲取的至少一個音樂屬性標簽,無法查找到對應(yīng)的歌曲,則丟棄上一輪查找過程所使用的音樂屬性標簽中的部分或全部標簽,按照調(diào)整后的音樂屬性標簽查找對應(yīng)的歌曲。如果根據(jù)調(diào)整后的標簽?zāi)軌虿檎业礁枨?,則將調(diào)整后的標簽作為本輪所使用的標簽進行存儲。如果標簽調(diào)整后,仍然找不到對應(yīng)的歌曲,則可以提示用戶未查找到該歌曲,具體可以通過顯示文字提示、語音提示、燈光提示等。
考慮到會出現(xiàn)新的音樂風(fēng)格、歌手、專輯、歌曲等,因此本發(fā)明實施例中可以對音樂屬性標簽庫進行更新,例如,可以根據(jù)工作人員輸入的信息進行更新,也可以按照預(yù)設(shè)時間間隔自動獲取信息以進行更新。對音樂屬性標簽庫進行更新,能夠保證標簽的及時性和全面性,從而可以更準確地理解用戶意圖,提供滿足用戶需求的音樂資源。
此外,考慮到標簽繼承是基于同一用戶賬號的,在步驟130之前,上述方法還可以包括:獲取當前用戶的用戶賬號;將該用戶賬號與上一輪查找過程所對應(yīng)的用戶賬號進行比較;如果一致,則根據(jù)上一輪查找過程所使用的音樂屬性標簽與本輪獲取的至少一個音樂屬性標簽查找對應(yīng)的歌曲;如果不一致,則根據(jù)本輪獲取的至少一個音樂屬性標簽查找對應(yīng)的歌曲。由此可以避免不同用戶賬號的標簽繼承,從而避免不必要的流程,提高歌曲查找效率。
實施例二
在上述實施例一的基礎(chǔ)上,本實施例提供了步驟130的優(yōu)選實施方式,包括如下步驟:判斷上一輪查找過程所使用的音樂屬性標簽與本輪獲取的至少一個音樂屬性標簽的個數(shù)是否超過預(yù)設(shè)個數(shù);如果超過預(yù)設(shè)個數(shù),按照第一預(yù)設(shè)規(guī)則丟棄部分音樂屬性標簽,保留預(yù)設(shè)個數(shù)的音樂屬性標簽;按照預(yù)設(shè)個數(shù)的音樂屬性標簽查找對應(yīng)的歌曲。
其中,預(yù)設(shè)個數(shù)可以根據(jù)實際情況進行設(shè)置,保證不會因為標簽繼承個數(shù)過多導(dǎo)致查找速度慢,也不會因為無關(guān)的上下文標簽繼承導(dǎo)致所查找到的歌曲并非用戶想聽的歌曲。例如預(yù)設(shè)個數(shù)可以是3個。第一預(yù)設(shè)規(guī)則可以根據(jù)實際情況進行設(shè)置,例如,第一預(yù)設(shè)規(guī)則可以是丟棄時間最早的一個或多個標簽;也可以是丟棄除了根據(jù)當前語音獲取的標簽之外的任意標簽;還可以將標簽顯示給用戶,提示用戶選擇丟棄哪些標簽或者使用哪些標簽。
如果根據(jù)預(yù)設(shè)個數(shù)的音樂屬性標簽不能查到對應(yīng)的歌曲,則再次丟棄其中一個或多個標簽,按照調(diào)整后的音樂屬性標簽查找對應(yīng)的歌曲;如果根據(jù)預(yù)設(shè)個數(shù)的音樂屬性標簽?zāi)軌虿檎业綄?yīng)的歌曲,則將該預(yù)設(shè)個數(shù)的音樂屬性標簽作為本輪所使用的標簽進行存儲,并存儲接收到語音信息的時間。
本實施例中,考慮到無限的標簽繼承,會導(dǎo)致查找不到對應(yīng)的歌曲,需要對標簽進行一次或多次調(diào)整,進而導(dǎo)致查找速度慢,耗時較長,因此設(shè)置了預(yù)設(shè)個數(shù)和第一預(yù)設(shè)規(guī)則,丟棄部分標簽,始終保持預(yù)設(shè)個數(shù)的標簽,保證歌曲查找效率和準確性。
優(yōu)選的,在輸出對應(yīng)的歌曲之后,上述方法還可以包括:如果對應(yīng)的歌曲播放完畢,按照第二預(yù)設(shè)規(guī)則丟棄部分音樂屬性標簽,按照調(diào)整后的音樂屬性標簽重新查找對應(yīng)的歌曲,并輸出重新查找到的歌曲。其中,第二預(yù)設(shè)規(guī)則可以是丟棄時間最早的一個或多個標簽。
如果最后一個音樂屬性標簽對應(yīng)的歌曲播放完畢,則重播該歌曲直到接收到新的語音信息。
本優(yōu)選實施方式中,在歌曲播放完畢的情況下,通過調(diào)整標簽進一步查找歌曲進行播放,直到用戶發(fā)起新的語音信息,能夠滿足用戶需求。
舉例而言,用戶發(fā)出語音“播一首適合睡前聽的歌”,獲取其中的標簽是“睡前音樂”,根據(jù)該標簽查找到tinpauladeanda:《whywouldiever》,進行播放。之后用戶再次發(fā)出語音“要聽鋼琴曲”,獲取標簽“鋼琴曲”,同時默認繼承上輪標簽“睡前音樂”,綜合兩個標簽查找符合“睡前音樂”和“鋼琴曲”兩個特征的音樂資源,查找到睡前鋼琴曲《散落》,進行播放。用戶再次發(fā)出語音“換個陳輝陽的”,獲取標簽“陳輝陽”,由于之前兩輪中共繼承累積了兩個標簽,還未達到三個標簽的上限,故繼承本輪標簽后,綜合三個標簽查找符合“睡前音樂”、“鋼琴曲”和“陳輝陽”三個特征的音樂資源,查找到陳輝陽的愛一個人,進行播放。
另外,可以根據(jù)用戶輸入的信號,對標簽繼承功能進行開啟或關(guān)閉,更加方便用戶根據(jù)自己的習(xí)慣進行語音點歌。
實施例三
本實施例在上述各實施例的基礎(chǔ)上,提供了對語音識別結(jié)果進行糾錯的實施方式,以提高歌曲查找的準確性。在從語音信息中獲取至少一個音樂屬性標簽之后,上述方法還可以包括:如果至少一個音樂屬性標簽中包括歌曲信息,將歌曲信息與預(yù)設(shè)音樂詞典中的信息進行匹配;根據(jù)匹配的信息判斷歌曲信息是否存在錯誤;如果存在錯誤,按照匹配的信息更正歌曲信息。
其中,歌曲信息是指歌手、歌名、專輯名等具有確定文字的信息。預(yù)設(shè)音樂詞典存儲有音樂資源的屬性信息及其對應(yīng)關(guān)系,屬性信息是歌手、歌名、專輯名等具有確定文字的信息,例如,預(yù)設(shè)音樂詞典存儲有歌曲、該歌曲的演唱者、該歌曲所屬的專輯。匹配的信息可以包括完全匹配信息和部分匹配信息。
例如,接收到用戶語音信息,音樂屬性標簽中包括歌曲信息“孫燕姿”和“第一”,通過與預(yù)設(shè)音樂詞典中的信息進行匹配,沒有找到“第一”且存在相似度較高的“第一天”,并且在預(yù)設(shè)音樂詞典中“第一天”的演唱者是“孫燕姿”,由此將“第一”糾正為“第一天”。
考慮到歌手名、歌曲名、專輯等會存在音同字不同的情況,可以使用拼音對歌曲信息與預(yù)設(shè)音樂詞典中的信息進行匹配,具體的,按照歌曲信息的文字和拼音從預(yù)設(shè)音樂詞典中獲取與該歌曲信息匹配的信息。簡單來講,如果匹配的屬性信息中不包括與歌曲信息文字完全匹配的信息,可以確定該歌曲信息存在錯誤。錯誤類型可以是文字缺失或多余、拼音相同但文字不同等。
判斷歌曲信息是否存在錯誤以及更正歌曲信息,包括以下情況:
(1)在僅有一個歌曲信息的情況下,判斷匹配的信息中是否包括與歌曲信息文字完全匹配的信息;如果是,則確定該歌曲信息識別正確;如果否,則確定該歌曲信息存在錯誤。
其中如果除了文字完全匹配的信息之外,還存在其他同音不同字的信息或者相近的信息,也可以輸出這些信息,提示用戶進行選擇。
例如,用戶輸入語音:黑色毛衣,語音識別結(jié)果也是黑色毛衣,通過其文字、拼音與預(yù)設(shè)音樂詞典進行匹配,匹配的信息是黑色毛衣(這屬于完全匹配信息),由此確定語音識別結(jié)果是正確的。假如除了黑色毛衣之外,匹配的信息還包括灰色毛衣(這屬于部分匹配信息),則可以確定黑色毛衣識別正確,也可以將黑色毛衣和灰色毛衣展示給用戶,提示用戶進行選擇。具體的,可以是語音輸出匹配的信息,如1代表選擇黑色毛衣,2代表選擇灰色毛衣,用戶語音答復(fù)1或2;也可以是在顯示屏上顯示匹配的信息,用戶可以通過點擊按鍵進行選擇,也可以通過語音答復(fù)1或2進行選擇。
在僅有一個歌曲信息的情況下,按照匹配的信息更正該歌曲信息的過程如下:
1)如果有多個匹配的信息且不包括文字完全匹配的信息,則分別計算各匹配的信息與該歌曲信息的相似度,將歌曲信息更正為相似度最大的信息。其中計算相似度的方法可以使用現(xiàn)有技術(shù),例如,基于語義詞典(如wordnet、hownet)的詞語相似度算法,把所有詞語組織在樹形結(jié)構(gòu)中,通過計算節(jié)點之間的路徑長度作為詞語距離;又如,基于語料統(tǒng)計的詞語相似度算法,利用詞語向量空間模型,該模型事先選擇一組特征詞,計算這一組特征詞與每一個詞的相關(guān)性(一般用這組詞在實際的大規(guī)模語料中以該詞在上下文中出現(xiàn)的頻率來度量),于是對每一個詞都可以得到一個相關(guān)性的特征詞向量,然后利用這些向量之間的相似度(一般用向量的夾角余弦來計算)作為這兩個詞的相似度。本發(fā)明對具體相似度計算過程不進行詳細說明。
例如,語音識別結(jié)果和歌曲信息均是半島,根據(jù)半島和bandao進行匹配,在預(yù)設(shè)音樂詞典里找到匹配的信息是半島鐵盒和伴島,均不是文字完全匹配的信息,則分別計算半島鐵盒、伴島與半島的相似度,例如,基于語料統(tǒng)計的詞語相似度算法進行計算,得到半島鐵盒與半島的相似度最高,因此將半島更正為半島鐵盒。這屬于文字缺失的情況。
2)如果僅有一個匹配的信息且不是文字完全匹配的信息,則將該歌曲信息更正為該匹配的信息。
例如,語音識別結(jié)果和歌曲信息均是半島,根據(jù)半島和bandao進行匹配,在預(yù)設(shè)音樂詞典里找到匹配的信息是半島鐵盒,結(jié)果唯一且不是文字完全匹配的信息,則將半島更正為半島鐵盒。
又如,語音識別結(jié)果和歌曲信息均是“不想長大呀”,根據(jù)“不想長大呀”和“buxiangzhangdaya”進行匹配,在預(yù)設(shè)音樂詞典里找到部分匹配信息是“不想長大”,結(jié)果唯一且不是文字完全匹配的信息,則將“不想長大呀”更正為“不想長大”。這屬于文字多余的情況。
(2)在有多個歌曲信息的情況下,針對當前歌曲信息,根據(jù)預(yù)設(shè)音樂詞典判斷當前歌曲信息匹配的信息是否與其他識別正確的歌曲信息存在對應(yīng)關(guān)系;如果是,則確定當前歌曲信息識別正確;如果否,則確定當前歌曲信息存在錯誤。
例如,語音識別結(jié)果是:我要聽楊宗緯和張碧晨唱的良良,歌曲信息有楊宗緯、張碧晨、良良,通過與預(yù)設(shè)音樂詞典的匹配,確定楊宗緯和張碧晨是識別正確的歌曲信息;將“良良”和“l(fā)iangliang”分別在預(yù)設(shè)音樂詞典中進行匹配,找到匹配的信息有良良和涼涼,此時根據(jù)與楊宗緯、張碧晨的對應(yīng)關(guān)系進行判斷,可以確定歌曲信息“良良”存在錯誤。這屬于同音字導(dǎo)致的錯誤。
在有多個歌曲信息的情況下,按照匹配的信息更正歌曲信息的過程如下:根據(jù)識別正確的歌曲信息、與各歌曲信息匹配的屬性信息及屬性信息的對應(yīng)關(guān)系,更正存在錯誤的歌曲信息。
例如,語音識別結(jié)果是:我要聽楊宗緯和張碧晨唱的良良,確定歌曲信息有楊宗緯、張碧晨、良良,將“良良”和“l(fā)iangliang”分別在預(yù)設(shè)音樂詞典中進行匹配,找到匹配的信息及其對應(yīng)關(guān)系如下:歌手良良演唱的良良、歌手楊宗緯和張碧晨演唱的涼涼,由此根據(jù)歌手名可以確定用戶想要聽的應(yīng)該是涼涼,由此將良良更正為涼涼。
又如,語音識別結(jié)果是:我要聽陳奕迅的圣誕節(jié),歌曲信息為陳奕迅和圣誕節(jié),利用“圣誕節(jié)”和“shengdanjie”在預(yù)設(shè)音樂詞典里找到匹配的信息圣誕結(jié)及其演唱者陳奕迅,由此根據(jù)歌手名可以確定圣誕節(jié)是識別錯誤的,將圣誕節(jié)更正為圣誕結(jié)。這屬于同音字導(dǎo)致的錯誤。
(3)如果不存在任何匹配的信息,則輸出提示信息,提示用戶輸入語音錯誤;或者仍然按照語音識別結(jié)果進行歌曲檢索,輸出歌曲檢索結(jié)果。
考慮到音樂資源會隨時增加,本發(fā)明實施例可以根據(jù)更新的音樂資源對預(yù)設(shè)音樂詞典進行更新,保證預(yù)設(shè)音樂詞典的及時性和準確性,進而保證能夠及時彌補語音識別錯誤的情況。
本實施例通過預(yù)設(shè)音樂詞典對語音識別結(jié)果進行糾錯,能夠規(guī)避語音識別中出現(xiàn)的文字缺失、文字多余以及同音字導(dǎo)致的文字錯誤的情況,減少了由于資源名稱不完整、資源名稱文字多余或者文字識別錯誤造成的音樂資源檢索錯誤或失敗,提高音樂服務(wù)的成功率。
實施例四
圖2是本發(fā)明實施例四提供的終端的結(jié)構(gòu)示意圖,如圖2所示,該終端包括:處理器210、存儲器220、輸入裝置230和輸出裝置240;終端中處理器210的數(shù)量可以是一個或多個,圖2中以一個處理器210為例;終端中的處理器210、存儲器220、輸入裝置230和輸出裝置240可以通過總線或其他方式連接,圖2中以通過總線連接為例。
存儲器220作為一種計算機可讀存儲介質(zhì),可用于存儲軟件程序、計算機可執(zhí)行程序,如本發(fā)明實施例中的語音點歌方法對應(yīng)的程序指令。處理器210通過運行存儲在存儲器220中的軟件程序及指令,從而執(zhí)行終端的各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的語音點歌方法。
存儲器220可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序;存儲數(shù)據(jù)區(qū)可存儲根據(jù)終端的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲器220可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他非易失性固態(tài)存儲器件。在一些實例中,存儲器220可進一步包括相對于處理器210遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至終端。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
輸入裝置230可用于接收輸入的語音信息和字符信息,以及產(chǎn)生與終端的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入,例如,輸入裝置230可以是麥克風(fēng)、鍵盤、顯示屏等。輸出裝置240可包括揚聲器、顯示屏等設(shè)備,其中揚聲器用于播放語音和歌曲,顯示屏用于顯示歌曲及相關(guān)信息。
實施例五
本發(fā)明實施例五還提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時用于執(zhí)行一種語音點歌方法,該方法包括:
接收用戶輸入的語音信息;
從語音信息中獲取至少一個音樂屬性標簽;
根據(jù)上一輪查找過程所使用的音樂屬性標簽與本輪獲取的上述至少一個音樂屬性標簽,查找對應(yīng)的歌曲;
輸出對應(yīng)的歌曲。
當然,本發(fā)明實施例所提供的一種計算機可讀存儲介質(zhì),其上存儲有計算機程序(也稱為計算機可執(zhí)行指令),其計算機可執(zhí)行指令不限于如上所述的方法操作,還可以執(zhí)行本發(fā)明任意實施例所提供的語音點歌方法中的相關(guān)操作。
通過以上關(guān)于實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,本發(fā)明可借助軟件及必需的通用硬件來實現(xiàn),當然也可以通過硬件實現(xiàn),但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如計算機的軟盤、只讀存儲器(read-onlymemory,rom)、隨機存取存儲器(randomaccessmemory,ram)、閃存(flash)、硬盤或光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。