?

醫療領域對話系統口語理解綜述

2024-03-26 02:39任芳慧郭熙銅楊錦鋒
中文信息學報 2024年1期
關鍵詞:意圖語音口語

任芳慧,郭熙銅,彭 昕,楊錦鋒,3

(1.哈爾濱工業大學 經濟與管理學院,黑龍江 哈爾濱 150001;2. 寧波市中醫藥研究院,浙江 寧波 315000;3.哈爾濱理工大學 計算機科學與技術學院,黑龍江 哈爾濱 150080)

0 引言

作為任務型對話系統(Task-oriented Dialogue System, TOD)的重要組成部分,口語理解(Spoken Language Understanding,SLU)負責接收用戶的語音或文本作為輸入,并解析出用戶的意圖。廣義的口語理解等同于自然語言理解,即不僅局限于口頭語,還包括對書面語的理解。而狹義的口語理解則只針對日??陬^交談時所使用的語言(Spoken Language)??谡Z重在表意,主要關注音韻、語法、語義和語用。與之相對的,書面語對拼寫正確和可讀性有更高的要求。受限于環境和設備,以音頻形式存在的口語還可能摻雜環境噪聲。因此,相較于書面語,口語往往有模糊性強、噪聲多、注重表意而輕邏輯等特點,不可以簡單地套用對書面語的理解來解決。

與此同時,隨著移動互聯網的普及,在線醫療咨詢蓬勃發展。它不僅具有成本低、更加便捷的特點,還可以有效解決醫療資源不均衡的問題。目前在線醫療的開展方式大多為醫患對話,即患者向醫生描述自己的癥狀,醫生進行問診和解答。毫無疑問,口語理解的引入可以提高這一過程的效率。此外,隨著智慧醫療的不斷推廣,借助人工智能技術的智能導診、預檢分診等場景同樣需要對患者的口語進行理解,從而識別出患者的意圖和癥狀。因此,醫療領域的口語理解具備較大的發展潛力。

目前領域內對醫療口語理解的綜述研究還很少,大多并未對口語和書面語加以區分,且所述技術稍有滯后。故本文對醫療口語理解進行了較為全面的綜述,比對了其與通用領域口語理解的區別,并重點闡述如何在大模型的背景下開展相關研究,以期對智慧醫療領域做出貢獻。

本文的組織結構如下: 引言部分介紹醫療口語理解的研究背景和重要意義;第1節對通用領域的口語理解問題進行闡述,并介紹常用數據集、評價指標和模型;第2節對醫療領域口語理解進行介紹,重點說明其與一般口語理解問題的區別,以及研究的難點所在;第3節則重點探討醫療口語理解的研究現狀及存在的不足之處;第4節討論未來研究方向,特別是如何利用大模型的能力助推醫療口語理解研究;最后第5節進行總結與展望。

1 口語理解任務簡介

一般被認為,任務型對話系統包含口語理解、對話管理(Dialogue Management)和自然語言生成(Natural Language Generation)三大模塊。如圖1所示,任務型對話系統的對話過程如下: 經過口語理解模塊,用戶的語言會被轉換為對話行為四元組,即“領域-意圖-槽位-槽值”(Domain-Intent-Slot-Value)的形式。對話管理模塊將對話行為解析為對話狀態,并通過對話策略的制定,得到系統行為(System Act)。自然語言生成模塊則將其轉化為自然語言進行輸出。毫無疑問,作為整個TOD的開端,口語理解任務的性能影響著TOD的整體性能。

圖1 任務型對話系統流程圖

1.1 問題定義

為了預測“Domain-Intent-Slot-Value”四元組,口語理解任務可以被分解為領域分類(Domain Classification,DC)、意圖識別(Intent Detection,ID)和槽位填充(Slot Filling,SF)三個子任務。

(1) 領域分類: TOD往往面向某個或某些特定的領域而設計。對于多領域問題,若將口語音頻或口語文本經過編碼后形成的序列記作S=(e1,e2,…,en),領域分類任務旨在預測出序列S所涉及的領域,故形式化定義如式(1)所示。

Domain=Classification(S)

(1)

(2) 意圖識別: 由于一句話中可能包含多個意圖,意圖識別任務通常采用多個二分類器或多標簽分類實現,故形式化定義如式(2)、式(3)所示。

