有的人會(huì)有疑問,機(jī)器可以做自動(dòng)解題嗎?我想說自動(dòng)解題不僅可以做,而且可以做的更好。
多知網(wǎng)6月23日消息,從月初到現(xiàn)在,高考話題一直熱度不減。今年參加高考并考得134分的學(xué)霸君智能教育機(jī)器人,也在持續(xù)受到關(guān)注。智能教育機(jī)器人是怎樣完成整個(gè)答題過程的?在這個(gè)機(jī)器人背后,學(xué)霸君構(gòu)建了一個(gè)怎樣的數(shù)據(jù)分析處理系統(tǒng)?
本次,多知網(wǎng)邀請(qǐng)到學(xué)霸君首席科學(xué)家陳銳鋒做客多知網(wǎng)第十二期OpenTalk“當(dāng)教育遭遇AI,將帶來哪些顛覆性的變革”活動(dòng),在活動(dòng)上他針對(duì)以上問題進(jìn)行了講述和解答。
以下為陳銳鋒的分享(經(jīng)多知網(wǎng)編輯):
有的人會(huì)有疑問,機(jī)器可以做自動(dòng)解題嗎?我想說自動(dòng)解題不僅可以做,而且可以做的更好。如果我們進(jìn)入這個(gè)領(lǐng)域更長時(shí)間,能做出更好的東西。因?yàn)樗械男畔⑷刻N(yùn)含在數(shù)據(jù)里面,這次就是我們?cè)谶^去四年,觀測(cè)數(shù)據(jù)、分析數(shù)據(jù)所積累的東西。
今天分享主要有兩個(gè)內(nèi)容。首先說動(dòng)機(jī),我們的數(shù)據(jù)智能是什么樣子,為啥要做數(shù)據(jù)智能,第二說路徑,有動(dòng)機(jī)有路徑,就形成一個(gè)完整的我們做這個(gè)東西的描述。我是做運(yùn)籌學(xué)出身的,我的一個(gè)觀點(diǎn)是學(xué)習(xí)到后面不僅僅是智能重要,它的優(yōu)化同樣非常重要。
打地基:用拍照搜題建立高考數(shù)學(xué)知識(shí)點(diǎn)數(shù)據(jù)庫
這是我們以前做的關(guān)于芯片制作的系統(tǒng)簡(jiǎn)化模型,芯片的制作有幾個(gè)環(huán)節(jié),首先要熔化硅的原材料,成型、冷卻、做質(zhì)量檢測(cè)、切片再做質(zhì)量檢測(cè),再做打磨,才可以看到原始的芯片。這里面有幾個(gè)環(huán)節(jié)是質(zhì)量檢測(cè),我們?cè)诮逃锩嬉舶l(fā)現(xiàn)有同樣的問題。
每一次處理,如果帶著一點(diǎn)點(diǎn)缺陷,會(huì)導(dǎo)致它下一部分缺陷的累計(jì)。如果是把每一個(gè)知識(shí)點(diǎn)的學(xué)習(xí)當(dāng)成是一次裝配的過程,我們可以把整個(gè)學(xué)習(xí)過程當(dāng)成是一個(gè)很長的組裝過程。直線與直線平面的關(guān)系、平面與平面的關(guān)系、旋轉(zhuǎn)體、多面體,可以看到這是立體幾何幾個(gè)關(guān)聯(lián)知識(shí)點(diǎn)的前后關(guān)系。
我們學(xué)習(xí)的時(shí)候會(huì)從最簡(jiǎn)單的學(xué)起,第一個(gè)課程掌握了80%左右知識(shí)點(diǎn)的情況下,有20%要累計(jì)到下一個(gè)知識(shí)點(diǎn),直線與平面又有20%產(chǎn)生知識(shí)的空缺,不斷累計(jì)下來,第三、第四、第五節(jié)課開始有些同學(xué)跟不上,這就是學(xué)習(xí)缺陷的累計(jì)。
如果有比較好的機(jī)制在每個(gè)知識(shí)點(diǎn)的學(xué)習(xí)加一次檢測(cè),并且能把這些量化、固化、指標(biāo)化,我們可以用這個(gè)東西幫學(xué)生去補(bǔ)漏。他做題,到底是直線與直線的題目不懂,還是直線與平面的題目不懂,這是我們圍繞數(shù)據(jù)做的自適應(yīng)學(xué)習(xí)方面的工作。
怎么樣檢測(cè)每個(gè)知識(shí)點(diǎn)需要做哪些題?這就需要有比較深入的分析。我們?cè)谠缙陂_始做學(xué)霸君拍照搜題的時(shí)候,用的是識(shí)別+搜索,很多的問題是通過搜索去進(jìn)行分析。一道題目和另外一道題目相近,這兩道題包含著相似的詞,但是相似題推薦完全不夠,因?yàn)槲覀冊(cè)诤髞淼膶?shí)踐中發(fā)現(xiàn),有很多情況下,兩道題用完全不一樣的字,考的是同樣的內(nèi)容。
這就要去更深度地挖掘,做深度挖掘的第一個(gè)非常重要的媒介是拍照搜題。拍照搜題是收集學(xué)生不懂題目的數(shù)據(jù)的自發(fā)性通道,早期設(shè)計(jì)這個(gè)產(chǎn)品時(shí)候,我們想去捕捉學(xué)生不懂不會(huì)的題目,最后用的是拍照搜題的方案。如果學(xué)生非常懂一道題,他不會(huì)花費(fèi)一分鐘去拍個(gè)照搜一個(gè),他如果去搜基本上表明這個(gè)學(xué)生對(duì)這道題能力的缺失。
學(xué)霸君里面捕捉了每個(gè)學(xué)生帶問號(hào)的題目,帶感嘆號(hào)、他懂的就不會(huì)捕捉,捕捉過來之后就形成了比較大的題目庫。我們現(xiàn)在有80億次學(xué)生訪問,8000萬道題目。這些題目變成做自適應(yīng)學(xué)習(xí)、自適應(yīng)分析的基礎(chǔ)。
這是我們?cè)谶M(jìn)校產(chǎn)品里用的自適應(yīng)學(xué)習(xí)引擎。它的工作原理,分為三大塊。第一是條件反應(yīng)理論,即所有題目只要有人做過或者有數(shù)據(jù)沉淀,我們就可以對(duì)題目進(jìn)行難度的劃線,每道題難度的曲線是從0到1的分布。
我們可以對(duì)每個(gè)學(xué)生做題的對(duì)錯(cuò)進(jìn)行分析,并且根據(jù)他的數(shù)據(jù)庫,預(yù)測(cè)他在下一題的表現(xiàn)。據(jù)統(tǒng)計(jì),目前我們可以預(yù)測(cè)出學(xué)生做對(duì)做錯(cuò)一道題的精準(zhǔn)度是70%。
建路徑:在高考數(shù)學(xué)有限集內(nèi)建立知識(shí)圖譜和行為圖譜
接下來是知識(shí)圖譜,它經(jīng)歷了兩個(gè)層面的演變。首先是樹狀結(jié)構(gòu),大家可以看到經(jīng)常出現(xiàn)三層樹狀結(jié)構(gòu)。兩、三年前我們開始往下鉆一層,到四層的樹狀結(jié)構(gòu),這是為了更精細(xì)地對(duì)題目進(jìn)行打標(biāo)簽,隨著我們產(chǎn)品繼續(xù)往前推,發(fā)現(xiàn)四層的知識(shí)點(diǎn)結(jié)構(gòu)還是不夠。因?yàn)橛行╊}目就是蘊(yùn)藏在更下一層里面,我們?cè)谥R(shí)圖譜里面又往下放一層,這時(shí)候我們可以做自動(dòng)解題。
這時(shí)候我們可以把題目一道一道猜出來,我們把8000萬題目里面的數(shù)學(xué)那部分做處理,之后進(jìn)行文本的分詞、分句,把接近的題目題干做相應(yīng)的排序,排序后,會(huì)發(fā)現(xiàn)非常典型的數(shù)據(jù)現(xiàn)象開始出來,題目都是有套路的。
當(dāng)把每一類型題的所有題目放在一塊,你從這個(gè)維度去看,會(huì)發(fā)現(xiàn)依據(jù)相應(yīng)的題目模式,有些時(shí)侯看數(shù)字就可以把題做出來,這就說明自動(dòng)解題是有章可尋的。解題步驟序列化挖掘?yàn)榻忸}提供了非常重要的基礎(chǔ)。
這里面有一個(gè)非常重要的邏輯,我們說的知識(shí)圖譜不是廣譜。如果要做自動(dòng)解題,要沉淀一個(gè)足夠量的題庫,并能夠高頻次覆蓋中國90%多的出題模式。
當(dāng)我們把題目的難度曲線、學(xué)生行為的序列和知識(shí)圖譜結(jié)合起來的時(shí)候,就可以根據(jù)每個(gè)學(xué)生所做的作業(yè)情況做相應(yīng)的推薦。我們推題非常重要的原則不是碾壓學(xué)生,也不是總是讓他得到勝利的喜悅,而是會(huì)推將將會(huì)、將將不會(huì)的題目。
大家覺得可能認(rèn)為推題是非常主觀的判斷,但是一旦你可以分析出一道題里面蘊(yùn)含哪些知識(shí)點(diǎn),一道題和另外的題有哪些關(guān)聯(lián),這就變成可工程化的問題,所有東西可以用數(shù)據(jù)去表達(dá)。
學(xué)生做作業(yè)、跟另外一個(gè)同學(xué)的關(guān)聯(lián),學(xué)生和班級(jí)的關(guān)聯(lián),這個(gè)班級(jí)和另外一個(gè)班級(jí)的關(guān)聯(lián),這個(gè)學(xué)校處于什么城市,處于上海還是北京,還是三線城市,他們的數(shù)據(jù)如果用起來,能夠極大幫助這個(gè)推薦引擎固化,針對(duì)當(dāng)?shù)氐膶W(xué)習(xí)具體需求去和學(xué)生做學(xué)習(xí)的互動(dòng)。
我受一些同行的啟發(fā),開始意識(shí)到一開始我們思考的時(shí)候是停留于上面的知識(shí)網(wǎng)絡(luò),比如解題更多是知識(shí)網(wǎng)絡(luò)的事情。但我在分析一個(gè)班級(jí)的情況時(shí),會(huì)停留在社會(huì)網(wǎng)絡(luò),比如行為數(shù)據(jù)。這樣的數(shù)據(jù)也變成自動(dòng)解題非常特殊的數(shù)據(jù)。
接下來給大家看一套我們的系統(tǒng),用點(diǎn)陣筆搜集學(xué)生的作業(yè)數(shù)據(jù),把每一個(gè)答案、每一個(gè)細(xì)節(jié)都記錄下來,搜集大量的班級(jí)數(shù)據(jù),就形成一個(gè)班級(jí)的圖譜,這是社會(huì)圖譜里面的,所有的數(shù)據(jù)不斷記錄下來,這是非常特殊的數(shù)據(jù)資產(chǎn),這是我們傳統(tǒng)做題庫沒有積累的,因?yàn)槭歉袨樗P(guān)聯(lián)的。
我們隨便拿某位同學(xué)的題目中的一道題目,你會(huì)發(fā)現(xiàn)這位同學(xué)做的題目,另外一個(gè)同學(xué)在做,拿出另外一個(gè)題目,也有這樣的關(guān)聯(lián)。如果看所有班級(jí)的數(shù)據(jù),會(huì)發(fā)現(xiàn)一個(gè)非常有意思的現(xiàn)象,一道題我們記錄了這個(gè)班級(jí)50個(gè)人做這道題的解題過程樣本。每個(gè)人可以從不同維度去描述這道題怎么解,每個(gè)邏輯之間怎么跳變。之前這部分?jǐn)?shù)據(jù)沒有充分利用,我們做分析的時(shí)候,如果把這部分?jǐn)?shù)據(jù)利用起來,它可以加強(qiáng)解題的套路和模式。
得結(jié)果:將試卷翻譯為機(jī)器語言、搜索并轉(zhuǎn)為自然語言輸出
我給大家講一下自動(dòng)解題的技術(shù)過程,以2016年高考第一道題為例,首先把題目拆出來、拉成列,每個(gè)文字變成一個(gè)輸入值。第二步我們來做一個(gè)序列狀的神經(jīng)網(wǎng)絡(luò)模型,通過這個(gè)模型將試卷中使用的語言翻譯成另外一種機(jī)器能夠看得懂的語言。
比如,一道題拆成三個(gè)部分,一個(gè)是句法解析,實(shí)際上就是主語、謂語、賓語,還有他們之間的關(guān)聯(lián),這是傳統(tǒng)NLP可以做的事情,但這還不足以解題。第二步是把算式挖出來,這是通過算式的一些規(guī)律,可以去挖出來。第三步是提取出它的SVO結(jié)構(gòu),我們叫做主謂賓的結(jié)構(gòu)。比如說,三角形的一邊為5,這個(gè)SVO結(jié)構(gòu)是一邊是5,對(duì)于機(jī)器來說就可以理解。
于是,我們把這道題的條件變成基礎(chǔ)的條件。然后在一個(gè)比較大的數(shù)據(jù)系統(tǒng)里面記錄了各種運(yùn)算網(wǎng)絡(luò),求面積、求它的虛部、求它的實(shí)部,求截面描述的片斷等等。通過這樣的條件搜索,你可以發(fā)現(xiàn)它會(huì)找出一條最終可行的解題路徑。從一開始的條件一步一步跳到答案,這個(gè)就是整體關(guān)鍵的步驟。
有了這個(gè)之后我們接下來另外一步,是把這些關(guān)鍵的步驟從機(jī)器可理解的語言轉(zhuǎn)換成自然語言,這步相對(duì)比較簡(jiǎn)單,每個(gè)基礎(chǔ)的運(yùn)算都有相應(yīng)的描述方式,這道題第一步怎么做,第二步怎么做,再重新翻譯一下就可以了。做圖形題也是類似的過程。
所有的題目就是一個(gè)找出最佳解題路徑的過程。我們記錄大量學(xué)生解題時(shí)每步之間的跳轉(zhuǎn),只要能夠洞悉或者理解每步之間的運(yùn)算,這是有大量的信息的。這樣就知道遇到某道題你要調(diào)用什么樣的方式去解。
為了做這樣的東西,我們做了手寫識(shí)別?,F(xiàn)在每天所發(fā)送上來的樣本在被我們做數(shù)據(jù)的標(biāo)注,做了數(shù)據(jù)的標(biāo)注之后扔到系統(tǒng)會(huì)訓(xùn)練出更好的識(shí)別模型,不斷去識(shí)別每一個(gè)答案跟每一步是什么樣子。有一些現(xiàn)在沒法識(shí)別,有些可以轉(zhuǎn)化出來處理,根據(jù)題目的難度有不同的處理方式。
融合到系統(tǒng)里面就可以發(fā)現(xiàn)根據(jù)每個(gè)學(xué)生做題的不同記錄,我們可以給他制定一套學(xué)習(xí)方案。用的是基于解題邏輯和更深層次自然語言邏輯處理進(jìn)行的題目推送,每道題根據(jù)這個(gè)同學(xué)的答案進(jìn)行推送。甚至加入艾賓浩斯記憶曲線,學(xué)生做完這個(gè)知識(shí)點(diǎn),后一個(gè)星期他要再復(fù)習(xí)一下,所有這些東西就是用數(shù)據(jù)去完成的一套系統(tǒng)。(多知網(wǎng) 初驪禹)