亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于凝視的文本輸入系統(tǒng)和方法與流程

文檔序號:11288192閱讀:277來源:國知局
基于凝視的文本輸入系統(tǒng)和方法與流程

對相關(guān)申請的交叉引用

本申請要求享有2014年9月2日提交的題為“gazebasedtextinputsystemsandmethods”的臨時美國專利申請?zhí)?2/044,817的優(yōu)先權(quán),該美國專利申請的整個公開內(nèi)容由此通過引用出于全部目的而被并入,如同在本文中完整闡述一樣。



背景技術(shù):

本發(fā)明一般地涉及用于基于凝視的文本輸入的系統(tǒng)和方法,并且特別地,涉及用于利用凝視來基于指示選擇文字的期望的用戶的凝視而提供文本輸入的系統(tǒng)和方法。

向計算設(shè)備提供文本輸入對于高效的人類計算機(jī)交互是關(guān)鍵的要求。傳統(tǒng)上,文本輸入通過鍵盤的方式來提供,或者在使用觸摸屏的計算設(shè)備的情況下可以使用屏幕上鍵盤。這些方案全部要求由用戶在設(shè)備上進(jìn)行物理接觸。

在一些實例中合期望的是一種提供用于向計算設(shè)備輸入文本的部件,據(jù)此與設(shè)備或其它輸入部件的物理接觸不是必需的。這可以用于其中用戶不掌握他或她的手的控制或者其中用戶不能夠在他們正在使用其手部以用于另一目的時接觸設(shè)備的示例。一種可能的解決方案是使用語音識別軟件,該軟件允許用戶可聽地傳送其輸入。

關(guān)于該方案的問題包括,其可能過于緩慢而不是方便的,可能要求在其使用之前的語音識別算法的廣泛訓(xùn)練,或者可能不可用于還具有語音障礙直至并且包括啞音(muteness)的用戶,這阻礙這樣的軟件正常工作或者作為無論什么選項。因此,語音識別軟件可能不提供向計算設(shè)備提供文本輸入的有用和/或可靠的方法。

雖然使用基于凝視的文本輸入的基本方法是可用的,但是它們可能遭受緩慢或不準(zhǔn)確性。本發(fā)明的實施例可以提供對前述問題中的至少一些的解決方案。



技術(shù)實現(xiàn)要素:

在一個實施例中,提供了一種用于使用來自用戶的凝視輸入來向計算設(shè)備中錄入文本的方法。該方法可以包括使得顯示設(shè)備顯示多個文字的視覺表示。方法還可以包括接收標(biāo)識用戶的凝視在視覺表示上的移動的凝視信息。方法還可以包括記錄在用戶的凝視在視覺表示上的移動期間發(fā)生的一個或多個觀察事件的觀察序列。方法此外可以包括向解碼器模塊提供觀察序列。解碼器模塊可以從觀察序列確定表示用戶的意圖文本的估計的至少一個詞語。

在另一實施例中,提供了一種用于使用來自用戶的凝視輸入來向計算設(shè)備中錄入文本的系統(tǒng)。該系統(tǒng)可以包括眼睛追蹤設(shè)備、顯示設(shè)備和計算設(shè)備。計算設(shè)備可以配置成至少使得顯示設(shè)備顯示多個文字的視覺表示。計算設(shè)備還可以配置成接收標(biāo)識用戶的凝視在視覺表示上的移動的凝視信息。計算設(shè)備還可以配置成記錄在用戶的凝視在視覺表示上的移動期間發(fā)生的一個或多個觀察事件的觀察序列。計算設(shè)備此外可以配置成向解碼器模塊提供觀察序列。解碼器模塊可以從觀察序列確定表示用戶的意圖文本的估計的至少一個詞語。

在另一實施例中,提供了一種具有存儲在其上的指令的非暫時性機(jī)器可讀介質(zhì),所述指令用于使用來自用戶的凝視輸入來向計算設(shè)備中錄入文本。指令可以由一個或多個處理器可執(zhí)行以用于使得顯示設(shè)備顯示多個文字的視覺表示。指令還可以可執(zhí)行以用于接收標(biāo)識用戶的凝視在視覺表示上的移動的凝視信息。指令還可以可執(zhí)行以用于記錄在用戶的凝視在視覺表示上的移動期間發(fā)生的一個或多個觀察事件的觀察序列。指令此外可以可執(zhí)行以用于向解碼器模塊提供觀察序列。解碼器模塊可以從觀察序列確定表示用戶的意圖文本的估計的至少一個詞語。

附圖說明

結(jié)合隨附各圖來描述本發(fā)明:

圖1是其中可以實現(xiàn)本發(fā)明的系統(tǒng)和方法的一個環(huán)境的表示;

圖2是用于經(jīng)由通過用戶的凝視輸入而向計算設(shè)備中錄入文本的本發(fā)明的各種實施例的一個顯示屏;

圖3是用于校正經(jīng)由圖2的顯示屏錄入的文本的本發(fā)明的各種實施例的另一顯示屏;

圖4是用于經(jīng)由通過用戶的凝視輸入而向計算設(shè)備中錄入本文的本發(fā)明的一個方法的流程圖;

圖5是用于確定是否提供用于校正之前所錄入的文本的顯示屏的本發(fā)明的一個方法的流程圖;

圖6是用于校正之前錄入的文本的本發(fā)明的一個方法的流程圖;

圖7是能夠被使用在本發(fā)明的裝置或系統(tǒng)的至少某個部分中或者實現(xiàn)本發(fā)明的方法的至少某個部分的示例性計算機(jī)系統(tǒng)的框圖;

圖8是用于經(jīng)由通過用戶的多個類型的凝視輸入(使得該類型指示不同的輸入重要性水平)而向計算設(shè)備中錄入本文的本發(fā)明的一個方法的流程圖;以及