(3) 槽位填充: 槽位(Slot)通常有告知型(Inform)和問詢型(Request)之分。對于告知型槽位,其槽值往往來自于對話內容,可以通過預測序列的BIO標注來定位槽位和槽值,如圖2所示。與之相反,問詢型槽位表示用戶向對話系統尋求信息(如某餐廳的電話號碼),因而無法從用戶輸入中提取信息,對應槽值通常為空。

對Inform型槽位的預測可通過序列標注任務實現。給定輸入序列,槽位填充任務返回標簽序列L=(l1,l2,…,ln)。

L=Sequence-label(S)

(4)

對Request型槽位的預測則可以轉換為分類任務實現。

Slot=Classification(S)

(5)

1.2 常用數據集和評價指標

口語理解領域較為常用的數據集有ATIS[1]、SNIPS[2]、FSC[3]、SLURP[4]以及中文數據集CATSLU[5]。此外,對話狀態跟蹤任務中的經典數據集DSTC2[6]、DSTC10[7]也是基于口語而非書面語構造的。

然而,與書面語數據集MultiWOZ[8]、CrossWOZ[9]、DSTC8[10]、NLU++[11]等相比,上述數據集在數量和質量上都相差甚遠,如表1、表2 所示。不過,近期有些工作充分調研了口語對話的特點,并制作了較大規模的數據集[12],感興趣的讀者可以查閱相關文獻。

表1 對話數據集對比

表2 口語理解數據集對比

在評價指標上,針對“Domain-Intent-Slot-Value”四元組的預測,口語理解任務重點關注意圖準確率(Intent Accuracy)和整體準確率(Overall Accuracy)。前者僅關心意圖的預測是否正確,而后者則需要將領域、意圖、槽位和槽值全部預測正確。此外,F1值也常被用于評估模型性能。

根據Bastianelli等的觀點[4],上述評估方法存在如下弊端: 當語音辨識出現錯誤時,所預測的槽值會與真實標簽不同。面對這種情況,“一刀切”地將其記為預測錯誤顯然是不合理的。因此,改進評估準則SLU-F1被提出: 它不會過度懲罰由自動語音識別所引起的不對齊,并可以同時捕獲語音轉換的質量和實體標注的質量。

此外,現有評價指標未能考慮到同義詞帶來的誤判,因而在使用大模型實現口語理解任務時,需要對標簽進行調整,從而減少第一類錯誤的發生。

1.3 模型分類

本節將口語理解模型分為三大類,分別是流水線式(Pipeline)、端到端式(E2E)和生成式大模型(Generative LLM),如圖3和表3所示。

表3 口語理解代表性工作的分類梳理

圖3 模型分類

(1)流水線式: 模型接收語音作為輸入,通過自動語音識別(Automatic Speech Recognition,ASR)模塊將其轉化為文字,并借助對書面語的理解預測出“領域-意圖-槽位-槽值”四元組。

不過,由于語音信號的高維可變性,在缺乏大量訓練數據的情況下,完成自動語音識別中的“波形→音素→語素→單詞→概念→意義”的過程是極為困難的[3]。盡管低資源語音識別領域涌現出了許多優秀的工作[13-14],但這一局限性還是影響了流水線式口語理解的發展。

此外,盡管流水線式架構具備更強的可解釋性,但它依然存在三個主要問題: ①語音信號的特性給ASR模塊帶來了不小的挑戰,而這一階段的錯誤會造成口語理解整體性能的降低。②由于語音識別和文本理解分開訓練時的損失函數不同,單一模塊的性能提高并不意味著系統整體性能提高。③誤差會在不同模塊間傳遞和累積,從而影響系統整體精度。為了解決這些問題,端到端架構應運而生。

(2)端到端式: 模型從聲音信號中直接預測領域、意圖和槽位槽值,無需顯式生成文本。根據Lugosch等的研究,端到端范式具有如下優點: ①可以直接優化最終的評價目標,如意圖識別準確性;②無需顯式生成文本,從而避免中間步驟出錯;③某些與意圖識別相關的特征(如韻律)僅存在于語音中,端到端范式有助于充分利用這些特征[3]。

