為電子表格將自然語言描述轉(zhuǎn)換為因因域而異而異的語言的程序的制作方法
【專利說明】為電子表格將自然語言描述轉(zhuǎn)換為因因域而異而異的語言 的程序
[0001] 背景
[0002] 電子表格是在許多計(jì)算設(shè)備上找得到的常用軟件工具。電子表格允許用戶以表的 形式來組織信息。表包括以表的行和列排列的各個(gè)數(shù)據(jù)單元格。每一單元格可包含各種類 型的數(shù)據(jù)。
[0003] 公式或程序通過對電子表格數(shù)據(jù)運(yùn)行特定的運(yùn)算來自動(dòng)地生成結(jié)果。例如,使用 求和運(yùn)算符來對一列或一行數(shù)值中的所有值求和。另外,電子表格還基于電子表格數(shù)據(jù)來 提供圖形工具,諸如圖表。圓餅圖、直方圖、曲線圖等等根據(jù)由電子表格軟件調(diào)用的公式或 程序來生成。
[0004] 盡管公式或程序有用,但是許多電子表格用戶卻不能有效地使用這些工具。許多 用戶缺乏編寫程序的專業(yè)技能,或者可能被技術(shù)嚇倒。
【發(fā)明內(nèi)容】
[0005] 下面呈現(xiàn)了本發(fā)明的概要,以便提供此處所描述的某些方面的基本概念。此概要 不是所要求保護(hù)的主題的詳盡的概述。既不旨在指出所要求保護(hù)的主題的關(guān)鍵性元素,也 沒有描述本發(fā)明的范圍。其唯一的目的是以簡化形式呈現(xiàn)所要求保護(hù)的主題的某些概念, 作為稍后呈現(xiàn)的比較詳細(xì)的描述的前序。
[0006] 所要求保護(hù)的主題提供了用于電子表格的將自然語言描述轉(zhuǎn)換為因域而異的語 言的程序的方法。方法包括生成電子表格的模型。模型包括對每一列的列描述,以及與每 一列相關(guān)聯(lián)的一個(gè)或多個(gè)類型。該方法還包括基于刪除禁用詞以及將與列名稱或數(shù)據(jù)值匹 配的部分描述替換為特定參數(shù)來對標(biāo)準(zhǔn)化基于模型的描述進(jìn)行標(biāo)準(zhǔn)化。該方法涉及以交錯(cuò) 的、自下而上方式以及動(dòng)態(tài)編程樣式應(yīng)用基于規(guī)則的轉(zhuǎn)換以及關(guān)鍵字/基于類型的程序合 成,其中短語被按它們的長度的遞增順序映射到子程序。規(guī)則描述了如何將特定的部分自 然語言短語映射到部分子程序。此外,該方法還包括生成若干個(gè)潛在的程序,并根據(jù)它們的 預(yù)期的可能性對這些程序進(jìn)行排序。
[0007] 另外,所要求保護(hù)的主題還包括計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀取的存儲(chǔ) 介質(zhì)包括被配置成指不處理器生成電子表格的模型的代碼。模型包括針對電子表格的每一 列的列描述,以及與每一列相關(guān)聯(lián)的一個(gè)或多個(gè)類型。進(jìn)一步,生成因域而異的描述的若干 個(gè)潛在的程序。因域而異的描述包括一個(gè)或多個(gè)子表達(dá)式?;诙鄠€(gè)程序的多個(gè)規(guī)則,將因 域而異的描述與程序相關(guān)聯(lián)。規(guī)則將多個(gè)因域而異的描述與多個(gè)程序中的每一個(gè)相關(guān)聯(lián)。 另外,還基于一個(gè)潛在的解釋與程序相關(guān)聯(lián)的可能性來呈現(xiàn)潛在的解釋中的第一解釋。進(jìn) 一步,與對一個(gè)或多個(gè)列的選擇相關(guān)聯(lián)地呈現(xiàn)程序的結(jié)果,其中列與子表達(dá)式相關(guān)聯(lián),并且 結(jié)果基于列。
[0008] 下面的描述和附圖詳細(xì)地闡述了所要求保護(hù)的主題的某些說明性方面。然而,這 些方面只是表示可以使用本發(fā)明的原理的各種方式中的一些方式,并且所要求保護(hù)的主題 旨在包括所有這些方面和等效內(nèi)容。通過與附圖一起閱讀下面的本發(fā)明的詳細(xì)描述,所要 求保護(hù)的主題的其他優(yōu)點(diǎn)和新穎的特點(diǎn)將變得顯而易見。
[0009] 附圖簡述
[0010] 圖1是根據(jù)所要求保護(hù)的主題的示例性電子表格;
[0011] 圖2是根據(jù)所要求保護(hù)的主題操作的將自然語言描述轉(zhuǎn)換為基礎(chǔ)因域而異的語 言的表達(dá)式或程序的電子表格程序;
[0012] 圖3是根據(jù)所要求保護(hù)的主題的用于將描述轉(zhuǎn)換為程序的方法的流程圖;
[0013] 圖4是根據(jù)所要求保護(hù)的主題的電子表格的示例模型;
[0014] 圖5是根據(jù)所要求保護(hù)的主題的用于將自然語言描述轉(zhuǎn)換為程序的方法的流程 圖;
[0015] 圖6是根據(jù)所要求保護(hù)的主題的用于將自然語言描述轉(zhuǎn)換為程序的示例用戶界 面的框圖;
[0016] 圖7是根據(jù)所要求保護(hù)的主題的用于將自然語言描述轉(zhuǎn)換為底層的因域而異的 語言的程序的示例用戶界面的框圖;
[0017] 圖8是其中可以使用所要求保護(hù)的主題的各方面的示例性網(wǎng)絡(luò)環(huán)境的框圖;以及
[0018] 圖9是用于實(shí)現(xiàn)所要求保護(hù)的主題的各方面的示例性運(yùn)算環(huán)境的框圖。
【具體實(shí)施方式】
[0019] 現(xiàn)在參考附圖來描述所要求保護(hù)的主題,所有附圖中使用相同的附圖標(biāo)記來指代 相同的元素。在以下描述中,為解釋起見,闡明了眾多具體細(xì)節(jié)以提供對本發(fā)明的全面理 解。然而,很明顯,所要求保護(hù)的主題可以在沒有這些具體細(xì)節(jié)的情況下實(shí)施。在其他情況 下,以框圖形式示出了各個(gè)已知的結(jié)構(gòu)和設(shè)備以便于描述本發(fā)明。
[0020] 如此處所使用的,術(shù)語"組件"、"系統(tǒng)"、"客戶端"等等旨在表示計(jì)算機(jī)相關(guān)的實(shí) 體,其可以是硬件、軟件(例如,在執(zhí)行中)、固件、或其結(jié)合。例如,組件可以是,在處理器上 運(yùn)行的進(jìn)程、對象、可執(zhí)行碼、程序、函數(shù)、庫、子例程,計(jì)算機(jī),或軟件和硬件的組合。
[0021] 作為說明,在服務(wù)器上運(yùn)行的應(yīng)用和該服務(wù)器兩者都可以是組件。一個(gè)或多個(gè)組 件可以駐留在進(jìn)程中,組件可以位于一個(gè)計(jì)算機(jī)內(nèi)和/或分布在兩個(gè)或更多計(jì)算機(jī)之間。 術(shù)語"處理器"一般被理解為是指諸如計(jì)算機(jī)系統(tǒng)的處理單元之類的硬件組件。
[0022] 此外,所要求保護(hù)的主題可以使用產(chǎn)生控制計(jì)算機(jī)以實(shí)現(xiàn)所公開的主題的軟件、 固件、硬件或其任意組合的標(biāo)準(zhǔn)編程和/或工程技術(shù)而被實(shí)現(xiàn)為方法、裝置或制品。在此使 用的術(shù)語"制品"旨在涵蓋可以從任何計(jì)算機(jī)可讀設(shè)備、介質(zhì)訪問的計(jì)算機(jī)程序。
[0023] 計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括,但不限于磁存儲(chǔ)設(shè)備(例如,硬盤、軟盤、以及磁 帶,等等_)、光盤(例如,緊致盤(CD)、以及數(shù)字多功能盤(DVD),等等)、智能卡,以及閃存 設(shè)備(例如,卡、棒、鑰匙驅(qū)動(dòng)器,等等_)。相比之下,計(jì)算機(jī)可讀介質(zhì)一般(即,不一定,存 儲(chǔ)介質(zhì))可以另外包括通信介質(zhì),諸如用于無線信號(hào)的傳輸介質(zhì)等等。
[0024] 當(dāng)然,本域的技術(shù)人員將會(huì)認(rèn)識(shí)到,在不背離所要求保護(hù)的主題的范圍或精神的 前提下可以對這一配置進(jìn)行許多修改。此外,在此使用詞語"示例性"意指用作示例、實(shí)例 或說明。本文中被描述為"示例性"的任何方面或設(shè)計(jì)不一定被解釋為優(yōu)選于或更優(yōu)于其 他方面或設(shè)計(jì)。
[0025] 所要求保護(hù)的主題的一個(gè)實(shí)施例允許用戶提供自然語言描述以在電子表格中加 入表達(dá)式。該描述使用因域而異的語言。以此方式,用戶可以通過使用屬于因域而異的語言 的眾多關(guān)鍵字中的任何一個(gè)來引用表達(dá)式的單一程序。例如,在財(cái)務(wù)域,用于執(zhí)行求和運(yùn)算 的關(guān)鍵字可包括:總計(jì)、相加、或求和。如此,用戶可以通過使用這些關(guān)鍵字中的任何一個(gè), 并指定程序可以對其運(yùn)算的合適的單元格,來引用執(zhí)行求和運(yùn)算的程序。
[0026] 圖1是根據(jù)所要求保護(hù)的主題的示例性電子表格100。電子表格100包含描述每 一行104中的數(shù)據(jù)的列102。在所要求保護(hù)的主題的一個(gè)實(shí)施例中,用戶可以點(diǎn)擊單元格 106,并提供任務(wù)或程序的自然語言描述108。電子表格軟件提供對描述108的反饋,給用戶 與對描述108的改正、或其他可能的修改有關(guān)的信息。
[0027] 在一個(gè)實(shí)施例中,使用自下而上的動(dòng)態(tài)編程過程來執(zhí)行描述轉(zhuǎn)換。此過程(以任 意方式)將規(guī)則驅(qū)動(dòng)的轉(zhuǎn)換和關(guān)鍵字驅(qū)動(dòng)的合成過程進(jìn)行組合。規(guī)則驅(qū)動(dòng)的轉(zhuǎn)換是精準(zhǔn) 的,但是對用戶表達(dá)描述108的方式敏感。關(guān)鍵字驅(qū)動(dòng)的合成過程沒有規(guī)則驅(qū)動(dòng)的轉(zhuǎn)換精 準(zhǔn),但是具有高記憶度。這兩種方法的有意義的組合使系統(tǒng)對描述I 08的結(jié)構(gòu)具有穩(wěn)定性。
[0028] 有利地,這一方法可以成功地轉(zhuǎn)換被限定于關(guān)鍵字的描述;帶有諸多不需要的、錯(cuò) 誤的、或不相關(guān)的單詞的描述;以及,甚至其中關(guān)鍵字的順序是隨機(jī)的描述。例如,電子表 格100的簡單的求和命令的所有下列變化可以被成功地轉(zhuǎn)換:對國會(huì)山店的吧員的總報(bào)酬 求和(sum the totalpay for the capitol hill baristas);對國會(huì)山店吧員總報(bào)酬求和 (sum totalpay capitol hill baristas);計(jì)算機(jī)請對在國會(huì)山店位置工作的吧員的總報(bào) 酬值求和(computer please sum up the totalpay values for the baristas that work at the capitol hill location);為國會(huì)山店的每個(gè)吧員對他們的總報(bào)酬求和(for each barista at