圖9是用于確定之前錄入的文本是否應(yīng)當(dāng)被添加到語言模型以增加附加錄入的文本的精確性的本發(fā)明的一個方法的流程圖。

在隨附各圖中,類似的組件和/或特征可以具有相同的數(shù)字參考標(biāo)簽。另外,相同類型的各種組件可以通過在參考標(biāo)簽之后跟隨在類似組件和/或特征之中做出區(qū)分的字母來區(qū)分。如果僅第一數(shù)字參考標(biāo)簽使用在說明書中,則描述適用于具有相同的第一數(shù)字參考標(biāo)簽的類似組件和/或特征中的任何一個,而與字母后綴無關(guān)。

具體實施方式

隨后的描述僅提供示例性實施例,并且不意圖限制本公開的范圍、適用性或配置。而是,示例性實施例的隨后描述將為本領(lǐng)域技術(shù)人員提供用于實現(xiàn)一個或多個示例性實施例的能夠?qū)崿F(xiàn)的(enabling)描述。要理解的是,可以在元件的功能和布置中做出各種改變而不脫離如在隨附權(quán)利要求中闡述的本發(fā)明的精神和范圍。

例如,關(guān)于一個實施例討論的任何細(xì)節(jié)可以或可以不存在于該實施例的所有設(shè)想到的版本中。同樣地,關(guān)于一個實施例討論的任何細(xì)節(jié)可以或可以不存在于本文所討論的其它實施例的所有設(shè)想到的版本中。最后,關(guān)于本文中的實施例的任何細(xì)節(jié)的討論的缺失應(yīng)當(dāng)是這樣的細(xì)節(jié)可以或可以不存在于本文所討論的任何實施例的任何版本中的隱含認(rèn)識。

在以下描述中給出具體細(xì)節(jié)以提供實施例的透徹理解。然而,將由本領(lǐng)域普通技術(shù)人員理解到的是,實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。例如,本發(fā)明中的電路、系統(tǒng)、網(wǎng)絡(luò)、過程和其它元件可以被示出為采用框圖形式的組件,以便不以非必要的細(xì)節(jié)使實施例模糊。在其它實例中,可以在沒有非必要的細(xì)節(jié)的情況下示出公知的電路、過程、算法、結(jié)構(gòu)和技術(shù),以便避免使實施例模糊。

而且,要指出的是,各個實施例可以被描述為過程,該過程被描繪為流程圖、流圖、數(shù)據(jù)流圖、結(jié)構(gòu)圖或框圖。盡管流程圖可以將操作描述為順序過程,但是操作中的許多可以并行或同時執(zhí)行。此外,操作的次序可以重新布置。過程可以在其操作完成時終止,但是可以具有圖中未討論或包括的附加的步驟。另外,并非任何特定描述的過程中的全部操作都可能發(fā)生在所有實施例中。過程可以對應(yīng)于方法、函數(shù)、進(jìn)程、子例程、子程序等。當(dāng)過程對應(yīng)于函數(shù)時,其終止對應(yīng)于函數(shù)向調(diào)用函數(shù)或主函數(shù)的返回。

術(shù)語“機(jī)器可讀介質(zhì)”包括但不限于,暫時性和非暫時性、便攜式或固定存儲設(shè)備、光學(xué)存儲設(shè)備、無線信道和能夠存儲、包含或承載(多個)指令和/或數(shù)據(jù)的各種其它介質(zhì)。代碼段或機(jī)器可執(zhí)行指令可以表示進(jìn)程、函數(shù)、子程序、程序、例程、子例程、模塊、軟件包、類或指令、數(shù)據(jù)結(jié)構(gòu)或程序陳述的任何組合。代碼段可以通過傳遞和/或接收信息、數(shù)據(jù)、變元、參數(shù)或存儲器內(nèi)容來耦合到另一代碼段或硬件電路。信息、變元、參數(shù)、數(shù)據(jù)等可以經(jīng)由任何合適的手段來傳遞、轉(zhuǎn)發(fā)或傳輸,該手段包括存儲器共享、消息傳遞、令牌傳遞、網(wǎng)絡(luò)傳輸?shù)取?/p>

另外,本發(fā)明的實施例可以至少部分地手動或自動實現(xiàn)。手動或自動實現(xiàn)可以通過機(jī)器、硬件、軟件、固件、中間件、微代碼、硬件描述語音或其任何組合的使用來執(zhí)行或至少被輔助。當(dāng)實現(xiàn)在軟件、固件、中間件或微代碼中時,執(zhí)行必要任務(wù)的程序代碼或代碼段可以存儲在機(jī)器可讀介質(zhì)中。(多個)處理器可以執(zhí)行必要的任務(wù)。

現(xiàn)在轉(zhuǎn)向圖1,示出一個系統(tǒng)100,系統(tǒng)100可以實現(xiàn)本發(fā)明的實施例。系統(tǒng)100可以包括計算設(shè)備110、顯示設(shè)備120、傳統(tǒng)輸入設(shè)備130(鍵盤130a和鼠標(biāo)130b)和眼睛追蹤設(shè)備140。

雖然在該實施例中被示出為臺式計算機(jī),但是計算設(shè)備110在其它實施例中可以是任何類型的計算設(shè)備。僅僅作為示例,計算設(shè)備110可以是膝上型計算機(jī)、筆記本計算機(jī)、平板計算機(jī)、個人數(shù)據(jù)助理、移動設(shè)備、移動電話、智能手表或其它可穿戴電子器件等。在一些實施例中,系統(tǒng)100的各種其它組件可以與計算設(shè)備110集成。例如,平板計算機(jī)可以具有集成的顯示設(shè)備120,以及鍵盤130a的觸摸屏版本。