Serdyuk等首次探索從音頻特征直接訓練口語理解模型的可能性[25]。隨后,預訓練范式逐漸被引入端到端口語理解。根據Seo等的研究[21],基于預訓練的端到端模型可以分成知識蒸餾、跨模態共享編碼、帶接口的網絡集成三大類。隨著GPT等生成式語言模型的興起,口語理解領域有了新的研究范式,即依托生成式大模型實現意圖識別、槽位填充等任務。

(3)生成式大模型: 區別于普通的端到端架構,口語理解任務可以采用生成式大模型的范式加以解決。類似于文本領域的GPT基礎模型[26],語音領域也有自己的生成式大模型GSLM[27]和pGSLM[28]。結合文本領域的提示微調(Prompt Tuning)方法,Chang等對生成式語音模型做了進一步擴展,提出了SpeechPrompt[22]和SpeechPrompt v2[23],在意圖識別、口音檢測等分類任務和槽位填充、自動語音識別等序列生成任務上均取得了不錯的表現。

除了基于無文本的生成式語音模型外,還可以利用文本領域的生成式語言模型來完成口語理解。例如,Gao等提出了一個框架WAVPROMPT,通過將語音轉換為語言模型可以理解的形式,并設置相應提示,利用開源生成式大語言模型GPT-2的少樣本學習能力(Few-shot Learning)來完成口語理解任務[24]。

2 醫療口語理解概述

2.1 醫療領域任務型對話系統的難點

前文介紹了通用領域任務型對話系統及其口語理解任務,第2節則重點闡述醫療領域對話系統研究的難點,并進一步解釋醫療SLU所面臨的挑戰。與通用領域對話系統相比,醫療健康領域對話系統的研究仍處于萌芽期[29]。醫療TOD具備如下難點:

(1) 從數據集角度,通用領域數據集一般采用眾包方式人工構建,而醫療數據集則大多來源于網站數據的爬取。具體地,通用領域數據集大多基于人-人對話(Human-to-Human, H2H)或人-機對話(Human-to-Machine, H2M)的方式構建。然而,受限于醫療領域的專業性,人工構建大規模數據集的方法實現難度較大。故現有工作大多來自在線醫療平臺的醫患對話數據,或醫療短視頻數據,抑或是設計模板讓模型生成數據,如表4所示。例如,中文醫療數據集MedDG來源于春雨醫生[31];Zeng等則爬取了國外醫療網站iclinic.com和healthcaremagic.com上的數據,構建了MedDialog-EN數據集[32]。然而,Shim等指出,使用這些爬取的數據存在較大的隱私安全問題,特別是具有《通用數據保護條例》的歐盟地區[29]。

表4 醫療對話數據集對比

(2) 從對話決策角度,與通用場景(如選擇航班、篩選符合條件的餐館)不同,醫療決策過程更為復雜,往往需要更多的專業知識和額外信息。醫療TOD的模式(Schema)具備更多本體和屬性,且本體-本體之間、本體-屬性之間、屬性-屬性之間相關性極強[36-37]。因此,為了解用戶狀態,醫生需要結合自身專業知識,對用戶進行有針對性的追問,以獲得更多輔助決策的關鍵信息,然后給出合適的建議。這一過程不僅涉及對話行為的決策,還涉及專業知識的推理,簡單的知識查詢或者基于對話歷史的生成方法難以形成有效決策。

(3) 從對話評估角度,醫療對話系統的評估更為復雜,且需要具備較高的專業知識。例如,為判斷醫療對話系統的生成是否正確,醫學專家的引入是必備的。與此同時,患者滿意度對醫療對話系統的應用至關重要,故需要加入患者視角的評估。詳細內容請參考文獻[29]。

2.2 醫療領域口語理解的挑戰

作為醫療對話系統的第一步,醫療SLU同樣具備自己的特點,從而使得槽位填充和意圖識別這兩個子任務面臨著不小的挑戰。

(1)槽位填充任務: 患者大多不了解醫學知識和術語,在給醫生描述自己的癥狀時,往往會出現不準確且關鍵詞分散的特點。Shi等指出,患者總是以無序的語言描述自己的癥狀(如“腹痛”拆成“肚子”和“痛”),同時不可避免地具有方言和個人表達習慣的差異[38]。這些特點給槽位填充任務造成了困難。

