本技術(shù)涉及人工智能,尤其涉及一種問答方法及相關(guān)裝置。
背景技術(shù):
1、隨著人工智能技術(shù)的發(fā)展,問答技術(shù)越來越成熟。在已有的問答方法中,可以基于用戶指令打斷當(dāng)前應(yīng)答內(nèi)容的播報(bào),進(jìn)而開啟新的對話,然而當(dāng)用戶想繼續(xù)播報(bào)被打斷的應(yīng)答內(nèi)容時(shí),由于已有問答方法只關(guān)聯(lián)了相鄰對話,因此無法識別用戶繼續(xù)播報(bào)的相關(guān)指令。也就是說需要用戶重新提問、重新生成播報(bào)內(nèi)容進(jìn)行播報(bào),而無法在打斷位置進(jìn)行接續(xù)性的播報(bào),用戶體驗(yàn)差。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述的問題,本技術(shù)的實(shí)施例中提供了一種問答方法及相關(guān)裝置,在播報(bào)打斷后進(jìn)行了相應(yīng)處理,實(shí)現(xiàn)了應(yīng)答內(nèi)容在打斷后可以接續(xù)播報(bào)的目的。
2、為此,本技術(shù)的實(shí)施例中采用如下技術(shù)方案:
3、第一方面,本技術(shù)實(shí)施例提供了一種問答方法,該方法應(yīng)用于一種終端設(shè)備,該終端設(shè)備部署有大語言模型,該方法主要包括:大語言模型基于第一用戶指令生成應(yīng)答內(nèi)容,終端設(shè)備進(jìn)行該應(yīng)答內(nèi)容的播報(bào);在播報(bào)應(yīng)答內(nèi)容的過程中,終端設(shè)備檢測到第二用戶指令,生成中斷播報(bào)請求以及向大語言模型發(fā)送處理指令,大語言模型基于該處理指令指示中斷應(yīng)答內(nèi)容的生成,或者基于該處理指令繼續(xù)應(yīng)答內(nèi)容的生成,終端設(shè)備或者云端設(shè)備緩存繼續(xù)生成的內(nèi)容;接收到中斷播報(bào)請求,終端設(shè)備中斷應(yīng)答內(nèi)容的播報(bào);檢測到第三用戶指令,第三用戶指令指示繼續(xù)播報(bào)應(yīng)答內(nèi)容,終端設(shè)備播報(bào)應(yīng)答內(nèi)容中的未播報(bào)內(nèi)容,未播報(bào)內(nèi)容為大語言模型基于第一用戶指令和已播報(bào)內(nèi)容生成得到,或者未播報(bào)內(nèi)容為從緩存的繼續(xù)生成的內(nèi)容中讀取得到。
4、也就是說,基于大語言模型的生成應(yīng)答內(nèi)容特點(diǎn):邊生成、邊播報(bào),本技術(shù)實(shí)施例提供了一種問答方法,使得應(yīng)答內(nèi)容的播報(bào)可以在打斷后接續(xù)播報(bào)。從用戶的角度進(jìn)行分析,用戶發(fā)送第一用戶指令,以獲得應(yīng)答內(nèi)容進(jìn)行播報(bào);在應(yīng)答內(nèi)容進(jìn)行播報(bào)的過程中,用戶發(fā)送第二用戶指令,需要中斷應(yīng)答內(nèi)容的播報(bào),以進(jìn)行第二用戶指令或者其他指令的執(zhí)行;當(dāng)執(zhí)行包括第二用戶指令在內(nèi)的若干個(gè)用戶指令后,用戶可以發(fā)送第三用戶指令,在應(yīng)答內(nèi)容中斷后繼續(xù)播報(bào)其中的未播報(bào)部分。
5、本技術(shù)實(shí)施例中,為了實(shí)現(xiàn)繼續(xù)播報(bào)的目的,在接收到第二用戶指令后,生成中斷播報(bào)請求和處理指令。第一,中斷播報(bào)請求可以控制中斷對當(dāng)前應(yīng)答內(nèi)容的播報(bào),以響應(yīng)用戶的其他指令。第二,處理指令可以控制在中斷播報(bào)的同時(shí),中斷應(yīng)答內(nèi)容的生成,并記錄第一用戶指令和已播報(bào)內(nèi)容,以使繼續(xù)播報(bào)的用戶指令出現(xiàn)時(shí),基于記錄的第一用戶指令和已播報(bào)內(nèi)容,確定未播報(bào)內(nèi)容;或者不中斷應(yīng)答內(nèi)容的生成,也就是應(yīng)答內(nèi)容的繼續(xù)生成,從中斷位置記錄未播報(bào)內(nèi)容,以使繼續(xù)播報(bào)的用戶指令出現(xiàn)時(shí),可以直接獲取未播報(bào)內(nèi)容。因此,本技術(shù)實(shí)施例實(shí)現(xiàn)了應(yīng)答內(nèi)容的接續(xù)播報(bào)。因此,基于本技術(shù)實(shí)施例的方法,用戶可以在應(yīng)答內(nèi)容進(jìn)行播報(bào)的過程中打斷播報(bào),以執(zhí)行用戶的其他指令;在執(zhí)行完成其他指令后,用戶可以從打斷播報(bào)的位置進(jìn)行應(yīng)答內(nèi)容的繼續(xù)播報(bào)。本技術(shù)基于大語言模型的邊生成、邊播報(bào)的特點(diǎn),控制大語言模型的生成過程,使得應(yīng)答內(nèi)容的播報(bào)可以在打斷后接續(xù)播報(bào)。
6、在一種可能的實(shí)現(xiàn)方式中,在大語言模型中斷所述應(yīng)答內(nèi)容的生成時(shí),緩存第一用戶指令和/或已播報(bào)內(nèi)容。當(dāng)檢測到第三用戶指令時(shí),獲取緩存的第一用戶指令和/或已播報(bào)內(nèi)容,通過大語言模型,便可以得到未播報(bào)內(nèi)容。
7、在該實(shí)現(xiàn)方式中,提供了一種基于第一用戶指令和已播報(bào)內(nèi)容的確定未播報(bào)內(nèi)容的方法。示例性的,將第一用戶指令和應(yīng)答內(nèi)容的已播報(bào)內(nèi)容作為大語言模型的輸入,輸出應(yīng)答內(nèi)容的未播報(bào)內(nèi)容;或者將第一用戶指令作為語音模型的輸入,輸出應(yīng)答內(nèi)容的全部內(nèi)容,再基于應(yīng)答內(nèi)容的已播報(bào)內(nèi)容,從全部內(nèi)容中確定未播報(bào)內(nèi)容。也就是說,應(yīng)答內(nèi)容中斷播放時(shí),只緩存第一用戶指令和應(yīng)答內(nèi)容的已播報(bào)內(nèi)容。如果有繼續(xù)播報(bào)的用戶指令,則基于緩存的第一用戶指令和應(yīng)答內(nèi)容的已播報(bào)內(nèi)容,通過語音模型生成未播報(bào)內(nèi)容;如果沒有繼續(xù)播報(bào)的用戶指令,則不需要語音模型進(jìn)行應(yīng)答內(nèi)容的生成。因此,該實(shí)現(xiàn)方法僅在有繼續(xù)播報(bào)的用戶指令時(shí),調(diào)用大語言模型,占用邏輯資源少,效率高。
8、在另一種可能的實(shí)現(xiàn)方式中,在大語言模型中斷所述應(yīng)答內(nèi)容的生成時(shí),還緩存了第一用戶指令的上下文。當(dāng)檢測到第三用戶指令時(shí),獲取緩存的第一用戶指令、第一用戶指令的上下文、已播報(bào)內(nèi)容,通過大語言模型,便可以得到未播報(bào)內(nèi)容。
9、在該實(shí)現(xiàn)方式中,還需要對第一用戶指令的上下文進(jìn)行記錄,以便更精準(zhǔn)實(shí)現(xiàn)播報(bào)恢復(fù)。示例性的,上下文可以是打斷時(shí)所在對話輪次、用戶的車是否???、用戶的歷史問法、用戶畫像等。比如,用戶打斷播報(bào)后,用戶進(jìn)行了多次對話,此時(shí)上下文可能已經(jīng)發(fā)生改變,比如用戶的歷史問法發(fā)生改變或者用戶畫像發(fā)生更新等,因此,在接續(xù)播報(bào)時(shí),可以基于已播報(bào)內(nèi)容和記錄的第一用戶指令的上下文進(jìn)行斷點(diǎn)之后的播報(bào)內(nèi)容的生成,以便接續(xù)性的播報(bào)內(nèi)容更符合中斷之前的場景,而不受上下文變化的干擾。
10、在另一種可能的實(shí)現(xiàn)方式中,當(dāng)檢測到第二用戶指令時(shí),只有第二用戶指令對應(yīng)的用戶意圖滿足預(yù)設(shè)條件,才會(huì)生成中斷播報(bào)請求以及向大語言模型發(fā)送處理指令。
11、在該實(shí)現(xiàn)方式中,僅在用戶出現(xiàn)明確意圖時(shí),才能打斷語言模型的流式播報(bào),實(shí)現(xiàn)了流式播報(bào)打斷可控的目的。
12、在另一種可能的實(shí)現(xiàn)方式中,判斷第二用戶指令對應(yīng)的用戶意圖滿足預(yù)設(shè)條件的一種實(shí)現(xiàn)方式是預(yù)設(shè)白名單。也就是說,通過確定第二用戶指令對應(yīng)的用戶意圖為預(yù)設(shè)白名單范圍內(nèi)的意圖,判斷該第二用戶指令可以中斷當(dāng)前應(yīng)答內(nèi)容的播報(bào),即生成中斷播報(bào)請求以及向大語言模型發(fā)送處理指令。
13、在該實(shí)現(xiàn)方式中,本技術(shù)實(shí)施例對判斷用戶為明確意圖的方法不進(jìn)行限定,例如可以通過白名單管理的方法。預(yù)設(shè)白名單內(nèi)的用戶意圖為明確意圖,不在預(yù)設(shè)白名單內(nèi)的用戶意圖為非明確意圖。當(dāng)白名單下的意圖出現(xiàn)時(shí),語言模型可以響應(yīng)用戶的意圖,進(jìn)行中斷流式播報(bào)、開始新的對話輪等執(zhí)行動(dòng)作。
14、在另一種可能的實(shí)現(xiàn)方式中,自然語言理解模型的用途之一是進(jìn)行用戶意圖分析。因此,可以通過自然語言理解模型,確定第二用戶指令對應(yīng)的用戶意圖。
15、在該實(shí)現(xiàn)方式中,利用自然語言理解模型的意圖識別功能,可以通過用戶指令進(jìn)行理解分析,確定用戶指令對應(yīng)的用戶意圖。
16、在另一種可能的實(shí)現(xiàn)方式中,本技術(shù)實(shí)施例對用戶輸入內(nèi)容的形式不進(jìn)行限定。當(dāng)用戶輸入內(nèi)容的形式為音頻時(shí),對用戶輸入的音頻進(jìn)行語音分析,得到對應(yīng)的第一用戶指令和/或第二用戶指令和/或第三用戶指令;當(dāng)用戶輸入內(nèi)容的形式為文字時(shí),基于預(yù)設(shè)處理規(guī)則處理用戶輸入的文字,得到第一用戶指令和/或第二用戶指令和/或第三用戶指令。
17、在該實(shí)現(xiàn)方式中,本技術(shù)實(shí)施例中,對用戶輸入內(nèi)容的形式不進(jìn)行限定。也就是說,用戶輸入內(nèi)容可以是語音或者文字。當(dāng)用戶輸入為音頻時(shí),可以對用戶輸入內(nèi)容進(jìn)行語音分析處理,得到本技術(shù)實(shí)施例中的用戶指令。當(dāng)用戶輸入為文字時(shí),可以基于預(yù)設(shè)處理規(guī)則,對用戶輸入內(nèi)容進(jìn)行處理,得到本技術(shù)實(shí)施例中的用戶指令。預(yù)設(shè)處理規(guī)則包括基于用戶輸入文字生成提示文本等規(guī)則。
18、第二方面,本技術(shù)提供了一種問答方法,應(yīng)用于一種問答系統(tǒng),問答系統(tǒng)包括終端設(shè)備和云端設(shè)備,終端設(shè)備與云端設(shè)備通信連接,云端設(shè)備部署有大語言模型,終端設(shè)備進(jìn)行用戶指令的檢測和應(yīng)答內(nèi)容的播報(bào)。該問答方法包括:當(dāng)終端檢測到第一用戶指令,向云端設(shè)備發(fā)送第一用戶指令;云端設(shè)備接收第一用戶指令后,通過大語言模型,生成應(yīng)答內(nèi)容;終端設(shè)備接收和播報(bào)應(yīng)答內(nèi)容,在播報(bào)應(yīng)答內(nèi)容的過程中,終端設(shè)備檢測到第二用戶指令,向云端設(shè)備發(fā)送第二用戶指令;云端設(shè)備接收第二用戶指令后,生成中斷播報(bào)請求,向終端設(shè)備發(fā)送中斷播報(bào)請求,以及向大語言模型發(fā)送處理指令,其中,處理指令指示大語言模型中斷應(yīng)答內(nèi)容的生成,或者處理指令指示大語言模型繼續(xù)應(yīng)答內(nèi)容的生成,以使繼續(xù)生成的內(nèi)容被緩存;終端設(shè)備接收中斷播報(bào)請求后,中斷應(yīng)答內(nèi)容的播報(bào);終端設(shè)備檢測到第三用戶指令,向云端設(shè)備發(fā)送第三用戶指令,第三用戶指令指示繼續(xù)播報(bào)應(yīng)答內(nèi)容;云端設(shè)備接收第三用戶指令,基于第一用戶指令和已播報(bào)內(nèi)容生成,通過大語言模型,確定應(yīng)答內(nèi)容中的未播報(bào)內(nèi)容,以及向終端設(shè)備發(fā)送未播報(bào)內(nèi)容;或者,云端設(shè)備或者終端設(shè)備從緩存的繼續(xù)生成的內(nèi)容中,讀取得到應(yīng)答內(nèi)容中的未播報(bào)內(nèi)容;終端設(shè)備播報(bào)得到的未播報(bào)內(nèi)容。
19、在一種可能的實(shí)現(xiàn)方式中,該方法還包括:在大語言模型中斷應(yīng)答內(nèi)容的生成時(shí),云端設(shè)備或者終端設(shè)備緩存第一用戶指令和/或已播報(bào)內(nèi)容。因此,大語言模型可以基于緩存的第一用戶指令和已播報(bào)內(nèi)容生成得到未播報(bào)內(nèi)容。
20、在另一種可能的實(shí)現(xiàn)方式中,該方法還包括:在大語言模型中斷應(yīng)答內(nèi)容的生成時(shí),云端設(shè)備或者終端設(shè)備緩存第一用戶指令的上下文。因此,大語言模型可以基于緩存的第一用戶指令、第一用戶指令的上下文和已播報(bào)內(nèi)容生成得到未播報(bào)內(nèi)容。避免了上下文的變化對生成未播報(bào)內(nèi)容造成的影響。
21、在另一種可能的實(shí)現(xiàn)方式中,云端設(shè)備接收第二用戶指令,在確定第二用戶指令對應(yīng)的用戶意圖滿足預(yù)設(shè)條件后,生成中斷播報(bào)請求。也就是說,只有第二用戶指令對應(yīng)的用戶意圖滿足預(yù)設(shè)條件,才會(huì)打斷當(dāng)前應(yīng)答內(nèi)容的播報(bào)。
22、在另一種可能的實(shí)現(xiàn)方式中,通過設(shè)置預(yù)設(shè)白名單的方式,限制可以打斷應(yīng)答內(nèi)容播報(bào)的用戶意圖。也就是說,只有第二用戶指令對應(yīng)的用戶意圖為預(yù)設(shè)白名單范圍內(nèi)的意圖。才打斷應(yīng)答內(nèi)容播報(bào)。
23、在另一種可能的實(shí)現(xiàn)方式中,通過自然語言理解模型,確定第二用戶指令對應(yīng)的用戶意圖。
24、在另一種可能的實(shí)現(xiàn)方式中,對該方法的適用場景不進(jìn)行限制,該方法可以適用于音頻和文字的問答場景中。第一用戶指令和/或第二用戶指令和/或第三用戶指令可以基于對用戶輸入的音頻進(jìn)行語音分析得到,也可以基于對用戶輸入的文字進(jìn)行預(yù)設(shè)處理規(guī)則的處理后得到。
25、第三方面,本技術(shù)提供了一種問答方法,應(yīng)用于一種云端設(shè)備,云端設(shè)備部署有大語言模型,該問答方法包括:利用大語言模型,響應(yīng)于用戶的第一用戶指令,生成對應(yīng)的應(yīng)答內(nèi)容,生成的應(yīng)答內(nèi)容可以向用戶播報(bào);在應(yīng)答內(nèi)容被播報(bào)的過程中,當(dāng)接收到第二用戶指令時(shí),生成中斷播報(bào)請求,以指示中斷應(yīng)答內(nèi)容的播報(bào),還向大語言模型發(fā)送處理指令,以使大語言模型中斷或者繼續(xù)應(yīng)答內(nèi)容的生成,當(dāng)示大語言模型繼續(xù)應(yīng)答內(nèi)容的生成,該繼續(xù)生成的內(nèi)容被緩存,中斷播報(bào)請求用于中斷應(yīng)答內(nèi)容的播報(bào);接收到第三用戶指令,當(dāng)?shù)谌脩糁噶钪甘镜挠脩粢鈭D為繼續(xù)播報(bào)應(yīng)答內(nèi)容時(shí),基于第一用戶指令和已播報(bào)內(nèi)容生成,利用大語言模型,確定應(yīng)答內(nèi)容中的未播報(bào)內(nèi)容,或者,讀取緩存的繼續(xù)生成的內(nèi)容,得到未播報(bào)內(nèi)容,以使未播報(bào)內(nèi)容被播報(bào)。因此,實(shí)現(xiàn)了應(yīng)答內(nèi)容的播報(bào)過程的中斷和繼續(xù)的目的。
26、在另一種可能的實(shí)現(xiàn)方式中,該方法還包括:在大語言模型中斷應(yīng)答內(nèi)容的生成時(shí),第一用戶指令和/或已播報(bào)內(nèi)容被緩存。因此,大語言模型可以基于緩存的第一用戶指令和已播報(bào)內(nèi)容生成得到未播報(bào)內(nèi)容。
27、在另一種可能的實(shí)現(xiàn)方式中,該方法還包括:在大語言模型中斷應(yīng)答內(nèi)容的生成時(shí),第一用戶指令的上下文被緩存。因此,大語言模型可以基于第一用戶指令、第一用戶指令的上下文和已播報(bào)內(nèi)容生成得到未播報(bào)內(nèi)容。
28、在另一種可能的實(shí)現(xiàn)方式中,對打斷播報(bào)的用戶指令進(jìn)行了限制。進(jìn)一步地,確定第二用戶指令對應(yīng)的用戶意圖,當(dāng)該用戶意圖滿足預(yù)設(shè)條件后,才生成中斷播報(bào)請求。
29、在另一種可能的實(shí)現(xiàn)方式中,預(yù)設(shè)條件的實(shí)現(xiàn)方式是預(yù)設(shè)白名單,確定第二用戶指令對應(yīng)的用戶意圖。當(dāng)該用戶意圖為預(yù)設(shè)白名單范圍內(nèi)的意圖時(shí),打斷應(yīng)答內(nèi)容的播報(bào)。
30、在另一種可能的實(shí)現(xiàn)方式中,利用自然語言理解模型,分析得到第二用戶指令對應(yīng)的用戶意圖。
31、在另一種可能的實(shí)現(xiàn)方式中,當(dāng)用戶輸入內(nèi)容的形式為音頻時(shí),對用戶輸入的音頻進(jìn)行語音分析得到對應(yīng)的第一用戶指令和/或第二用戶指令和/或第三用戶指令。當(dāng)用戶輸入內(nèi)容的形式為文字時(shí),基于預(yù)設(shè)處理規(guī)則進(jìn)行文字處理得到對應(yīng)的第一用戶指令和/或第二用戶指令和/或第三用戶指令。
32、第四方面,本技術(shù)提供了一種問答方法,應(yīng)用于一種終端設(shè)備,該問答方法包括:終端設(shè)備檢測到第一用戶指令,向云端設(shè)備發(fā)送第一用戶指令,其中,第一用戶指令用于指示云端設(shè)備基于大語言模型生成應(yīng)答內(nèi)容;終端設(shè)備接收和播報(bào)云端設(shè)備發(fā)送的應(yīng)答內(nèi)容,在播報(bào)應(yīng)答內(nèi)容的過程中,終端設(shè)備檢測到用于指示云端設(shè)備生成中斷播報(bào)請求的第二用戶指令,并向云端設(shè)備發(fā)送所述第二用戶指令;之后,終端設(shè)備接收云端設(shè)備發(fā)送的中斷播報(bào)請求,中斷應(yīng)答內(nèi)容的播報(bào);終端設(shè)備檢測到第三用戶指令,向云端設(shè)備發(fā)送第三用戶指令,第三用戶指令指示繼續(xù)播報(bào)應(yīng)答內(nèi)容中的未播報(bào)內(nèi)容;最后,終端設(shè)備接收云端設(shè)備發(fā)送的上述應(yīng)答內(nèi)容中的未播報(bào)內(nèi)容,播報(bào)該未播報(bào)內(nèi)容。
33、在另一種可能的實(shí)現(xiàn)方式中,當(dāng)用戶輸入內(nèi)容的形式為音頻時(shí),對用戶輸入的音頻進(jìn)行語音分析得到對應(yīng)的第一用戶指令和/或第二用戶指令和/或第三用戶指令。當(dāng)用戶輸入內(nèi)容的形式為文字時(shí),基于預(yù)設(shè)處理規(guī)則進(jìn)行文字處理得到對應(yīng)的第一用戶指令和/或第二用戶指令和/或第三用戶指令。
34、第五方面,本技術(shù)提供了一種終端設(shè)備。終端設(shè)備部署有大語言模型,終端設(shè)備用于執(zhí)行上述第一方面任意一項(xiàng)的方法?;蛘呓K端設(shè)備用于執(zhí)行上述第四方面任意一項(xiàng)的方法。
35、第六方面,本技術(shù)提供了一種問答系統(tǒng),問答系統(tǒng)包括終端設(shè)備和云端設(shè)備,終端設(shè)備與云端設(shè)備通信連接,云端設(shè)備部署有大語言模型,終端設(shè)備用于執(zhí)行上述第四方面任意一項(xiàng)的方法,和/或云端設(shè)備用于執(zhí)行上述第三方面任意一項(xiàng)的方法,和/或問答系統(tǒng)用于執(zhí)行上述第二方面任意一項(xiàng)的方法。
36、第七方面,本技術(shù)提供了一種云端設(shè)備,云端設(shè)備部署有大語言模型,云端設(shè)備與終端設(shè)備通信連接,云端設(shè)備用于執(zhí)行上述第三方面任意一項(xiàng)的方法。
37、第八方面,本技術(shù)提供了一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序。當(dāng)計(jì)算機(jī)程序在被處理器執(zhí)行時(shí),使得上述任意一項(xiàng)的方法被實(shí)現(xiàn)。
38、第九方面,本技術(shù)提供了一種芯片,該芯片包括處理電路、存儲介質(zhì),該存儲介質(zhì)中存儲有計(jì)算機(jī)程序代碼;該計(jì)算機(jī)程序代碼被該處理電路執(zhí)行時(shí),實(shí)現(xiàn)上述任意一項(xiàng)的方法。
39、第十方面,本技術(shù)提供了一種計(jì)算機(jī)程序產(chǎn)品,其包括有程序指令,程序指令當(dāng)被計(jì)算機(jī)執(zhí)行時(shí)使得計(jì)算機(jī)執(zhí)行上述任意一項(xiàng)的方法。