顯示設(shè)備120可以能夠如由計算設(shè)備110所引導(dǎo)的那樣顯示信息。如以上所討論的,顯示設(shè)備120可以與計算設(shè)備110集成或者與其分離。眼睛追蹤設(shè)備140可以是任何形式的已知眼睛追蹤設(shè)備,其允許用戶的凝視方向的確定。眼睛追蹤設(shè)備140可以利用計算設(shè)備110以用于處理信息以確定用戶的凝視方向,或者眼睛追蹤設(shè)備140可以直接執(zhí)行所有的處理。

合適的眼睛追蹤設(shè)備140的一個示例是基于紅外的設(shè)備,其中朝向用戶的一只或兩只眼睛發(fā)射紅外光,并且圖像傳感器捕獲包括紅外光的反射的用戶的一只或兩只眼睛的圖像。這些圖像的處理可以從紅外光的一個或多個反射的位置和取向確定用戶的凝視方向。這將被本領(lǐng)域技術(shù)人員所輕易地理解。眼睛追蹤設(shè)備140可以配置成追蹤用戶相對于顯示設(shè)備120的凝視方向。

現(xiàn)在轉(zhuǎn)向圖2,在本發(fā)明的一個實施例中,計算設(shè)備110可以使得顯示設(shè)備120向用戶顯示文本錄入接口200。接口200可以包括文字在顯示器上的表示,例如屏幕上鍵盤210、輸入終止區(qū)域220和消息窗口230。寬泛地說,本發(fā)明的系統(tǒng)和方法可以通過允許用戶以用戶希望拼寫一個或多個詞語的次序凝視顯示在屏幕上鍵盤210上的文字處或其附近來起作用。在該示例中,用戶已最近在按鍵處以使得之前已經(jīng)錄入了“這是測試?!钡哪J竭M(jìn)行凝視,并且已較新地錄入了“howareyou”。最近錄入的文本可以按照任何數(shù)目的方式來符號化(可能地通過高亮),并且在此被示出為虛線框240。

為了終止一個或多個詞語(以下要理解的是包括數(shù)字、標(biāo)點(diǎn)和任何其它文本輸入)的輸入,用戶然后可以凝視在終止區(qū)域220處,從而命令計算設(shè)備110用戶希望終止文本輸入(至少暫時地)。以下將詳細(xì)描述作為用于終止輸入的手段的對用戶凝視在終止區(qū)域220處的另外的可替換方案。當(dāng)用戶凝視在文字處時,或者在用戶已經(jīng)凝視在終止區(qū)域220處之后,由用戶拼寫的一個或多個詞語可以顯示在消息窗口230中。

接口200還可以包括設(shè)置圖標(biāo)240、語音識別輸入圖標(biāo)250、退格圖標(biāo)260、可替換字符圖標(biāo)270、確認(rèn)圖標(biāo)280和用戶的當(dāng)前凝視點(diǎn)的可視化290。每一個圖標(biāo)可以通過用戶的凝視在其上的持續(xù)而被激活以導(dǎo)致某種效果。設(shè)置圖標(biāo)240可以使得設(shè)置接口被呈現(xiàn)以允許用戶調(diào)節(jié)本發(fā)明的實施例的操作。語音識別輸入圖標(biāo)250可以允許用戶激活語音識別軟件包以用于文本的輸入。退格圖標(biāo)260可以允許用戶刪除最后錄入的文字或詞語??商鎿Q字符圖標(biāo)270可以允許用戶改變由屏幕上鍵盤210顯示的字符。確認(rèn)圖標(biāo)280可以允許用戶確認(rèn)最近錄入的詞語(經(jīng)由虛線框240高亮)的確如用戶意圖被錄入的那樣。用戶的當(dāng)前凝視點(diǎn)的可視化290,雖然在此被示出為虛線x,但是可以取決于實施例而以其它方式呈現(xiàn),并且可以或可以不總是被顯示,這可能取決于用戶的凝視在接口200的特定點(diǎn)或區(qū)域停留了多久。

在圖3中示出本發(fā)明的各種實施例的第二接口300。錯誤校正接口300可以通過用戶的凝視指向消息窗口230中的一個或多個詞語來激活。一旦計算設(shè)備110確定檢測到這樣的凝視事件,接口300可以被顯示以允許用戶校正由用戶誤錄入的或被計算設(shè)備110誤解釋的文本錄入。

接口300可以包括一個或多個詞語310,其在該位置處或者圍繞其中用戶在接口200的消息窗口230中凝視它們的位置?!?”標(biāo)記320可以顯示在詞語310之間以便為用戶提供凝視以向計算設(shè)備110指示他們希望在該位置處錄入附加詞語的地方。在一個或多個詞語310下方,可以顯示潛在更換詞語330,如由計算設(shè)備110智能推測的,使得用戶可以經(jīng)由他們的凝視來選擇它們以更換原始詞語310。刪除圖標(biāo)340(符號化為“x”或其它符號)可以允許用戶刪除給定詞語310。

還可以提供取消圖標(biāo)350,使得用戶可以利用其凝視取消任何校正的輸入并且返回到接口200。接受圖標(biāo)360可以允許用戶接受所作出的所有改變并且返回到接口200。

現(xiàn)在轉(zhuǎn)向圖4-6,將討論采用系統(tǒng)100和接口200、300的發(fā)明的示例性方法400、500、600。當(dāng)顯示接口200時,方法400,在塊410處,可以接收如由計算設(shè)備110和眼睛追蹤設(shè)備140提供的與用戶的凝視相關(guān)聯(lián)的連續(xù)凝視數(shù)據(jù)。在塊420處,凝視點(diǎn)可以可視化為圖2中的凝視點(diǎn)290。在塊430處,一個或多個“按鍵”(屏幕上鍵盤210上的文字或符號)可以被可視化以向用戶指示計算設(shè)備110確定用戶的凝視位于該位置處。