(2)意圖識別任務: 由于領域內缺乏像ATIS[1]、MultiWOZ[8]等具備極高影響力的數據集,醫療口語理解數據集的標注范式(Schema)差異較大。例如,醫療搜索檢索詞意圖分類數據集(KUAKE-QIC)將醫學問題分為病情診斷、病因分析、治療方案、醫療費用等11種類型[39]。而IMCS-V2[36,40-43]則遵循Inform和Request經典分類,將醫療文本的意圖分為告知-癥狀、提問-已有檢查和治療、提問-病因、告知-就醫建議等16類??梢钥吹?不同標注規范下的數據集難以合并。同樣,依托于某一數據集構建的算法可能對其他數據集不適用,這降低了意圖識別模型的泛化性。

3 醫療口語理解研究現狀與不足

盡管醫療SLU研究存在眾多難點和挑戰,但學者們仍取得了一定的成果。因此,本節將從數據集構建、算法設計和應用三個維度,對已經取得的成果進行介紹,并說明現有研究存在的不足之處,以期讀者快速了解這一領域的研究動態。

3.1 醫療口語理解數據集構建的研究現狀與不足

如前所述,盡管醫療領域數據集構建不易,醫療口語理解領域近些年來也出現了許多優秀的數據集,如表5所示。根據SLU的任務劃分,本文將醫療口語理解數據集分為以下三類: ①僅面向意圖識別;②僅面向槽位填充(即醫療命名實體的識別);③面向SLU。

表5 醫療口語理解數據集

(1)僅面向意圖識別: 除了上一小節提到的KUAKE-QIC[39]外,Chen等構建了中文醫療意圖識別數據集CMID[44]。該數據集收集自20個專業在線醫療問答網站,通過眾包方式標注意圖,共有12 000個問題。該數據集涵蓋兩類意圖標注,分別是4種類型(如病癥、藥物)和36種亞型(如治療方法、副作用)。盡管該數據集也對命名實體進行了標注,但因其主要用于意圖識別,且命名實體標注的目的是輔助意圖識別,故本文將其劃分至意圖識別類。

(2)僅面向槽位填充: 這一類別的數據集大多對應命名實體識別任務。例如,CMeEE-V2數據集標注了疾病、臨床表現、醫療設備、醫療程序等9大類實體,其訓練集包含15 000條數據[45];CMeIE-V2數據集則利用諸如疾病-藥物治療-藥物這樣的層級關系進行標注[48];Varshney等構建了一個多輪次新冠肺炎對話數據集,對疾病、癥狀、醫療歷史、藥物、療法等7大類實體進行標注,共有1 012個對話[46]。

(3)面向SLU: 這一類型的典型數據集是IMCS-V2[36,40-43]。該數據集不僅標注了命名實體、對話意圖等與SLU有關的信息,還包括癥狀標簽、醫療報告等其他信息,共包含4 116個對話,164 731條句子。

總體上看,現有的醫療口語理解數據集存在如下幾點不足: ①大部分數據集都是從在線醫療平臺(如春雨醫生、丁香園等)上爬取得到的,可能存在隱私問題。②現有醫療口語理解數據集大多為書面語而非口語,且缺乏音頻。例如,權威榜單CBLUE(中文醫療信息處理評測基準)中,與醫療口語理解相關的數據集(如意圖識別、實體識別、信息抽取等)幾乎都是書面語文本,且不存在音頻形式的醫療口語數據集[39]。③現有數據集覆蓋的病種有限,部分病種缺乏數據,且標簽分布不平衡。例如,標注最為完善的數據集IMCS-V2[36,40-43]僅覆蓋了10種兒科疾病;④目前業內缺乏統一標注范式,不同數據集的標注方法不同、側重點差異明顯,這給數據集的整合帶來困難。

基于以上幾點不足,大規模有標注的醫療口語數據集難以獲取,這極大地限制了醫療SLU的發展。

3.2 醫療口語理解算法設計的研究現狀與不足

由第2節可知,醫療SLU存在眾多難點。近些年來,不少學者針對醫療SLU的特點,設計出優秀的算法,取得了不錯的效果。例如,Lin等采用圖來模擬癥狀之間的共現關系,提高了癥狀推斷的精度[36];Shi等將槽值對視為預定義的類別,從而把槽位填充任務轉化為多標簽分類問題,并創新性地針對癥狀描述較為分散的特點設置了標簽嵌入注意力模型,針對缺乏高質量有標注數據的特點設置了特殊的弱監督機制[38];Lin等則提出了圖進化元學習(Graph-Evolving Meta-Learning,GEML)框架,通過在新的疾病-癥狀相關性推理中學習進化知識圖譜,來動態調整疾病和癥狀的關系[37]。

