專利名稱:用于生成問題的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及生成特定科目的問題,以及涉及用于自動和動態(tài)地生成問題的基于規(guī)則的方法和裝置。
背景技術(shù):
實(shí)踐是學(xué)習(xí)任何新科目的重要部分。解決問題可以構(gòu)成學(xué)習(xí)過程的重要部分,無論這種過程包括前端教學(xué)、自學(xué)、小組學(xué)習(xí)還是任何其它方法。教師、助教、教學(xué)計劃制訂者或參與教學(xué)或培訓(xùn)的其它人員需要生成大量問題,以便讓所有級別的學(xué)生能夠接觸盡可能多的教學(xué)科目方面。正在進(jìn)行的練習(xí)、家庭作業(yè)、課堂作業(yè)、測驗(yàn)、模擬測驗(yàn)等都需要問題。但是,生成多樣化的大型問題集合(涵蓋包括 科目的所有方面以及所有難度級別的問題)并非一項(xiàng)輕松的任務(wù)。人工生成測驗(yàn)可能耗時耗力,并且需要想象力、計劃、仔細(xì)校對和測驗(yàn)。而且,經(jīng)過一段時間,由一個人制定的問題傾向于不斷重復(fù),從而導(dǎo)致效果減小。準(zhǔn)備問題庫并從中選擇問題存在一些缺陷,例如問題庫容量有限,而且是靜態(tài)的,容易泄題、導(dǎo)致作弊以及被盜。此外,選擇過程也可能存在一些缺點(diǎn),例如對問題難度和多樣性的控制有限,以及可能出現(xiàn)重復(fù)。其它解決方案包括生成問題模板或預(yù)定格式庫,并根據(jù)模板生成問題。問題模板是具有域而非數(shù)值的問題。為了在后期使用問題模板生成問題,必須存儲模板,然后檢索模板。一旦選擇問題模板,便可通過用數(shù)值替代給定域中的模板來生成問題。這些解決方案也具有以下限制:即模板數(shù)量有限、對問題難度和多樣性的控制有限,以及可能存在重復(fù)、泄題和被盜的風(fēng)險。
發(fā)明內(nèi)容
本發(fā)明的一個示例性實(shí)施例是一種由計算機(jī)化設(shè)備執(zhí)行的計算機(jī)實(shí)現(xiàn)的方法,所述方法包括:接收規(guī)則;動態(tài)地生成表示問題的圖,所述圖包括一個或多個節(jié)點(diǎn),每個節(jié)點(diǎn)與具有一個或多個變量的規(guī)則關(guān)聯(lián);從所述一個或多個變量的值域采樣值;以及合成所述圖的文本表示。本發(fā)明的另一示例性實(shí)施例是一種具有處理單元和存儲設(shè)備的裝置,所述裝置包括:接收組件,用于接收規(guī)則;圖生成器,用于動態(tài)地生成表示問題的圖,所述圖包括一個或多個節(jié)點(diǎn),每個節(jié)點(diǎn)與具有一個或多個變量的規(guī)則關(guān)聯(lián);值采樣組件,用于從所述一個或多個變量的值域采樣值;以及文本合成組件,用于合成所述圖的文本表示。本發(fā)明的又一示例性實(shí)施例是一種計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括:非瞬時性計算機(jī)可讀介質(zhì);用于接收規(guī)則的第一程序指令;用于動態(tài)地生成表示問題的圖的第二程序指令,所述圖包括一個或多個節(jié)點(diǎn),每個節(jié)點(diǎn)與具有一個或多個變量的規(guī)則關(guān)聯(lián);以及用于從所述一個或多個變量的值域采樣值的第三程序指令;并且其中所述第一、第二和第三程序指令存儲在所述非瞬時性計算機(jī)可讀介質(zhì)上。
通過下面結(jié)合附圖的詳細(xì)描述,可以更全面地理解和了解本發(fā)明,在所述附圖中,對應(yīng)或類似的標(biāo)號或字母表示對應(yīng)或類似的組件。除非另有所指,否則所述附圖提供本發(fā)明的示例性實(shí)施例或方面,并且并非限制本發(fā)明的范圍,這些附圖是:圖1示出根據(jù)本發(fā)明的某些示例性實(shí)施例的用于自動生成問題的方法中的步驟的流程圖;圖2A示出根據(jù)本發(fā)明的某些示例性實(shí)施例的生成問題的圖構(gòu)建步驟的示意圖示;圖2B示出根據(jù)本發(fā)明的某些示例性實(shí)施例的生成問題的域傳播步驟的示意圖示;圖2C示出根據(jù)本發(fā)明的某些示例性實(shí)施例的生成問題的圖采樣步驟的示意圖示;以及圖3示出根據(jù)本發(fā)明的·某些示例性實(shí)施例的用于自動生成問題的裝置的組件的框圖。
具體實(shí)施例方式下面將參照本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機(jī)程序指令實(shí)現(xiàn)。這些計算機(jī)程序指令可以提供給通用計算機(jī)、專用計算機(jī)、被測試處理器或其它可編程數(shù)據(jù)處理裝置的一個或多個處理器,從而生產(chǎn)出一種機(jī)器,這些計算機(jī)程序指令通過計算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行,產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。也可以把這些計算機(jī)程序指令存儲在能使得計算機(jī)或其它可編程數(shù)據(jù)處理裝置以特定方式工作的非瞬時性計算機(jī)可讀介質(zhì)中,這樣,存儲在非瞬時性計算機(jī)可讀介質(zhì)中的指令就產(chǎn)生一個包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置的制造品°也可以把計算機(jī)程序指令加載到設(shè)備、計算機(jī)、其它可編程數(shù)據(jù)處理裝置上,使得在計算機(jī)、其它可編程數(shù)據(jù)處理裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計算機(jī)實(shí)現(xiàn)的過程,從而使得在計算機(jī)或其它可編程裝置上執(zhí)行的指令能夠提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。本發(fā)明解決的一個技術(shù)問題是需要針對給定領(lǐng)域,根據(jù)該領(lǐng)域中的規(guī)則產(chǎn)生隨機(jī)問題。當(dāng)前的技術(shù)是人工從問題庫中選擇問題,然后將詳細(xì)信息填充到模板中或執(zhí)行類似操作來生成問題。另一技術(shù)問題是生成具有可控的難度級別、多樣性以及長度或復(fù)雜度的問題。再一技術(shù)問題是需要生成問題的附加內(nèi)容,例如,問題的解決方案、解決提示、用戶解決方案檢查工具、多項(xiàng)選擇題、證明題或證明錯誤的問題等。一項(xiàng)技術(shù)解決方案包括在給定領(lǐng)域以及給定領(lǐng)域規(guī)則的前提下,自動生成問題,領(lǐng)域例如可以是學(xué)生需要學(xué)習(xí)并掌握的一門學(xué)科。每個領(lǐng)域都有關(guān)聯(lián)的對象。例如,在運(yùn)動學(xué)中,對象可以是小轎車、火車、人、飛機(jī)等。領(lǐng)域還可以與相關(guān)實(shí)體關(guān)聯(lián),其中每個實(shí)體均具有名稱、符號、與其關(guān)聯(lián)的對象、值范圍或值域等。在運(yùn)動學(xué)實(shí)例中,實(shí)體可以包括具有符號V的速率,它可以與小轎車、火車、人、飛機(jī)等關(guān)聯(lián)。其它實(shí)體可以包括距離、時間、時間差或其它因素。每個對象可以與多個實(shí)體關(guān)聯(lián),并且每個實(shí)體可以與多個對象關(guān)聯(lián)。領(lǐng)域中的每個規(guī)則可以描述實(shí)體間的某些關(guān)系。例如,運(yùn)動學(xué)包含規(guī)則x=v*t,其指示勻速行進(jìn)的距離等于速度乘以行進(jìn)時間。規(guī)則一般不與特定對象關(guān)聯(lián),以便多個對象可與每個規(guī)則進(jìn)行關(guān)聯(lián)。但是,在某些學(xué)科中,對象不一定是必需的。例如,在抽象三角學(xué)領(lǐng)域,問題可以包括待證明或反駁的等式或不等式,它們沒有關(guān)聯(lián)的對象。可將包括領(lǐng)域、規(guī)則、實(shí)體以及可選地包括對象的集合稱為模型。
如果給出生成特定領(lǐng)域問題的請求,便可構(gòu)建圖。圖的根涉及領(lǐng)域中的規(guī)則,例如X = V * t,其中將變量x、v或t中的一個或多個指示為“未知”,同時將其它變量指示為“給定”或“導(dǎo)出”。對于每個導(dǎo)出變量,生成涉及同一規(guī)則或另一規(guī)則的子節(jié)點(diǎn),在該子節(jié)點(diǎn)中,變量是未知的。處理可以一直繼續(xù),直到針對每個導(dǎo)出變量生成節(jié)點(diǎn),在該節(jié)點(diǎn)中,所有其它變量都是給定的。某些節(jié)點(diǎn)可以使用僅與問題相關(guān),并且一般不是學(xué)科一部分的特定(ad-hoc)規(guī)貝U。例如,特定規(guī)則可以指示火車速度是小轎車速度的兩倍。所生成問題的難度可以取決于節(jié)點(diǎn)數(shù)量、圖寬度、圖深度、與圖中節(jié)點(diǎn)關(guān)聯(lián)的每個規(guī)則的可選難度指示,每個節(jié)點(diǎn)內(nèi)的未知變量等。一旦構(gòu)建了圖,便可針對每個節(jié)點(diǎn)選擇對象,以便對象與規(guī)則的變量關(guān)聯(lián)。在上述實(shí)例中,規(guī)則X=V*t可以與小轎車或火車關(guān)聯(lián),但是不與樹關(guān)聯(lián)。當(dāng)選定對象時,便在整個圖中指示和傳播各種變量的域。域可以包括一個或多個值、值范圍等。例如,質(zhì)量必須是正數(shù),小轎車速度可以介于O和200公里/小時之間等。域還可以與附加限制關(guān)聯(lián),例如可由10整除的整數(shù)等。這些限制可以從特定領(lǐng)域?qū)С?,與問題的難度或便利性或者其它原因關(guān)聯(lián)。在域傳播之后,可以執(zhí)行域投射(projection),此操作將域從圖的根節(jié)點(diǎn)投射到另一節(jié)點(diǎn)。例如,如果小轎車的速度在10公里/小時-150公里/小時的范圍內(nèi),則上述實(shí)例中的火車速度在20公里/小時-300公里/小時的范圍內(nèi)(其中火車速度是小轎車速度的兩倍)。將此范圍與火車的一般速度域(例如,10公里/小時- 200公里/小時)進(jìn)行組合,得出域20公里/小時-200公里/小時。一旦投射域,便可執(zhí)行值選擇,此操作始于選擇圖的葉內(nèi)的給定變量的值。從相關(guān)域中隨機(jī)選擇值。然后根據(jù)從葉到根的順序解析節(jié)點(diǎn),以便在每個節(jié)點(diǎn)中,為給定變量賦值,并且確定未知變量。然后將未知變量的值用作父節(jié)點(diǎn)中的導(dǎo)出變量以確定進(jìn)一步的未知變量。所述處理在圖的根處停止,在此,為是問題的解的第一未知變量賦值。然后,使用自然語言引擎,針對圖合成文本表示,其包括圖構(gòu)造、給定變量的具體值,以及可用于變量和對象的語言信息。從包括問題的主要未知變量的圖節(jié)點(diǎn)(通常為根節(jié)點(diǎn))構(gòu)造問題短語。本發(fā)明的一個技術(shù)效果涉及用于隨機(jī)并動態(tài)地生成所需領(lǐng)域中的問題的方法和裝置。如果給定與領(lǐng)域相關(guān)的規(guī)則,則可以生成無數(shù)個問題。與現(xiàn)有解決方案不同,由于問題是動態(tài)生成的,因此無需創(chuàng)建和存儲任何模板。本發(fā)明的另一技術(shù)效果涉及生成具有所需難度的問題。難度取決于多種可控參數(shù),例如圖的深度或?qū)挾?、?guī)則、規(guī)則中的未知變量或其它因素,因此可以調(diào)整難度。本發(fā)明的再一技術(shù)效果涉及生成附加產(chǎn)品,例如學(xué)校對問題的解決方案、解決方案提示、為解決問題的個人提供的動態(tài)幫助、多選題、證明題或證明錯誤的問題等。現(xiàn)在參考圖1,其中示出用于自動生成問題的方法的步驟的流程圖,以及參考圖2A、2B和2C,其中示出具體步驟。在步驟100,接收生成問題的請求。該請求可指示問題的領(lǐng)域,并且可進(jìn)一步指示應(yīng)與問題相關(guān)的特定規(guī)則。該請求還可以指示所要求的問題難度或者其它信息,例如有關(guān)所需問題的信息(如“詢問速度? ”等)。在步驟104,生成問題,此步驟可以包括下面詳細(xì)描述的子步驟。所述問題生成可以使用來自模型存儲庫120的有關(guān)領(lǐng)域、規(guī)則、對象等的模型信息,以及隨問題生成請求一起提供的信息。模型包括還可以與·難度和復(fù)雜度關(guān)聯(lián)的規(guī)則;諸如人、小轎車、石頭等可用于生成問題的對象;諸如物理度量(例如,大小、速度、質(zhì)量等)的實(shí)體;與實(shí)體關(guān)聯(lián)的規(guī)則;以及每個實(shí)體的允許域,所述實(shí)體可能與對象相關(guān),也可能與對象無關(guān),例如,質(zhì)量始終為正數(shù),但是對于人而且,質(zhì)量可限于10-150公斤之間。模型還可以包括有關(guān)以文字方式正確表示規(guī)貝U、對象或?qū)嶓w的信息。在子步驟108,可以生成問題圖。在示出問題圖的示意圖示的圖2A中例示了該子步驟。該圖可以是始于根節(jié)點(diǎn)的有向非循環(huán)圖。根節(jié)點(diǎn)可以與隨請求一起提供的特定規(guī)則、從領(lǐng)域隨機(jī)選擇的規(guī)則等關(guān)聯(lián)。選擇規(guī)則中的變量之一作為問題的未知變量,同時可以將其它變量選為給定變量或?qū)С鲎兞俊4诉x擇應(yīng)是難度和復(fù)雜度約束的結(jié)果。針對圖2A的示意圖的根節(jié)點(diǎn)200選擇的規(guī)則為運(yùn)動學(xué)速度規(guī)則:v=dx/dt,其中由于所要求的難度級別,已向變量添加索引,因?yàn)閷⑸婕熬哂衅渌?guī)則實(shí)例的另一節(jié)點(diǎn)。將規(guī)則的一個變量“速度vl”選為未知變量,同時將另一變量“位移dxl”選擇為給定變量,并且將第三變量“dtl”選為導(dǎo)出變量,以便它的值必須通過另一節(jié)點(diǎn)求出。然后針對每個導(dǎo)出變量生成子節(jié)點(diǎn),其中子節(jié)點(diǎn)與涉及同一實(shí)體的另一規(guī)則關(guān)聯(lián)。所述規(guī)則可以是來自模型的全局規(guī)則,也可以是局部規(guī)則,此規(guī)則也可稱為特定規(guī)則。在圖2A的實(shí)例中·,為了求解dtl生成節(jié)點(diǎn)204,其中節(jié)點(diǎn)204涉及局部規(guī)則dtl=dt2+C。C被選為給定變量,dt2被選為導(dǎo)出變量,此變量又導(dǎo)致生成節(jié)點(diǎn)208,節(jié)點(diǎn)208再次涉及規(guī)則v=dx/dt作為節(jié)點(diǎn)200,但是具有不同的變量:v2=dx2/dt2。dt2是待求解的未知變量,其中dx2和v2被選為給定變量。問題的難度級別可通過所生成圖的大小和深度,以及圖中所用規(guī)則的難度進(jìn)行控制。因此,圖越深、越寬,所用規(guī)則越嚴(yán)格,生成的問題就越難。可通過結(jié)合圖中最長路徑的全部或部分、不同路徑數(shù)量、圖中路徑的平均長度、所用規(guī)則的難度、局部規(guī)則的難度、所用規(guī)則的多樣性或其它任何復(fù)雜度度量來評估問題的難度級別。一旦構(gòu)建圖,便可在可選的子步驟112,根據(jù)規(guī)則,通過使對象通過圖傳播(例如,從根傳播到葉)來將對象與圖的節(jié)點(diǎn)相關(guān)聯(lián)。因此,在圖2B的實(shí)例中,如信息框202所示,將火車與節(jié)點(diǎn)200進(jìn)行關(guān)聯(lián),以及如信息框210所示,將小轎車與節(jié)點(diǎn)208進(jìn)行關(guān)聯(lián)。將理解,在某些學(xué)科中,對象不一定是必需的,例如,在抽象三角學(xué)領(lǐng)域或者在計算公式的情況下,問題可以是待證明或反駁的等式或不等式。在這些情況下,不為規(guī)則指定對象。無論節(jié)點(diǎn)是否與對象關(guān)聯(lián),然后都通過圖投射每個變量的域。例如,針對節(jié)點(diǎn)200指示火車速度為20-140公里/小時、火車行駛距離為10-1400公里,以及火車行駛時間
0.5-10小時,并且針對節(jié)點(diǎn)208指示小轎車速度為20-240公里/小時、小轎車行駛距離為10-2400公里,以及小轎車行駛時間為0.5-10小時。然后朝向不與對象關(guān)聯(lián)的局部規(guī)則傳播域。在圖2B的實(shí)例中,域dtl和dt2分別從節(jié)點(diǎn)200和208傳播到節(jié)點(diǎn)204。在子步驟116,在節(jié)點(diǎn)之間投射域。域投射可以指將子域或以其它方式關(guān)聯(lián)的域與對象進(jìn)行關(guān)聯(lián)。例如,假設(shè)節(jié)點(diǎn)204的變量C為正數(shù)(例如1-6小時),如果域tl為0.5-10小時,則域t2必須更小。 可使用約束求解器投射域,例如約束滿足問題(CSP)求解器、可滿足性(SAT)求解器等。域可以與對該域具有約束貢獻(xiàn)的對象進(jìn)行關(guān)聯(lián),例如,小轎車的可能速度范圍。但是,即使實(shí)體未與對象關(guān)聯(lián),仍可能需要例如通過投射定義域,無論是在一般情況下還是針對特定問題或?qū)W科。例如,角度(盡管是抽象的)仍需要在O至2pi的范圍內(nèi)。在子步驟120,可針對每個節(jié)點(diǎn)中的每個給定變量,從葉開始采樣值??蓮母鶕?jù)投射子步驟116確定的域選擇值。然后根據(jù)從葉到根的順序來處理節(jié)點(diǎn),從而確定未知變量。但是,也可應(yīng)用其它可能不與域投射和采樣關(guān)聯(lián)的賦值方法。在圖2C的實(shí)例中,如信息框212所示,dx2被選為等于300公里,v2被選為等于100公里/小時。因此將t2確定為等于3小時。繼續(xù)到節(jié)點(diǎn)204,C被選為等于3小時,dtl被確定為等于5小時,如信息框216所示。繼續(xù)到節(jié)點(diǎn)200,將dxl選為等于600公里,提供未知變量Vl的解為120公里/小時,如信息框220所示。在子步驟124,可以基于所述圖、對象和給定變量的關(guān)聯(lián)值合成問題。在某些實(shí)施例中,可以從與所述圖的根節(jié)點(diǎn)的未知變量關(guān)聯(lián)的規(guī)則來構(gòu)建問題短語。在圖2C的實(shí)例中,所生成的問題可以表述為以下短語:小轎車以100公里/小時的速度行駛300公里的距離;火車比小轎車多行駛2小時;火車行駛距離為600公里;火車的速度是多少?在子步驟128,可以生成可選的附加內(nèi)容。例如,可以生成多選題,該題列出正確答案以及一個或多個錯誤答案;可通過分別提供正確或不正確的答案來生成“證明題”或“證明錯誤的問題”;可通過從葉到根節(jié)點(diǎn)追蹤圖并針對每個節(jié)點(diǎn)提供文本來提供完整的解;可通過跟蹤階段和間接結(jié)果來檢查用戶的解;問題可分為各子部分并可表述為多部分問題,
等等
現(xiàn)在參考圖3,其中示出用于測試事務(wù)的裝置的組件的框圖。環(huán)境包括計算設(shè)備300,設(shè)備300包括一個或多個處理器304。任一處理器304均可以是中央處理單元(CPU)、微處理器、電子電路、集成電路(IC)等。備選地,計算設(shè)備300可以實(shí)現(xiàn)為針對數(shù)字信號處理器(DSP)或微控制器等特定處理器編寫或傳輸?shù)狡渲械墓碳?,或者可以?shí)現(xiàn)為現(xiàn)場可編程門陣列(FPGA)或?qū)S眉呻娐?ASIC)等硬件或可配置硬件。處理器304可用于執(zhí)行計算設(shè)備300或其任何子組件所需的計算。在本發(fā)明的某些示例性實(shí)施例中,計算設(shè)備300可以包括人機(jī)接口(麗I)模塊308。MMI模塊308可用于從裝置接收輸入或?qū)⑤敵鎏峁┙o裝置,例如,接收對問題的請求或模型相關(guān)信息,以及提供問題或其它輸出。在某些實(shí)施例中,計算設(shè)備300可以包括諸如終端、顯示器、鍵盤、輸入設(shè)備之類的輸入/輸出(I/o)設(shè)備312,以便與系統(tǒng)進(jìn)行交互來調(diào)用該系統(tǒng)并接收結(jié)果。但是將理解,該系統(tǒng)可以在沒有人工操作和沒有I/O設(shè)備312的情況下執(zhí)行操作。在某些實(shí)施例中,計算設(shè)備300可以提供輸入和輸出接口。該接口可實(shí)現(xiàn)為麗I模塊308的一部分,或單獨(dú)實(shí)現(xiàn)。問題生成和其它操作可以使用軟件組件、硬件組件、硬件與軟件組合等來實(shí)現(xiàn)。計算設(shè)備300可以包括一個或多個用于存儲可執(zhí)行組件的存儲設(shè)備320,這些設(shè)備還可以包含執(zhí)行一個或多個組件期間的數(shù)據(jù)。存儲設(shè)備320可以是永久或易失性的。例如,存儲設(shè)備320可以是閃盤、隨機(jī)存取存儲器(RAM)、存儲芯片、諸如⑶、DVD或激光盤之類的光存儲設(shè)備;諸如磁帶、硬盤、存儲區(qū)域網(wǎng)(SAN)、網(wǎng)絡(luò)附加存儲(NAS)或其它存儲介質(zhì)之類的磁存儲設(shè)備;諸如閃存設(shè)備、記憶棒等之類的半導(dǎo)體存儲設(shè)備。在某些示例性實(shí)施例中,存儲設(shè)備320可以包含程序代碼,所述程序代碼可操作以導(dǎo)致任一處理器304執(zhí)行與上面的圖1所示的任一步·驟關(guān)聯(lián)的操作,例如接收請求,生成問題等。存儲設(shè)備320可以包括一個或多個模型存儲區(qū)322,用于存儲與運(yùn)動學(xué)、動力學(xué)、各種化學(xué)科目、三角學(xué)、代數(shù)等一門或多門學(xué)科關(guān)聯(lián)的一個或多個模型。下面詳細(xì)描述的組件可以實(shí)現(xiàn)為一個或多個相關(guān)計算機(jī)指令集,這些指令集可加載到存儲設(shè)備320中并例如由任一處理器304或另一處理器執(zhí)行。組件可以布置為一個或多個以任何編程語言并在任何技術(shù)環(huán)境下編程的可執(zhí)行文件、動態(tài)庫、靜態(tài)庫、方法、函數(shù)、服務(wù)等。在某些實(shí)施例中,加載的組件可包括用于生成問題圖的問題圖生成組件324,如結(jié)合圖1的子步驟108所述。加載的組件還可以包括用于選擇與圖節(jié)點(diǎn)關(guān)聯(lián)的對象,以及在整個圖中傳播對象域的對象選擇和域傳播組件328,如結(jié)合圖1的子步驟112所述。另一組件是用于在整個圖中投射傳播域的域投射組件332,如結(jié)合圖1的子步驟116所述。又一組件是針對圖的葉的給定變量,從投射域中采樣值,并確定整個圖中的未知值以生成解的值采樣組件336,如結(jié)合圖1的子步驟120所述。加載的組件可還包括利用自然語言引擎,基于帶有規(guī)則、對象和給定值的圖生成文本問題的問題合成組件340。存儲設(shè)備320中還可存儲用于生成附加產(chǎn)品(例如學(xué)校解決方案、多選題、提示等)的附加功能組件344。所公開的方法和裝置提供了自動且動態(tài)地生成特定領(lǐng)域中的問題??梢砸愿鞣N形式和各種難度級別生成問題。在某些實(shí)施例中,所述系統(tǒng)可適于以個性化模式工作,其中可監(jiān)視個人用戶成績,并且根據(jù)用戶進(jìn)步程度和需求更新問題的難度和復(fù)雜度。所述裝置和方法可用于為學(xué)生提供訓(xùn)練、生成作業(yè)或生成試題而無需教師做出太多工作,同時消除了重復(fù)、試題泄露、作弊以及被盜的風(fēng)險。所述裝置和方法還有助于遠(yuǎn)程學(xué)習(xí)并降低了學(xué)費(fèi)。
附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實(shí)施例的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖中的每個方框或框圖中的某些方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實(shí)現(xiàn)。此處使用的術(shù)語只是為了描述特定的實(shí)施例并且并非旨在作為本發(fā)明的限制。如在此使用的那樣,單數(shù)形式“一”、“一個”和“該”旨在同樣包括復(fù)數(shù)形式,除非上下文明確地另有所指。還將理解,當(dāng)在此說明書中使用時,術(shù)語“包括”和/或“包含”指定存在聲明的特征、整數(shù)、步驟、操作、元素和/或組件,但是并不排除存在或增加一個或多個其它特征、整數(shù)、步驟、操作、元素、組件和/或它們的組合。本技術(shù)領(lǐng)域的技術(shù)人員知道,本發(fā)明可以實(shí)現(xiàn)為系統(tǒng)、方法或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可以具體實(shí)現(xiàn)為以下形式,即:可以是完全的硬件、也可以是完全的軟件(包括固件、駐留軟件、微代碼等),還·可以是硬件和軟件結(jié)合的形式,本文一般稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明還可以實(shí)現(xiàn)為在任何有形表達(dá)介質(zhì)中包含的計算機(jī)程序產(chǎn)品的形式,該計算機(jī)程序產(chǎn)品具有包含在介質(zhì)中的計算機(jī)可用程序代碼??梢圆捎靡粋€或多個計算機(jī)可用或計算機(jī)可讀介質(zhì)的任意組合。計算機(jī)可用或計算機(jī)可讀介質(zhì)例如可以是一但不限于一任何非瞬時性計算機(jī)可讀介質(zhì)、電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置、器件或傳播介質(zhì)。計算機(jī)可讀介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式計算機(jī)磁盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CDROM)、光存儲器件、支持因特網(wǎng)或內(nèi)聯(lián)網(wǎng)之類的傳輸介質(zhì)、或磁存儲器件。需要指出,計算機(jī)可用或計算機(jī)可讀介質(zhì)甚至可以是上面能打印程序的紙介或其它適當(dāng)?shù)慕橘|(zhì),從而能夠例如通過光掃描紙介或其它介質(zhì),以電子的方式捕獲程序,然后以任何適當(dāng)?shù)姆绞骄幾g、解譯或處理程序,并在必要時將程序存儲在計算機(jī)存儲器中。在本文檔的上下文中,計算機(jī)可用或計算機(jī)可讀介質(zhì)可以是任何能夠包含、存儲、傳送、傳播或傳輸程序的介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。計算機(jī)可用介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機(jī)可用程序代碼。這種計算機(jī)可用程序代碼可以使用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、電線、光纜、RF等等??梢砸砸环N或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明的操作的計算機(jī)程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++,還包括常規(guī)的過程式程序設(shè)計語言一諸如“C”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算機(jī)上執(zhí)行、部分地在用戶計算機(jī)上執(zhí)行、作為一個獨(dú)立的軟件包執(zhí)行、部分在用戶計算機(jī)上部分在遠(yuǎn)程計算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算機(jī)的情形中,遠(yuǎn)程計算機(jī)可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機(jī),或者,可以連接到外部計算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。以下的權(quán)利要求中的對應(yīng)結(jié)構(gòu)、材料、操作以及所有功能性限定的裝置或步驟的等同替換,旨在包括任何用于與在權(quán)利要求中具體指出的其它單元相組合地執(zhí)行該功能的結(jié)構(gòu)、材料或操作。所給出的對本發(fā)明的描述其目的在于示意和描述,并非是窮盡性的,也并非是要把本發(fā)明限定到所公開的實(shí)施例。對于本領(lǐng)域的普通技術(shù)人員來說,在不偏離本發(fā)明的范圍和精神的情況下,顯然可以作出許多修改和變型。實(shí)施例的選擇和描述,旨在最好地解釋本發(fā)明的原理、實(shí)際應(yīng)用,當(dāng)適合于所構(gòu)想的特定應(yīng)用時,可使本技術(shù)領(lǐng)域的其他普通人員理解本發(fā)明帶有各種修改·的各種實(shí)施例。
權(quán)利要求
1.一種由計算機(jī)化設(shè)備執(zhí)行的計算機(jī)實(shí)現(xiàn)的方法,所述方法包括: 接收規(guī)則; 動態(tài)地生成表示問題的圖,所述圖包括至少一個節(jié)點(diǎn),所述至少一個節(jié)點(diǎn)與具有至少一個變量的規(guī)則關(guān)聯(lián); 從所述至少一個變量的值域采樣值;以及 合成所述圖的文本表示。
2.根據(jù)權(quán)利要求1的計算機(jī)實(shí)現(xiàn)的方法,還包括: 將對象與所述規(guī)則關(guān)聯(lián); 通過所述圖傳播與所述對象關(guān)聯(lián)的值域;以及 通過所述圖投射所述值域。
3.根據(jù)權(quán)利要求2的計算機(jī)實(shí)現(xiàn)的方法,其中所述圖包括至少一個根和至少一個葉,并且其中將所述值域從所述根傳播到所述至少一個葉。
4.根據(jù)權(quán)利要求2的計算機(jī)實(shí)現(xiàn)的方法,其中所述圖包括至少一個根和至少一個葉,并且其中將所述值從所述至少一個葉傳播到所述根。
5.根據(jù)權(quán)利要求1的計算機(jī)實(shí)現(xiàn)的方法,其中所述規(guī)則的所述至少一個變量中的每個變量均與從包括以下項(xiàng)的組選擇的狀態(tài)關(guān)聯(lián):未知、導(dǎo)出以及給定。
6.根據(jù)權(quán)利要求5的計算機(jī)實(shí)現(xiàn)的方法,其中所述圖中的節(jié)點(diǎn)的子代與該節(jié)點(diǎn)所關(guān)聯(lián)的規(guī)則的變量關(guān)聯(lián),所述變量具有導(dǎo)出狀態(tài)。
7.根據(jù)權(quán)利要求1的計算機(jī)實(shí)現(xiàn)的方法,其中合成所述文本表示包括自然語言合成。
8.根據(jù)權(quán)利要求1的計算機(jī)實(shí)現(xiàn)的方法,還包括生成與所述文本表示關(guān)聯(lián)的問題的提/Jn ο
9.根據(jù)權(quán)利要求1的計算機(jī)實(shí)現(xiàn)的方法,還包括生成與所述文本表示關(guān)聯(lián)的問題的答案。
10.根據(jù)權(quán)利要求1的計算機(jī)實(shí)現(xiàn)的方法,還包括檢查與所述文本表示關(guān)聯(lián)的問題的答案。
11.根據(jù)權(quán)利要求1的計算機(jī)實(shí)現(xiàn)的方法,其中根據(jù)難度級別生成所述圖。
12.—種具有處理單元和存儲設(shè)備的裝置,所述裝置包括: 接收組件,用于接收規(guī)則; 圖生成器,用于動態(tài)地生成表示問題的圖,所述圖包括至少一個節(jié)點(diǎn),所述至少一個節(jié)點(diǎn)與具有至少一個變量的規(guī)則關(guān)聯(lián); 值采樣組件,用于從所述至少一個變量的值域采樣值;以及 文本合成組件,用于合成所述圖的文本表示。
13.根據(jù)權(quán)利要求12的裝置,還包括: 對象選擇和域傳播組件,用于將對象與所述規(guī)則關(guān)聯(lián)以及通過所述圖傳播與所述對象關(guān)聯(lián)的值域;以及 值投射組件,用于通過所述圖投射所述值域。
14.根據(jù)權(quán)利要求13的裝置,其中所述圖包括至少一個根和至少一個葉,其中將所述值域從所述根傳播到所述至少一個葉,并且其中將所述值從所述至少一個葉傳播到所述根。
15.根據(jù)權(quán)利要求12的裝置,其中所述至少一個節(jié)點(diǎn)與公式關(guān)聯(lián),并且其中所述規(guī)則的每個變量均與從包括以下項(xiàng)的組選擇的狀態(tài)關(guān)聯(lián):未知、導(dǎo)出以及給定。
16.根據(jù)權(quán)利要求12的裝置,其中所述圖中的節(jié)點(diǎn)的子代與該節(jié)點(diǎn)所關(guān)聯(lián)的規(guī)則的變量關(guān)聯(lián),所述變量具有導(dǎo)出狀態(tài)。
17.根據(jù)權(quán)利要求12的裝置,其中所述文本合成組件為自然語言合成器。
18.根據(jù)權(quán)利要求12的裝置,還包括:提示生成組件,用于生成與所述文本表示關(guān)聯(lián)的問題的提示。
19.根據(jù)權(quán)利要求12的裝置,還包括:答案生成組件,用于生成與所述文本表示關(guān)聯(lián)的問題的答案。
20.根據(jù)權(quán)利要求12的裝置,還包括:答案檢查組件,用于檢查與所述文本表示關(guān)聯(lián)的問題的答案。
21.根據(jù)權(quán)利要求12的 裝置,其中根據(jù)難度級別生成所述圖。
全文摘要
本發(fā)明涉及一種用于生成問題的方法和裝置。所述方法包括接收規(guī)則;動態(tài)地生成表示問題的圖,所述圖包括一個或多個節(jié)點(diǎn),每個節(jié)點(diǎn)與具有一個或多個變量的規(guī)則關(guān)聯(lián);從所述變量的值域采樣值;以及合成所述圖的文本表示。
文檔編號G06F17/30GK103226562SQ20131003385
公開日2013年7月31日 申請日期2013年1月29日 優(yōu)先權(quán)日2012年1月30日
發(fā)明者A·阿迪爾, I·耶格, R·萊維, T·薩爾曼 申請人:國際商業(yè)機(jī)器公司