在塊440處,監(jiān)視用戶在顯示設(shè)備120上的凝視位置以得到觀察事件的發(fā)生。觀察事件在計算設(shè)備110(和/或眼睛追蹤設(shè)備140,這將在以下提到計算設(shè)備110時被假定)確定用戶的凝視已經(jīng)注視在屏幕上鍵盤210上的字符上或附近時發(fā)生。觀察事件可以基于以下特性中的任何一個或多個而發(fā)生:用戶的凝視在一個或多個字符上或附近的注視;注視區(qū)的近似、注視的x、y坐標(biāo);注視的持續(xù)時間;注視的大小;基于像素或標(biāo)準(zhǔn)或度量距離等的測量的另一坐標(biāo)系統(tǒng);其它特性;以上的任何組合。

在塊450處,記錄觀察事件并且將觀察事件以串行方式與之前記錄的觀察事件組合,每一個所存儲的事件可能包括與觀察事件相關(guān)聯(lián)的以上或更多特性中的任何一個。只要在塊460處沒有檢測到終止事件,該過程就將重復(fù),使得連續(xù)地記錄所檢測到的觀察事件,直到發(fā)生結(jié)束觀察序列的終止事件。

終止事件在塊460處基于取決于實施例的任何一個或多個可能的事件而發(fā)生。一些示例,不作為限制,包括:在預(yù)定時間段內(nèi)用戶的凝視在終止區(qū)域220內(nèi)的檢測;用戶隱含地通過超時(用戶的凝視已經(jīng)在固定量的時間內(nèi)保持靜止在顯示器上的任何地方)來終止;用戶通過看向顯示器外部來轉(zhuǎn)移目光;用戶眨眼,單次眨眼或兩次或更多次眨眼;用戶做出諸如微笑或其它情感信號之類的面部姿勢;用戶對具體凝視姿勢(例如凝視移動的組合)發(fā)音(articulate)以用于導(dǎo)致終止的預(yù)定/預(yù)定義的目的;計算設(shè)備110例如通過借由在已經(jīng)接收到每一個凝視觀察之后連續(xù)地計算該事件的概率(即做出終止已經(jīng)發(fā)生的可能性的確定)而確定用戶的凝視發(fā)音已經(jīng)終止來推斷終止;諸如鍵盤、鼠標(biāo)、觸摸屏等之類的觸覺輸入設(shè)備的激活;由用戶做出的口頭或其它聲音;手部姿勢、頭部姿勢或利用其它身體部分或物體的姿勢;經(jīng)由腦電圖檢測到的腦部信號等。

當(dāng)塊460處的終止時,方法400繼續(xù)到塊470,其中解碼模塊/算法從觀察序列推測字符串(短語、句子等)。如以下將討論的,解碼模塊可以使用數(shù)個方法來推測字符串,包括令牌傳遞解碼器。當(dāng)確定一個或多個推測后,在塊480處可以在消息窗口230中顯示一個或多個相關(guān)字符串。在具有反映用戶所意圖的字符串的合理幾率的兩個推測的情況下,兩個字符串可以被顯示以供用戶選擇(通過凝視注視或其它輸入機(jī)制)。

然后可以按照方法400接收附加的凝視文本輸入,但是在塊510處,當(dāng)再次接收到凝視數(shù)據(jù)并且在塊520、530(類似于塊420、430)處可視化時,在塊540處等待所顯示的字符串指示用戶的期望字符串的確認(rèn)。這可以通過用戶將其凝視注視在確認(rèn)圖標(biāo)280上而發(fā)生。在該情況下,方法返回到塊410以等待另外的文本錄入或文本錄入接口的終止。然而,如果用戶將其凝視注視在消息窗口230中的特定詞語、文字或其它符號處,在塊550處然后顯示錯誤校正接口300。

在錯誤校正接口300中,顯示由用戶在接口200中注視在的字符或其它符號連同來自字符串的周圍詞語。解碼模塊可以推測為意圖作為通過用戶的正確輸入的其它可能的詞語、字符或符號的其它詞語可以顯示在所顯示的原始推測的詞語、字符或符號下方。跟隨塊610處的凝視數(shù)據(jù)的接收,在塊620、630(類似于塊420、430)處可視化,在塊640處等待注視事件。用戶可以在預(yù)定時段內(nèi)注視在任何詞語選項上以便選擇最希望的詞語。在塊650處,這樣的詞語/字符/符號在事件發(fā)生時改變。如果用戶希望刪除詞語、字符或符號,用戶注視在與希望刪除的詞語、字符或符號相關(guān)聯(lián)(在其下方)的刪除圖標(biāo)340上。如果用戶希望插入新的詞語,用戶注視在插入圖標(biāo)44上。詞語可以由用戶使用“+”標(biāo)記320來添加。用戶的凝視在“+”標(biāo)記320上的注視可以導(dǎo)致與被提供用于文本錄入的接口200相同或類似的接口??商鎿Q地或同時,可替換輸入設(shè)備,諸如鼠標(biāo)、鍵盤等,可以用于錄入或校正詞語(每當(dāng)在本文中描述添加和/或校正時)。這些校正可以繼續(xù)發(fā)生,直到不同類型的注視事件發(fā)生在塊660處。

在塊660處,等待用戶的凝視在取消圖標(biāo)350或接受圖標(biāo)360上的注視。如果這樣的注視不發(fā)生,則方法600重復(fù)直到用戶已經(jīng)做出用戶希望做出的所有校正。如果取消圖標(biāo)350上的注視發(fā)生,則方法返回到塊410而沒有字符串的校正。如果接受圖標(biāo)360上的注視發(fā)生,則方法返回到塊410,其中由用戶對字符串做出的校正完成并且顯示在消息窗口230中。

現(xiàn)在聚焦在解碼器模塊上,這樣的模塊是將包括至少一個觀察事件的觀察序列視為輸入的軟件程序。解碼器輸出一系列文本(其最通常形成句子等),該文本表示用戶所意圖的文本系列的估計。