分析現有研究,還存在以下問題: ①現有方法顯然無法覆蓋醫療口語理解的全部任務。例如,現有研究大多針對文本模態,缺乏對口語音頻的研究,可以結合多模態技術加以改善;②主流方法仍存在一定的提升空間,可以考慮利用大模型相關的最新技術,如思維鏈、基于人類反饋的強化學習、高效參數微調等方法,提升現有方法的性能。

3.3 醫療口語理解應用的研究現狀與不足

醫療口語理解應用廣泛。在就診前,SLU系統可以預測患者的癥狀,從而實現智能導診和預檢分診。例如,Macherla等面向端到端對話診療系統,構建了首個相關的英文數據集MDDial,并綜合考慮癥狀和疾病預測之間的關系,改進現有評估方法,從而提升系統的可靠性[35]。

在診斷過程中,SLU系統同樣可以輔助醫生診療,提升診斷效率。例如,Kocabiyikoglu等將口語理解模塊引入處方管理系統,使得醫生可以在移動設備上口頭記錄他們的處方[47,49];Zhang等設計了醫學信息提取器MIE,可應用于電子病歷的書寫,減輕醫生的負擔[50]。

在診斷完成后,SLU系統可以用于患者的自我管理。例如,為便于患者理解醫生開具的出院材料,Cai等構建了PaniniQA交互式問答系統,以幫助患者更好地恢復健康、實現自我管理[51];Narynov等則設計了心理學聊天機器人,幫助人們釋放壓力,保持心理健康[52]。

隨著信息化的不斷進行,特別是諸如ChatGPT等生成式大模型給產業帶來的變革,在未來,醫療口語理解勢必會有更多的落地之處。

4 醫療口語理解的未來研究方向

基于上述分析,加之ChatGPT等生成式大模型給自然語言處理領域帶來的巨大技術革新,本文認為,未來的醫療口語理解研究需要同生成式大模型緊密結合,將其蘊含的豐富知識和生成能力應用于醫療場景,并借鑒其先進技術助推相關研究。

4.1 醫療大語言模型與醫療對話系統的區別

由于ChatGPT等生成式大語言模型表現出的強大性能,以及指令微調技術的成熟,醫療大語言模型被不斷提出。例如,谷歌的Med-PaLM[53],哈工大的本草[54],仲景醫療大模型[55]等。在醫療大語言模型取得優異成果的同時,人們不禁思考,諸如醫療口語理解等傳統對話系統的模塊是否有必要存在?

針對這一問題,本文的觀點是,就目前大模型的技術水平來看,傳統醫療口語理解仍然是無法取代的。原因如下:

(1)大模型難以處理復雜的醫學關系醫學專業知識過于復雜,疾病與疾病、癥狀與癥狀、診療與癥狀之間存在相關和因果關系。例如,李子昊等專門構建了醫學因果關系抽取數據集CMedCausal,對醫學概念間的因果、條件和上下位關系進行刻畫[56]。毫無疑問,依賴概率原理的生成式大模型在處理這些復雜的邏輯推理問題時會遇到不小的挑戰。盡管編程鏈和思維鏈能夠在一定程度上提高推理能力,但短時間內大模型處理這類問題的精度仍有待加強。

(2)大模型傾向于直接給出診斷建議醫療診斷對嚴謹性有極高的要求,因而醫生會主動詢問患者癥狀,通過一系列檢查佐證后才能判斷患者所患病癥,并給出治療方案。然而,大模型則更傾向于直接給出診斷建議,很少主動詢問患者情況[55,57]。

(3)大模型在可控生成方面仍受到質疑大模型最為人詬病的是較差的可控生成能力,以及容易產生“幻覺”。根據Pan等的評測,大模型會生成未定義的槽值和錯誤的格式,且更傾向于生成詳細文本,而非SLU需要的四元組形式[58]。

4.2 利用生成式大模型解決醫療口語理解問題

盡管醫療LLM暫時無法全面取代醫療口語理解研究,但其可以被視為一個有效的輔助工具,通過龐大的知識存儲和生成能力,不斷提升醫療SLU的性能。在此背景下,本文給出了幾個醫療口語理解未來可能的研究方向。

