学霸君
責編:錢曙光,關注架構和算法領域,尋求報道或者投稿請發郵件qianshg@csdn.net,另有「CSDN 高級架構師群」,內有諸多知名互聯網公司的大牛架構師,歡迎架構師加微信qshuguang2008申請入群,備注姓名+公司+職位。
學霸君簡史
學霸君于 2012 年 11 月份成立,CEO 張凱磊在天津組建團隊,他以前是做教育這一塊的,所以當時考慮的還是做教育這塊,經過一系列的頭腦風暴,最終選擇了學生課后作業、試卷答疑等高頻的行為做目標。
2013 年,第一版拍照搜題 APP 上線,這個時候還是半人工的,也有機器拍照搜題的能力,但還是有機器無法解決問題的時候,這就要調動人工答疑部門,幫他們進行收集或者答題,給答案。
2014 年 5 月 30 日,學霸君上線了很重要的版本,這個版本以后是完全的自動化系統。在這個系統里面,將會完完全全用電腦和服務器完成,包括從用戶拍照到上傳圖片,到數據分析,到題庫搜索,到給出答案等過程。之后,2014 年 8 月 30 日的時候,我們又上線了第二個重要版本,在這個版本里面,最火熱的搜題技術取代了傳統的技術。通過更新,我們搜題命中率從 65% 提高到了 75%,用戶達到 100 萬。然后到去年 1 月 30 日,第三版系統正式上線,加入了另外一個技術,進一步提高了系統的能力,命中率達到 87%。
2015 年 8 月 30 日,第三版系統臨近新版本的迭代,命中率達到 93%,用戶已經達到 2200 萬,累計搜索達到 10 億次。隨后,2015 年 9 月,我們推出 1V1 在線實時答疑系統。到今年 4 月份,用戶大概 4 千萬左右,拍照搜題日活躍將近 200 萬,1V1 的實時答疑每天到 2 到 3 萬單,完成了 20 億次學生拍照搜題,以及 200、300 萬在線視頻答疑的數據。
1V1 實時答疑
為什么推出實時答疑?因為不僅現在,包括我們自己當年作為學生的時候也有這個情況,比如很多時候寫一個作業,可能我們思考很長時間還是無法解決問題,這種情況往往就同學之間互相咨詢一下,很少想到麻煩老師,因為想到老師可能時間比較少。然后,學生就會有很多問題累計在這個地方,時間一久就不了了之,我們再也不會考慮解決這樣的問題了。
同時,我們發現市場上二三線城市老師薪酬比較低,空閑時間比較多。我們做調查時發現,有些三線城市老師即使是特級職稱,有十多年的教學經驗,每個月工資可能也只有三千塊,他們的薪酬是相對上海一線城市來說是很低的,但是因為他們有這么多年的教學經驗,已經不需要花太多時間備課,所以空閑時間比較多。
大家也知道,我們這個教育培訓市場很大,因為家長是不計成本的,會愿意投入大量的金錢,希望自己的孩子能夠提高他們成績。
基于這三方現狀,我們推出了實時答疑。
此外,雖然很多學生和老師之間距離千山萬水,但利用現在方便的移動端、電腦端和互聯網,我們能夠大幅度縮短彼此之間距離,僅僅通過幾秒的連接,就可以把一個優秀老師,送到一個待需要解決問題的學生面前。
在這之前,通過拍照搜題,可以進行相應的關鍵詞搜索,獲取類似題目,然后返還給學生,幫助他們搞明白怎么解這道題。但是,有一些學生即使看到類似的題目和答案,還是沒有辦法理解這道題目。所以我們提供在線答疑,老師跟學生「見面」以后,學生上傳題目,老師在點陣筆上面進行解答,包括畫圖,同時所有的記錄都會實時反饋到學生的界面上面,這樣可以讓學生和老師進行實時的互動,進而解決學生的困惑,做到今日難題今日畢。
大規模數據采集
當年做第一個產品時,思考的核心問題就是,怎么樣才能夠獲取一個個學生的信息,然后根據不同學生的情況,通過統計分析找到不同的知識弱點,進行針對性的傳授。就像外面線下教育的一對一培訓一樣,我們也是走這樣的方向。現在有一個很流行的詞語叫做自身學習,都是一個意思。
所以接下來的問題就是,如果碰到一個學生,怎么知道他的具體情況呢?我們打算先從他們日常接觸的書和試卷著手。其實最早的時候我們就已經覺得,學生答疑是很好的切入點,學生每天都有高頻的需求,希望能解決作業,但是我們要解決這樣的問題,首先的一個問題就是怎么做文字識別和文字提取。一開始我們想,不就是光學的識別嗎?購買一些產品或者使用一些公開的 API 應該就能夠解決,但是后來發現市場上沒有現成的技術,沒有能夠達到適合我們方向的應用。
我們在實驗當中發現,學生在上傳的時候不會像我們做測試那么規則,極端情況下,可能學生在考試的時候也會偷偷拍照,這樣產生的圖片就會有各種各樣的問題,包括形變、模糊,或者框架、線條等等,所以我們不僅要識別中文,還要識別英文,以及是不是單雙欄,是不是有圖片或者表格等等。
識別技術
2013 年初,開始拓展自己的一套核心識別技術,先是從印刷體的中文識別入手,然后逐漸走到現在的手寫、試卷識別,還有版面分析、高并發圖象處理框架,以及公式識別、英文識別、表格識別、圖象識別、自然語言處理等等。我們通過針對性研發,適應不同的平臺,然后成立圖象識別、數據挖掘等小組,支撐這一系列的技術研發。
在做文字識別的時候,最早還是用傳統的方法,比如說真人相機等等,識別率接近 93%。現在我們用最流行的深入學習技術,大家可能也有一些了解,像是最近阿爾法狗的比賽。我們目前在做的中文識別,訓練字符已經達到了 20 個億,單字符識別率達到 95%。
這是用戶上傳的圖片,在做過一些相應的預處理后,我們會把里面的每個文字塊切割出來,把它們放進我們的識別網絡進行處理,最后得出識別結果。同時,我們也把這種學習技術用到很多其他的領域,比如圖象恢復技術。
我剛剛講的,為什么我們當時沒法用市面上的一些 OCR 技術,就是因為學生上傳的圖片實在是太難以辨認了。我們后來通過生物學技術進行解決,首先收集、標注大量圖片,同時搭建 GPU 集群訓練深度神經網絡,然后通過生成模型來進一步應用。
手寫識別
我們也有手寫識別,在學生上傳的題目和作業里面,不只是印刷體,比如我們平時見到的課本教材,還有很多老師布置的作業,或者學生自己摘抄的內容,都屬于手寫內容。這里面有很多挑戰,我們需要濾除無關內容,要進行版面分析,要識別出不同的字,然后判斷它們屬于什么樣的結構,最后再次識別,通過自然語言處理,進一步提高識別率。
上面是一個例子,也是用戶上傳的圖片,這一塊也是利用生物學技術做的,現在識別率大概在 96% 左右。
我們最終的目的是希望能夠通過這樣的交互系統,跟學生互動,并且在跟學生進行講解的時候,所有的圖形都可以通過這個系統變成可以轉的立方體,方便跟學生交互,可以更好地幫助一些空間想象能力相對來說稍微弱一點學生。同時,我們也有一個數據挖掘團隊,將所有題目里面關鍵詞埋入知識圖譜,方便學生檢索相應的知識,比如說在一篇朱自清課文里,不僅有朱自清的生平介紹,還有視頻等等。此外,數學引擎也可以幫助學生解決問題,我們通過建立一些自動解答系統,可以自動回答一些比較簡單,類似于 K12 這種級別的數學題目。
智能化版面分析和題目提取
我們目前正在做智能化版面分析和題目提取,如果可以識別學生的一張卷子,可以做多題答疑或者試卷分析,甚至可以做到一本教科書或者參考書分析,比如哪些題目適合學生做,哪些題目不需要去做等等。此外,我們還可以通過應用來打包一些內容,比如視頻、音頻、知識庫等等。
圖像云
我們的目標是希望建立一個圖像云,讓學生可以通過終端發送圖像請求,然后利用我們圖像云的識別技術,包括語音識別、手寫識別、版面識別等等,幫助他們處理各種各樣的問題。
最核心技術:分發策略
實際上,這個產品背后的邏輯蠻簡單的,如果學生對于系統給予的解答不是特別明白,他們就可以像用 UBER 或者滴滴打車一樣,直接連接老師,隨時隨地在線解決問題。雖然這個邏輯本身是比較簡單和清楚的,但背后還是需要一個核心技術,就是怎么樣去分發,怎么樣讓最合適的老師給學生解題。每個老師的上線時間都不一樣,有的老師上午上線,有的老師晚上才有空,還有的老師科目不一樣,比如英語、化學等。除了這些之外,考綱也不一樣,以后可能全國考綱會慢慢統一,但至少這幾年我們的考綱還不太一樣,所以每個老師的講題方式也不太一樣,這就需要根據不同老師的狀況,推送給不同的學生。而學生實際上也有不同的情況,我們當時做過測試,很多學生在下午的上課時間發送問題,但當時老師們并沒有空。還有就是,不同學生對價格的敏感程度不一樣,獲取結果的期待值也不一樣。
最后,通過系統調度,會對學生上傳的題目做一個導航,把該題目進行知識分解,形成細分的知識圖譜。接著對學生畫像,如果學生經常需要答疑或者經常上傳一些題目,會慢慢獲取學生的信息,這樣能清楚地知道,學生到底哪一塊不足,哪一塊比較擅長,我們也會經過老師的多次答疑之后,分析答疑數據或者學生的評價,這樣也就給老師做了一個畫像。根據這些信息,就可以利用系統進行智能調度,從而完成老師與學生之間的配對。
知識導航體系
有一個教研團隊,他們會把初高中的語文、數學、外語等科目進行知識點的分類,既用到一些人工的方法,也用到一些機器學習的技術,從多個維度進行挖掘,最終形成我們所需要的知識導航體系。
舉例來說,對高中數學的東西,可以分成 7 個板塊,包括立體幾何、代數,算法與框圖等等,大概有 22 個章節,550 個知識點,3529 個題型,然后在難度上分為 4 個等級。學生上傳題目以后,如果他是高中數學題,我們首先就要找高中老師,然后判斷是哪個板塊的題目,這樣繼續往下走,確定是什么類型的題目,最后決定選擇哪位老師。
學生畫像
在目前的教育系統里,學生大部分都是接受相同的教育,而我們希望的是,能夠通過學生畫像給他們提供針對個人特點的服務,比如根據年級、地區、對知識點的掌握程度,以及學習能力等等,給他們畫出一個圖表,最后基于這些圖表,為學生匹配更合適的服務。
老師畫像
同樣,我們也需要給老師進行畫像,因為每個老師的能力是不一樣的,所以我們就通過每次老師講解的時間,和學生對他的評分,以及一些自動化試檢或以及人工試檢,來對老師進行畫像,得出他們擅長的領域或者教學習慣。
我們的系統大家應該已經知道了,像 UBER 或者滴滴一樣,學生需要答疑,老師看到答疑請求之后可以選擇,到底這個題目講還是不講,通過這樣的智能分析系統,我們可以慢慢獲取老師信息。
答疑供應預測
剛才講到,不同地區的教綱是不一樣的,所以當學生提出了答疑需求的時候,我們會最優先地給他選擇最合適的老師和時間。這個調度過程就像是工業上的供應預測,每個省份、每個知識點對應的老師,以及老師的上線時間具有強烈的隨機性,這就需要從不同角度對個人情況進行分析,然后形成時間模型,預測學生下一次的請求,并同時計算老師是不是在線或者能不能回答這個問題。
答疑供給庫存模型
這個有點類似于工程上的供給庫存模型,我們首先考慮的是兩個狀態,一個是老師的答疑供給庫存,一個是學生的答疑需求,以此形成老師的答疑庫存隊列,然后通過 Markov 進行預測。
把不同隊列的狀態建立方程以后,利用我們的公式,讓它最后產生的結果概率等于 1 ,然后通過解線性方程組得到最優解,最后預測出老師庫存隊列的長度和等待時間,以及學生需求隊列的長度和等待時間。
之前的數據比較復雜,其實簡單來說,我們的目標就是能夠最大化地答題,增加答疑總量,同時希望每個老師的答疑得分要比較高,還有就是要降低學生提問的流失率,降低老師的閑置率和其他成本。當然了,這個目標是建立在老師的實際調配量小于最大量的基礎下。
通過設計這樣的制度,可以方便以后我們要做的排班系統,包括直播講課、直播答疑等等。基于這個系統,我們也可以更加合理地分配自己的能力,因為我們有一些是直接雇傭的內部老師,但也有一些外部兼職老師,有了排版系統,我們就可以根據實際的情況選擇自動排班,這一方面能保證答疑的質量,另一方面也能降低成本。
下一個數據采集目標:1000 萬高質量 1V1 視頻樣本
總的來說,我們是希望通過這樣的調度系統,以最優化的策略幫助學生更快地提高成績,同時也能夠讓老師更有效地答疑,并提高他們的收入。如果我們的系統比較差,那么學生的體驗就會很糟糕,老師也就會認為這樣的平臺使用價值不是很高。我們現在的目標就是,能夠通過這樣的在線答疑系統,生成大量的,比如說 1000 萬高質量的 1V1 視頻樣本,讓我們可以進一步做更多的分析,最后形成以「學霸君」為平臺的拍照搜題、1V1 實時答疑的平臺。
小結
學霸君最主要做的業務是以數據、技術、分析為支撐的,以此提供給學生一些定制化的,或者個人化的實時答疑學習、內容推薦、自適應練習等等。而這些內容都是通過一系列技術性的收集,包括利用技術進行統計、分析、預測來最終實現
總結
- 上一篇: ICML论文|这违反直觉的“升噪”方法,
- 下一篇: 解密谷歌机器学习忍者项目,如此培养人工智