在本發(fā)明的一個實施例中,解碼器被實現(xiàn)為令牌傳遞解碼器,據(jù)此令牌包括三個信息項:目前為止累積的日志空間中的概率(log-prob)、詞語和字符語言模型的上下文,以及令牌在觀察序列中的位置。這樣的令牌傳遞解碼器對于本領(lǐng)域技術(shù)人員將是熟悉的,并且其關(guān)于本發(fā)明的實施例的操作現(xiàn)在將同樣變得明顯。關(guān)于令牌傳遞解碼器的另外的信息可以在young,s.,russel,n.h和thornton的j.h.s.1989,“passing:asimpleconceptualmodelforconnectedspeechrecognitionsystems”,技術(shù)報告,劍橋大學(xué)工程系中找到,該文獻(xiàn)通過引用出于全部目的而被并入,如同在本文中完整闡述一樣。

每一個令牌表示推測:可能是用戶的意圖文本的文字序列。當(dāng)令牌已經(jīng)看到觀察序列中的所有觀察時終止令牌。解碼器將經(jīng)由終止的令牌集合來輸出推測集合。最可能的推測對應(yīng)于最可能對應(yīng)于用戶的意圖文本的文字序列。

為了計算概率,可以使用兩個模型,第一個是鍵盤模型,其在給定推測文字的情況下計算觀察的可能性。鍵盤模型向每一個按鍵上指派一個或若干分布,例如二維高斯分布、非參數(shù)分布、高斯過程。鍵盤模型分布用于在給定觀察中的x和y位置的情況下計算可能性。當(dāng)前實現(xiàn)的系統(tǒng)向每一個按鍵上指派二維高斯分布。

可替換的系統(tǒng)設(shè)計(當(dāng)前未實現(xiàn))可以使用決策規(guī)則、決策樹、隨機(jī)預(yù)報的變型、支持向量機(jī)或另一機(jī)器學(xué)習(xí)技術(shù)來估計可能性。

可能的第二模型是字符和文字語言模型。字符語言模型在給定當(dāng)前推測中的在先文字(如由令牌在搜索中所追蹤的)的情況下計算推測的文字的先驗概率。詞語語言模型用于計算給定的推測詞語的先驗概率。

解碼器利用解碼算法來在沿推測的形成的每一個步驟處傳播令牌。為了約束搜索以維持可管理的大小,當(dāng)兩個或更多令牌已經(jīng)到達(dá)相同(可能地試探性的)結(jié)論時可以合并冗余的令牌??梢杂山獯a模塊實現(xiàn)的另一可能技術(shù)被稱為射束裁剪,其在令牌推測不足夠高以證明保持它是合法的時使用可配置的射束寬度來約束搜索。

由解碼算法使用的令牌傳播規(guī)則可以包括:

[a](代替)給定當(dāng)前觀察:使用鍵盤模型計算針對每一個按鍵的該觀察的可能性;舊的令牌創(chuàng)建針對鍵盤上的每一個按鍵的新令牌;針對新令牌的概率是在給定具體按鍵+字符語言模型概率(通過縮放因子縮放)+目前為止由舊令牌累積的log-prob的情況下觀察的log-prob;并且可選地,如果新令牌正在生成詞語分離物(例如空格鍵字符),則此外基于詞語語言模型添加log-prob。如果文字序列沒有通過詞語語言模型的詞匯進(jìn)行建模,則使用未知詞語模型評價文字序列。

[b](刪除)給定當(dāng)前觀察:忽略觀察并且令牌傳播到觀察序列中的下一觀察并且累積固定log-prob處罰。

[c](插入)給定當(dāng)前觀察:向鍵盤上的所有可能按鍵傳播令牌;針對新令牌的概率為:目前為止由舊令牌累積的log-prob+基于字符語言模型的新log-prob(通過縮放因子縮放)+取決于我們是否正在插入與之前相同的鍵盤按鍵而不同的附加的log-prob處罰;可選地,如果新令牌正在生成詞語分離物(例如空格鍵字符),則附加地基于詞語語言模型添加log-prob。如果文字序列沒有通過詞語語言模型的詞匯進(jìn)行建模,則使用未知詞語模型評價文字序列。

[d](裁剪)在代替、插入和刪除情況之后,在傳播令牌之前,應(yīng)用如下的射束裁剪:對于觀察序列中的每一個觀察索引,系統(tǒng)存儲目前為止針對該觀察索引由任何令牌所生成的最佳log-prob;如果其所生成的log-prob與曾由令牌針對該觀察索引所生成的最佳log-prob之間的差異在可配置的閾值(即射束寬度)內(nèi),則僅將新令牌傳播到新的觀察索引。閾值是速度-精確性的折衷。

[e](終止)檢查所有未經(jīng)裁剪的令牌以查看它們是否在最后的觀察索引處。如果它們是:根據(jù)對句子結(jié)尾符號建模的字符語言模型提取令牌的現(xiàn)有l(wèi)og-prob添加log-prob(通過縮放因子縮放);可選地,基于詞語語言模型添加log-prob。如果文字序列沒有通過詞語語言模型的詞匯建模,則使用未知詞語模型評價文字序列。

[f](合并)合并具有相同語言模型上下文的令牌。

解碼算法的輸出是通過具有最高概率的終止令牌的推測建模的文字序列。可替換的解碼策略也可以適合于本發(fā)明,諸如:

[1]基于字符串的匹配:向緩沖器添加經(jīng)由凝視標(biāo)識的所有文字(例如通過注視在它們上)。應(yīng)用包括有效詞語的基于字符串的規(guī)則,移除不可能形成有效詞語的任何文字。其余文字因而表示包括一個或多個詞語的用戶的意圖文本。