(1)數據集層面: ①大模型強大的生成能力降低了構建醫療數據集的難度。例如,Wang等基于醫學知識圖譜CMeKG,利用ChatGPT接口構建了8 000余條指令數據[54]。②大模型同樣可以用于標注數據,減少眾包收集的成本。例如,He等根據“先解釋后注釋”的思想,提出Annollm標注系統,并成功證實其有效性[59]。此外,也可以借鑒MetaAI新提出的“指令回譯”思想,進行數據的自我增強,生成指令數據集,并通過反復迭代,對數據進行自我管理,從而獲得高質量指令數據集[60]。③對于口語音頻數據集缺失的問題,可以利用大模型生成口語化、方言化的文本,并利用語音合成技術,得到對應的音頻。

(2)算法層面: ①發掘更多的醫療口語特點,并針對性地設計算法。近期,口語數據的特點開始被學界關注。例如,Si等效仿MultiWOZ數據集,結合口語特點,構建了一個大規??谡Z數據集SpokenWOZ[12]。該數據集在數量和質量上遠超此前的研究,為口語理解模型的訓練打下了良好的基礎。②生成式語音模型的研究方興未艾。相較于文本領域的大模型,生成式語音模型的發展尚處于起步階段,亟需將文本領域的先進經驗(如有監督訓練、RLHF等)引入。③探索如何讓大語言模型具備理解口語音頻的能力,進而充分利用其性能解決口語理解問題。例如,Wadhwa等將思維鏈技術引入,使得Flan-T5在關系抽取任務上取得了SOTA性能[61]。④大語言模型可以有效解決模型評估的問題。根據Chan等的研究,讓大模型扮演不同角色,互相“辯論”,能夠取得更好的評估效果,縮小其與人類評估之間的差距[62]??梢詫⑦@一思想用于醫療SLU領域,如用大模型扮演醫生和患者的角色,從而得到既符合醫學規范,又滿足患者訴求的意圖。

(3)應用層面: 生成式大模型的研究處于蓬勃發展階段,借助這股東風,用新技術解決老問題,探尋更多可能的醫療應用場景,開展更廣泛的醫療SLU應用研究。例如,通過構建醫療AI agent,利用大模型調用知識向量數據庫、外部工具和API接口,長期跟蹤患者,作為專屬醫療管家,在預防、診前、診中、診后的全流程中給予患者幫助。

5 總結與展望

本文對口語理解進行了較為全面的綜述,調研了常用數據集和評價指標,并對模型方法做了極為細致的總結,分為流水線、端到端和生成式大模型三大類別對模型進行概括。同時,本文又聚焦于醫療領域的口語理解,從醫療口語理解數據集的開發、醫療口語理解的算法改進以及實際應用3個維度,對相關文獻進行梳理。最后,針對于現有工作的不足,本文給出未來可能的研究方向。

在過去,Louvan和Magnini[63]、Qin等[64]和Weld等[65]都對口語理解領域做了較為系統的綜述。與這些工作相比,本文具有如下優勢: ①調研的主題更為明確,針對與書面語區分的口語進行研究,而并非廣義的自然語言理解。②涵蓋的范圍更廣,除了包含聯合模型,還包括端到端模型等其他范式。③追蹤領域動態介紹最新成果,如生成式大模型。④重點關注醫療領域,對該領域做了詳細的調研。

此外,Valizadeh和Parde[66]也對醫療領域的對話系統研究做了綜述。與其相比,本文具有如下優勢: ①專注于口語理解任務,進行了全面的調研,更為聚焦;②納入的技術更為前沿,包含了諸如深度學習、生成式大模型等內容。③結合當下NLP技術飛速發展的背景,從數據集、算法和應用層面進行展望,給出醫療口語理解未來可能的研究方向。

猜你喜歡
意圖語音口語
原始意圖、對抗主義和非解釋主義
陸游詩寫意圖(國畫)
制定法解釋與立法意圖的反事實檢驗
魔力語音
基于MATLAB的語音信號處理
基于MQ3與MP3的價廉物美的酒駕語音提醒器
對方正在輸入……
酒中的口語詩
提高口語Level 讓你語出驚人
口語對對碰
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合