[2]空間軌跡匹配:通過將其映射在所顯示的鍵盤上來將詞語定義為空間軌跡。將所有注視或其它基于凝視的度量一起連接到橫跨一個或多個詞語的空間軌跡中。通過執(zhí)行空間軌跡比較與將橫跨潛在的許多詞語的空間軌跡分段成定義單個詞語的空間軌跡的方法的組合來計算匹配。另外的信息可以在kristensson,p.o.和zhai,s.2004的“shark2:alargevocabularyshorthandwritingsystemforpen-basedcomputers”,用戶接口軟件和技術(shù)acm研討會第17屆年會(uist2004)的會議記錄,acmpress:43-52中找到,該文獻(xiàn)通過引用出于全部目的而被并入,如同在本文中完整闡述一樣。

在本發(fā)明的一些實施例中,以下方面也可以呈現(xiàn)以下改進(jìn):當(dāng)令牌可能已經(jīng)形成詞語時,可以咨詢基于詞語的語言模型以便確定可能的詞語正確的概率;并且可選地,系統(tǒng)可以生成表示已經(jīng)被之前的令牌探索過的空間的格點(diǎn)。可以對格點(diǎn)重新打分,據(jù)此可以基于語言模型重新計算之前的令牌位置。

系統(tǒng)還可以生成詞語混淆網(wǎng)絡(luò)(wcn)。這可以基于n最佳搜索來估計,或者如果格點(diǎn)可用的話,從格點(diǎn)創(chuàng)建。wcn是有利的,因為它們更容易然后與格點(diǎn)一起工作,并且對于錯誤校正用戶接口特別有用。參見hakkani-tu?r,d.,béchet,f.,riccardi,g.和tur,g.的“beyondasr1-best:usingwordconfusionnetworksinspokenlanguageunderstanding”,計算機(jī)語音和語言期刊20,4(2006),495-514;ogata,j.和goto,m.的“speechrepair:quickerrorcorrectionjustbyusingselectionoperationforspeechinputinterfaces.”,proc.icslp2005,isca(2005),133-136;vertanen,k.和kristensson,p.o.2009,“parakeet:acontinuousspeechrecognitionsystemformobiletouch-screendevices”,智能用戶接口第14屆acm國際會議(iui2009)的會議記錄,acmpress:237-246。所有前述參考文獻(xiàn)通過引用出于全部目的而被并入,如同在本文中完整闡述一樣。

作為對二維高斯分布(作為用于注視位置的模型)的可替換方案,可以使用高斯過程(gp),參見rasmussen,ce.和williams,c.k.i.2006,“gaussianprocessesformachinelearning”,mitpress,該文獻(xiàn)通過引用出于全部目的而被并入,如同在本文中完整闡述一樣。gp具有學(xué)習(xí)去到按鍵上的分布形狀的更好能力,這將導(dǎo)致更精確的可能性估計。

解碼器可以對注視的持續(xù)時間建模以改進(jìn)精確性。持續(xù)時間可以使用階躍函數(shù)來建模,其中設(shè)定閾值以下的注視持續(xù)時間通過線性函數(shù)進(jìn)行處罰??商鎿Q地,持續(xù)時間可以通過諸如邏輯函數(shù)之類的低參數(shù)函數(shù)來建模,該低參數(shù)函數(shù)可以使用僅兩個變量來參數(shù)化??商鎿Q地,持續(xù)時間可以使用參數(shù)分布(諸如泊松)或非參數(shù)分布來建模。

系統(tǒng)還可以包括自適應(yīng)學(xué)習(xí)功能,據(jù)此解碼算法的結(jié)果被存儲和使用在學(xué)習(xí)算法中以對各個用戶適配語言模型。以下關(guān)于圖9來描述一個這樣的實施例的示例??蛇x地,如果系統(tǒng)使用高斯過程以用于鍵盤模型,則參數(shù)可以使用與以上概述的類似的策略從離線和在線數(shù)據(jù)二者學(xué)習(xí)。用于學(xué)習(xí)協(xié)方差函數(shù)的參數(shù)的算法方案可以在例如rasmussen,c.e.和williams,c.k.i.的“gaussianprocessesformachinelearning”,mitpress,2006中找到。附加的參考文獻(xiàn):weir,d.,rogers,s.,murray-smith,r.,和l?chtefeld,m.“auser-specificmachinelearningapproachforimprovingtouchaccuracyonmobiledevices”,proc.uist’12.465–476。所有前述參考文獻(xiàn)通過引用出于全部目的而被并入,如同在本文中完整闡述一樣。

作為示例而非限制,圖7是描繪了用于實現(xiàn)本文所討論的一些實施例的示例計算設(shè)備702的框圖。計算設(shè)備702可以包括處理器704,其通信耦合到存儲器706并且執(zhí)行計算機(jī)可執(zhí)行程序指令和/或訪問存儲在存儲器706中的信息。處理器704可以包括微處理器、專用集成電路(“asic”)、狀態(tài)機(jī)或其它處理設(shè)備。處理器704可以包括數(shù)個(包括一個)計算機(jī)處理設(shè)備中的任何一個。這樣的處理器可以包括存儲指令的計算機(jī)可讀介質(zhì)或可以與其通信,所述指令在由處理器704執(zhí)行時,使得處理器執(zhí)行本文所描述的步驟。

計算設(shè)備702還可以包括總線708??偩€708可以通信耦合計算系統(tǒng)702的一個或多個組件。計算設(shè)備702還可以包括和/或通信耦合到數(shù)個外部或內(nèi)部設(shè)備,諸如輸入或輸出設(shè)備。例如,計算設(shè)備702被示出有輸入/輸出(“i/o”)接口710、顯示設(shè)備712、(多個)輸入設(shè)備714和(多個)輸出設(shè)備715。

顯示設(shè)備712的非限制性示例包括與計算設(shè)備702集成的屏幕、在計算系統(tǒng)外部并且與其耦合的監(jiān)視器等。輸入設(shè)備714的非限制性示例包括凝視檢測設(shè)備、觸摸屏、觸摸墊、外部鼠標(biāo)設(shè)備、麥克風(fēng)和/或本文提到的其它設(shè)備等。輸出設(shè)備715的非限制性示例是音頻揚(yáng)聲器。在一些實施例中,顯示設(shè)備712、(多個)輸入設(shè)備714和(多個)輸出設(shè)備715可以是分離的設(shè)備。在其它實施例中,顯示設(shè)備712和(多個)輸出設(shè)備714中的至少一些可以集成在相同的設(shè)備中。例如,顯示設(shè)備712可以是屏幕,并且輸入設(shè)備714可以是提供用于顯示設(shè)備的眼睛追蹤和/或觸摸屏功能的一個或多個組件,諸如用于發(fā)射光的發(fā)射器和/或用于對用戶的(多只)眼睛和/或觸摸區(qū)域成像的相機(jī)等。屏幕、輸入設(shè)備組件和任何輸出設(shè)備組件可以集成在相同的外殼中或在其它集成配置中。

計算設(shè)備702可以修改、訪問或以其它方式使用電子內(nèi)容。電子內(nèi)容可以駐留在任何合適的非暫時性計算機(jī)可讀介質(zhì)中并且在任何合適的處理器上執(zhí)行。在一個實施例中,電子內(nèi)容可以駐留在計算系統(tǒng)702處的存儲器706中。在另一實施例中,電子內(nèi)容可以由計算系統(tǒng)702經(jīng)由數(shù)據(jù)網(wǎng)絡(luò)從遠(yuǎn)程內(nèi)容提供方訪問。

存儲器706可以包括任何合適的非暫時性計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)可以包括但不限于,電子、光學(xué)、磁性或其它存儲設(shè)備,該設(shè)備能夠為處理器提供計算機(jī)可讀指令或其它程序代碼。其它示例包括但不限于,軟盤、cd-rom、dvd、磁盤、存儲器芯片、rom、ram、asic、經(jīng)配置的處理器、光學(xué)儲存、磁帶或其它磁性儲存,或計算機(jī)處理器可以從其讀取指令的任何其它介質(zhì)。指令可以包括由編譯器和/或解釋器從以任何合適的計算機(jī)編程語言編寫的代碼生成的處理器特定指令,所述計算機(jī)編程語言包括例如c、c++、c#、visualbasic、java、python、perl、javascript和actionscript。

存儲在存儲器706中的圖形模塊716可以將處理器704配置成準(zhǔn)備電子內(nèi)容以用于在圖形接口中再現(xiàn)和/或在圖形接口中再現(xiàn)電子內(nèi)容。在一些實施例中,圖形模塊716可以是由處理器704執(zhí)行的獨(dú)立應(yīng)用。在其它實施例中,圖形模塊716可以是軟件模塊,其包括在由處理器704執(zhí)行的分離應(yīng)用中或者可由其訪問,處理器704配置成修改、訪問或以其它方式使用電子內(nèi)容。

鎖定文字鍵入和手動參與

在本發(fā)明的可替換實施例中,解碼模塊可以基于不同類型的觀察事件的發(fā)生而創(chuàng)建和選擇不同的推測。如之前所描述的,觀察事件可以基于不同的特性而發(fā)生,該特性包括,例如而沒有限制,用戶的凝視在一個或多個字符上或附近的注視,和/或注視的持續(xù)時間。其它特性也可以用于區(qū)分觀察事件,如以下所描述的。第一類型的觀察事件,諸如短注視持續(xù)時間,可以指示用戶意圖選擇字符的中等可能性;第二類型的事件,諸如長注視持續(xù)時間,可以指示用戶意圖選擇字符的強(qiáng)可能性。事件的類型可以如所需要的那樣由用戶用于向用戶輸入較高或較低重要性的文本,諸如輸入復(fù)雜的口令與寫入非正式的電子郵件。利用所指示的高重要性錄入的字符可以稱為“鎖定”或“鎖定文字”。

在另外的實施例中,使用鎖定文字錄入的字符串然后可以被呈現(xiàn)以用于錯誤校正(諸如通過以上描述的校正方法)。用戶然后可以使用校正方法調(diào)節(jié)所錄入的字符串。已經(jīng)使用至少一個鎖定文字錄入和/或使用錯誤校正方法調(diào)節(jié)的字符串可以稱為由用戶“手動參與”。經(jīng)手動參與的字符串然后可以由系統(tǒng)接收為對語言模型的添加(即可能被再次使用的詞語),從而允許用戶個性化由解碼器模塊使用的詞匯。在另外的實施例中,系統(tǒng)可以可選地基于用戶交互而確定與字符串的手動參與的測量。這樣的交互包括在錄入字符串的同時指示的鎖定文字的數(shù)目和/或比例,以及已經(jīng)使用錯誤校正接口編輯的字符的數(shù)目和/或比例。測量可以包括基于交互確定的置信度值,并且置信度值可以具有可配置的閾值。在再另外的實施例中,語言模型可以使用置信度值來確定語言模型是否或多經(jīng)常應(yīng)當(dāng)適配于用戶所錄入文本,即如果用戶頻繁地校正系統(tǒng)選擇的推測,系統(tǒng)可以適配和選擇更類似于用戶所錄入的文本的推測。較高的置信度值可以導(dǎo)致較強(qiáng)的適配,從而允許系統(tǒng)合并對用戶重要的詞語。增加語言模型的詞匯允許解碼器模塊基于所添加的詞語而創(chuàng)建將來的推測,從而造成更精確的推測。

現(xiàn)在轉(zhuǎn)向圖8,將討論本發(fā)明的可替換實施例的示例性方法800。與方法400相當(dāng)?shù)?,方?00可以在塊810處接收連續(xù)凝視數(shù)據(jù)。凝視點(diǎn)可以在塊820處可視化,并且一個或多個屏幕上鍵盤按鍵可以在塊830處可視化。當(dāng)用戶與設(shè)備交互時,在塊840處監(jiān)視凝視點(diǎn)以得到觀察事件的發(fā)生和所使用的觀察事件的類型二者。當(dāng)發(fā)生觀察事件時,以串行方式記錄事件和類型序列。第一類型的觀察事件——例如,在特定字符上大約200毫秒的注視時間——的發(fā)生之后在850處跟隨有第一觀察事件和事件類型二者的序列中的記錄。第二類型的觀察事件——例如,在特定字符上大約1000毫秒的注視時間——的發(fā)生之后在塊860處跟隨有第二觀察事件和事件類型的序列記錄。在此描述的示例事件類型僅用于說明,并且可以使用其它類型的事件而不脫離發(fā)明實施例,包括組合事件。例如,第二事件可以通過用戶在任何量的時間內(nèi)注視在字符上并且在注視期間說出詞語“鎖定”來指示。

每一個特定觀察事件和類型的記錄和組合可以針對任何數(shù)目的事件而發(fā)生。方法步驟將從塊810重復(fù),使得所檢測到的觀察事件及其相應(yīng)類型在塊850或860處被連續(xù)記錄,直到發(fā)生終止事件。在塊870處檢查終止事件發(fā)生;如果發(fā)生一個終止事件,方法進(jìn)行到塊880;否則,方法返回到塊810。

在870處的終止事件之后,方法可以在塊880處應(yīng)用解碼模塊/算法以從觀察和類型序列推測字符串。在該實施例中,解碼器模塊可以使用每一個所記錄的觀察事件的類型的附加信息來推測字符串。如以上所描述的,推測表示可能是用戶的意圖文本的文字序列。解碼器模塊將輸出推測的集合,并且每一個推測被指派對應(yīng)于用戶的意圖文本的概率,使得所指派的概率至少部分地基于用于錄入每一個字符的觀察事件的類型。利用第二類型的觀察事件錄入的字符被解碼器解釋為鎖定文字,并且解碼器指派用戶錄入意圖字符的高概率。在一些實施例中,鎖定文字被指派100%的概率(即解碼器假定用戶肯定錄入了意圖字符);在其它實施例中,所指派的概率小于100%。當(dāng)確定一個或多個推測后,可以在塊890處在消息窗口230中顯示一個或多個相關(guān)字符串。

在字符串的顯示之后,實施例允許用戶使用確認(rèn)接口(諸如接口200)來確認(rèn)所錄入的字符串。如果用戶將其凝視注視在消息窗口中的特定符號,則顯示錯誤校正接口,諸如接口300。實施例然后允許用戶使用任何適當(dāng)?shù)姆椒ㄐU@示的字符串。

自適應(yīng)學(xué)習(xí)功能的示例性方法在圖9中描繪。在經(jīng)校正的字符串的取消或確認(rèn)之后,實施例可以可選地還包括自適應(yīng)學(xué)習(xí)功能,據(jù)此將經(jīng)校正的解碼算法的結(jié)果存儲和使用在學(xué)習(xí)算法中以對各個用戶適配語言模型。如果字符串被校正,并且經(jīng)校正的字符串對語言模型是未知的,并且字符串由用戶手動參與,則向模型添加詞語。否則,不添加詞語,并且系統(tǒng)等待另外的凝視輸入。

在塊910處開始,方法確定是否確認(rèn)字符串的任何校正;如果沒有,方法結(jié)束。如果是這樣,方法在塊920處進(jìn)一步確定是否經(jīng)校正的詞語或其它字符串對解碼算法所使用的語言模型是未知的;如果不是,方法結(jié)束。如果經(jīng)校正的字符串是未知的,則方法在塊930處進(jìn)一步確定是否未知的字符串已經(jīng)由用戶手動參與,即字符串已經(jīng)使用至少一個鎖定文字來錄入和/或已經(jīng)校正了至少一個錯誤。如果沒有發(fā)生手動參與,方法結(jié)束。如果已經(jīng)參與了未知字符串,方法然后在塊940處向語言模型添加作為已知詞匯詞語的字符串,并且方法然后結(jié)束。在方法900在任何點(diǎn)處結(jié)束之后,實施例返回到用于接收凝視輸入的方法,諸如圖8的方法800。

在某些實施例(在圖9中未描繪)中,方法可以基于用戶交互(諸如在錄入字符串的同時指示的鎖定文字的數(shù)目和/或比例,以及已經(jīng)校正的字符的數(shù)目和/或比例)而確定手動參與的測量。測量可以包括置信度值,諸如在0至100的任意量級上,并且置信度值可以基于交互而確定。作為示例,并且不作為限制,利用50%的字符鎖定錄入并且還被校正兩次的字符串可以具有比利用20%的字符鎖定錄入并且沒有校正的字符串更高的所確定的置信度值。所確定的測量還可以基于其它因素,諸如字符串之前是否被錄入或校正。所確定的測量可能需要滿足針對要添加到語言模型的詞語的某個閾值,并且該閾值可以具有可由用戶配置的默認(rèn)值。

在某些另外的實施例(同樣在圖9中未描繪)中,方法可以使用置信度值來確定語言模型是否或多經(jīng)常應(yīng)當(dāng)對用戶錄入的文本適配。確定可以單獨(dú)基于置信度值或基于置信度值與其它因素的組合而做出。較高的置信度值可以導(dǎo)致較強(qiáng)的適配。例如,并且不作為限制,如果用戶校正由解碼器模塊選擇的超過30%的推測,并且每一個經(jīng)校正的推測的所確定的置信度值相對高,實施例可以適配和選擇更類似于用戶所錄入的文本的推測。

現(xiàn)在已經(jīng)出于清楚性和理解的目的詳細(xì)描述了本發(fā)明。然而,將領(lǐng)會到,可以在隨附權(quán)利要求的范圍內(nèi)實踐某些改變和修改。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1