從推薦算法出發(fā),談?wù)勵}庫個性化推題思路

YTY
6 評論 4766 瀏覽 72 收藏 38 分鐘

個性化推薦、算法推薦這類概念已經(jīng)在互聯(lián)網(wǎng)產(chǎn)品中十分常見,那么,我們是否可以將個性化推薦概念應(yīng)用到在線學(xué)習(xí)領(lǐng)域,借助個性化推薦來提高學(xué)習(xí)效率?這篇文章里,作者談了談題庫個性化推題思路,一起來看一下。

在線教育提供了豐富的學(xué)習(xí)資源,也留下了大量學(xué)習(xí)者的學(xué)習(xí)數(shù)據(jù),如何據(jù)此實現(xiàn)個性化推題來提高學(xué)習(xí)效率是個值得研究的課題。本篇文章先以抖音為例研究了一下推薦算法的思路,再把思路應(yīng)用到題庫的個性化推題中。

為什么選擇了抖音?提到推薦算法,大部分人腦中閃過的第一個詞可能就是“抖音”,抖音容易讓人上癮靠得就是推薦算法。

根據(jù) Question Mobile 數(shù)據(jù)顯示,2023 年 9 月的抖音人均單日使用時長從 2022 年 9 月的 108.4 分鐘提升至 115.2 分鐘。

一、推薦算法是什么

我們在抖音的產(chǎn)品表面能看到的就是每次上滑的時候,都能刷出一個系統(tǒng)覺得你喜歡的視頻。那么推薦算法是什么呢?

一句話來說,推薦算法就是把合適的內(nèi)容推送給合適的人。

這個流程中體現(xiàn)出了三個過程:

  1. 斷物:讓算法識別物料
  2. 識人:讓算法識別人
  3. 推薦:匹配合適的內(nèi)容和人

要讓推薦系統(tǒng)識別用戶和物料并建立連接,需要將用戶和物料向量化——打標(biāo)簽。所以在推薦前的準(zhǔn)備工作,就是建立標(biāo)簽體系,并給物料和用戶都打上標(biāo)簽。

二、斷物:給物料打標(biāo)簽

斷物指的就是系統(tǒng)把物料進(jìn)行分析、歸類、打標(biāo)簽。對于電商平臺來說,物料就是商品;對于文章資訊平臺來說,物料就是文章;對于題庫來說,物料就是試題。

1. 標(biāo)簽類別

物料標(biāo)簽可以分為分類標(biāo)簽內(nèi)容標(biāo)簽

  • 分類標(biāo)簽:主要是根據(jù)個業(yè)務(wù)的特點定制一套體系框架,將每個物料映射到框架中。比如谷歌的分類體系;
  • 內(nèi)容標(biāo)簽:描述主體內(nèi)容的開放式詞匯集,很難提前制定完備的體系枚舉出每個詞匯,往往是一個無窮的集合。

分類標(biāo)簽和內(nèi)容標(biāo)簽的區(qū)別:

分類是一種嚴(yán)謹(jǐn)?shù)臄?shù)據(jù)組織方式,一般按照一個或多個維度自上而下、從整體到明細(xì)的窮舉,遵循“相互獨立,完全窮舉”的原則。而內(nèi)容標(biāo)簽是一種靈活的數(shù)據(jù)組織方式,放棄大而全的框架。

簡單來說,一個物料只能屬于一個分類,但是可以擁有一堆內(nèi)容標(biāo)簽

2. 視頻怎么打標(biāo)簽

打標(biāo)簽最基礎(chǔ)的方式就是靠人工,但是內(nèi)容量過大時,人工打標(biāo)簽效率會很低,所以需要機(jī)器來輔助,實現(xiàn)自動打標(biāo)簽。怎么自動給視頻打標(biāo)簽?zāi)兀?/p>

一般采用的是對視頻封面圖、關(guān)鍵幀圖片進(jìn)行圖像識別,提取音頻分析,提取字幕、視頻介紹等對文字進(jìn)行分析,從中抽取出標(biāo)簽,然后將得到的標(biāo)簽進(jìn)行整合,得到視頻的標(biāo)簽。

參考鏈接: 愛奇藝短視頻智能標(biāo)簽生成實踐

三、識人:建立用戶畫像

在建立用戶畫像之前,我們僅有用戶的行為數(shù)據(jù),這些無法直接用于數(shù)據(jù)分析和模型訓(xùn)練,所以需要將用戶的行為日志進(jìn)行處理,然后標(biāo)簽化,這樣我們對用戶就有了一個直觀的認(rèn)識,同時計算機(jī)也能夠理解用戶,將用戶的行為信息用于個性化推薦、廣告精準(zhǔn)投放等領(lǐng)域。

用戶標(biāo)簽按生成方式來劃分包括三種:事實類標(biāo)簽、模型類標(biāo)簽、預(yù)測類(基于機(jī)器學(xué)習(xí)挖掘)類標(biāo)簽。

1. 事實標(biāo)簽

事實標(biāo)簽也叫統(tǒng)計標(biāo)簽,是根據(jù)實際發(fā)生的原始數(shù)據(jù)統(tǒng)計得到的(原始數(shù)據(jù)包括網(wǎng)站/app 日志、用戶填寫的表單、消費數(shù)據(jù)等等)。事實標(biāo)簽構(gòu)成了用戶畫像的基礎(chǔ),也是數(shù)量最多的一種標(biāo)簽。

比如:

  • 人口屬性:性別/年齡/城市
  • 最近 7/30/90 天購買次數(shù)
  • 首次購買時間
  • 每天登錄次數(shù)
  • ……

2. 模型標(biāo)簽

模型標(biāo)簽以事實標(biāo)簽為基礎(chǔ),按照指定規(guī)則生成,用于對用戶分群。該類標(biāo)簽與業(yè)務(wù)緊密結(jié)合,通常由數(shù)據(jù)人員和業(yè)務(wù)人員配合完成。

比如:

  • 按購課類型:軟考、法考考生;
  • 按活躍度:高活躍、中活躍、低活躍;
  • 按消費:RFM 用戶分群模型(Recency、Frequency、Monetary)

按轉(zhuǎn)化:AARRR 轉(zhuǎn)化模型中從獲取的用戶到推薦的用戶分為五層。

3. 預(yù)測標(biāo)簽

預(yù)測標(biāo)簽通過機(jī)器學(xué)習(xí)挖掘產(chǎn)生,用于對用戶的某些缺失的屬性或某些行為進(jìn)行預(yù)測判斷。例如:根據(jù)根據(jù)用戶的行為數(shù)據(jù)預(yù)測用戶的性別,用戶的消費習(xí)慣判斷其對某商品的偏好程度等。

這類標(biāo)簽是通過概率模型產(chǎn)生,概率是介于 0-1 之間的數(shù)值。根據(jù)用戶消費過的內(nèi)容(文本、圖片、視頻、商品等)數(shù)據(jù),機(jī)器自動學(xué)習(xí)出用戶興趣、喜好等標(biāo)簽及其概率,通過全面、完整、細(xì)致地標(biāo)簽化來生成用戶的個性化特征。

比如:

小明的預(yù)測標(biāo)簽:「汽車:0.1」,「寵物:0.8」,「航拍:0.7」

四、推薦流程

有了視頻的標(biāo)簽和用戶的畫像之后,我們就可以通過推薦算法去匹配視頻和用戶了。上面小明的興趣標(biāo)簽「汽車:0.1」「寵物:0.8」「航拍:0.7」,我們可以直接給用戶推薦寵物內(nèi)容的視頻嗎?

在刷抖音的時候我們也能發(fā)現(xiàn),每次滑動的時候推的往往不是固定的一個主題,即使同一個主題下面不同的視頻也會有個先后順序,所以我們需要有一個量化的方式來計算用戶對哪個視頻的喜愛度更高。

因為抖音是要給用戶推他最可能喜歡的視頻,而用戶在看視頻的過程中發(fā)生的任何互動都能代表用戶對視頻的興趣,比如點贊、評論、不喜歡等等,所以抖音假設(shè)用戶看一個視頻產(chǎn)生的價值等于用戶在這個視頻上發(fā)生的所有互動價值的總和。

舉個例子:小明打開抖音,默認(rèn)進(jìn)入了推薦 tab,有一個視頻在自動播放。小明很喜歡這個視頻,在看的過程中給視頻點了個贊。

這個過程中有兩種互動——觀看&點贊。用戶在觀看視頻時的每一次互動都有正面或者負(fù)面的價值,那么這次行為里面「小明觀看視頻」這件事情的價值是什么,「小明點贊」的價值又是什么呢?

1. 價值模型

在抖音平臺中,互動的價值主要分為這樣幾種:

  • 用戶價值:為當(dāng)前視頻被推給的用戶創(chuàng)造的價值,主要是當(dāng)前用戶的時長、留存、滿意度等。
  • 作者價值:為視頻的作者創(chuàng)造的價值,包括作者獲得的流量、互動、收入等。
  • 平臺價值:為平臺創(chuàng)造的價值,包括品牌效應(yīng)、內(nèi)容安全、平臺收入等。
  • 間接價值:本次視頻的播放間接產(chǎn)生的價值,如評論后其他用戶收到通知可能提升其他用戶的留存,對內(nèi)容生態(tài)產(chǎn)生的影響等。

用戶的每次互動,都可能帶有上面的一種或多種價值。

想要衡量發(fā)生互動的價值,我們需要引入價值模型(V)。我們以點贊互動為例,用V_{like}來表示點贊的價值模型,來看一下小明這次點贊會產(chǎn)生哪些價值。

首先來拆解一下「小明點贊」這個行為有上面哪些價值:

用戶價值:

  • 小明給這個視頻點了贊,說明小明喜歡這個視頻,所以這次點贊應(yīng)該有正面的用戶價值(公式中的 1);
  • 視頻被點贊的次數(shù)(u_like_cnt)越多,再點贊時的用戶價值越高,因為喜歡的人多,所以給高贊視頻點贊的價值更高(這樣可以保證其他參數(shù)都相同時,優(yōu)先推點贊數(shù)高的視頻);
  • 小明今天對這一類視頻已經(jīng)點過了好多次贊(same_tag_today),點的贊越多越可能產(chǎn)生審美疲勞,這次點贊的用戶價值也會變得越低,所以點贊也會有一個負(fù)向的價值;

作者價值:

小明點贊增加了這個視頻的點贊數(shù),對作者有激勵作用,特別是在低贊(is_like_lower_than_100)的時候,所有點贊也有作者價值;

平臺價值:

如果視頻是騙贊視頻(is_like_bait),給它們過多的贊可能影響整體生態(tài),所以在騙贊視頻上的點贊可能會有負(fù)向的平臺價值。

所以:

V_{like}=1 + u_like_cnt*0.01 – same_tag_today*0.5 + is_like_lower_than_100*10 – is_like_bait*100

由上面公式可以看出,同一個用戶給不同的視頻點贊產(chǎn)生的價值是不同的,不同的用戶給同一個視頻點贊產(chǎn)生的價值也是不同的

價值模型是對應(yīng)該給用戶推薦什么視頻的理解,計算方式不是一成不變的,需要反復(fù)優(yōu)化參數(shù)和權(quán)重,才能達(dá)到最好的效果。對價值模型做優(yōu)化,需要把每個互動的價值分解清楚,從而最大化視頻推薦獲得的收益。

理解了價值模型之后,再看開頭的例子,小明看過視頻,點過贊,沒有發(fā)生其他互動。那么這次視頻觀看的實際價值就是:

如果小明還做過其他互動呢?短視頻中都包括哪些互動方式——播放、點贊、收藏、評論、分享、不喜歡、關(guān)注作者等,前面提過用戶看一個視頻產(chǎn)生的價值等于用戶在這個視頻上發(fā)生的所有互動價值的總和,所以總價值:

2. 預(yù)測模型

我們應(yīng)該給用戶推送價值最高的視頻。但是我們給用戶推送視頻的時候,互動還沒有發(fā)生,我們怎樣去計算實際產(chǎn)生的價值呢?

我們要預(yù)測視頻推送給用戶之后每個互動發(fā)生的概率,用價值的期望值來替代實際發(fā)生的價值來衡量。因此需要引入預(yù)測模型(P)。

預(yù)測模型是在排序時預(yù)測一切未知的事情發(fā)生的概率的模型。預(yù)測模型一般是機(jī)器學(xué)習(xí)模型,它們用視頻和用戶相關(guān)的數(shù)據(jù)做輸入,輸出一件事情發(fā)生的概率。模型的輸入叫做特征,輸出叫做預(yù)估。

常見的預(yù)測模型包括兩類:

  • 預(yù)測是否發(fā)生:點贊、評論等互動是否會發(fā)生,有多大概率發(fā)生;
  • 預(yù)測實際值:播放時長、個人頁停留時長等;

預(yù)測模型的輸入特征可以分成這樣幾部分:

  • 用戶相關(guān)信息。如用戶 id、用戶地域、用戶歷史互動統(tǒng)計、用戶最近看過的視頻 id 列表等。
  • 視頻相關(guān)信息。如視頻 id、視頻時長、視頻貼紙、視頻內(nèi)容、視頻互動統(tǒng)計等。
  • 作者相關(guān)信息。如作者 id、作者粉絲數(shù)、作者歷史統(tǒng)計等。
  • 其他信息。

預(yù)測模型是個性化的,比如點贊模型預(yù)測的是當(dāng)前用戶在當(dāng)前場景下,看到當(dāng)前視頻,點贊的概率。同一個視頻,對于不同的觀看者或在不同環(huán)境下的同一個觀看者,預(yù)測出的概率也是不同的,拿一個明星視頻舉例:

  • 這個明星的粉絲和非粉絲點贊的概率是不同的;
  • 這個明星的粉絲,在剛打開抖音時看到這個視頻和已刷膩快要退出的時候看到這個視頻,點贊的概率也是不同的。

3. 排序公式

推薦系統(tǒng)的目標(biāo)就是把價值最高的視頻推給用戶,引入預(yù)測模型(P)后,我們用期望值來代替實際發(fā)生的價值,所以價值公式就變成了樣子:

根據(jù)這個公式把候選集里的視頻分別計算一下,按分值大小排序,分值最高的就是下一個要推薦給用戶的視頻。

4. 篩選視頻

抖音有幾十億條視頻,我們不可能直接把全部的視頻按上面的公式跑一下,計算出最高值的視頻作為下一個推薦的內(nèi)容,因為數(shù)據(jù)量太大了。那么怎么從中選擇出來要推薦的視頻呢?

直接從大池子里撈不現(xiàn)實,所以預(yù)先會維護(hù)一個小池子,可以叫推薦池。推薦池對所有用戶是幾乎完全一致的,通常包括比較新的視頻和表現(xiàn)比較好的老視頻。

用戶每次請求推薦流時,推薦服務(wù)會從推薦池中通過多個召回源初步選取幾千或者上萬個視頻,再用上面的公式進(jìn)行計算。

召回源主要分兩種:

  1. 基于模型的召回:給推薦池中全部視頻按照模型打分排序,選擇得分最高的視頻,比如 like 模型-召回用戶最可能點贊的視頻。
  2. 基于屬性的召回:根據(jù)用戶的屬性,召回一系列視頻,比如同城召回、好友召回等等。

比如:

  • 點贊召回 100 個視頻:視頻 A1(預(yù)測點贊概率 32.5%)、視頻 A2(27.4%)、視頻 A3(27.1%)…
  • 同城召回 300 個視頻:視頻 B1(豐臺區(qū))、視頻 B2(西城區(qū))…
  • 好友召回 10 個視頻:視頻 C1(好友 A 發(fā)布)、視頻 C2(好友 B 發(fā)布)…
  • ……

所有召回的視頻形成一個序列,就可以用上面的公式計算得分來排序了。

5. 效果評估

怎么評估排序的效果好不好呢?主要是兩個步驟:

第一步:離線評估

在離線準(zhǔn)備好的驗證集上進(jìn)行數(shù)據(jù)驗證,如果效果優(yōu)于先前的模型數(shù)據(jù),則進(jìn)行第二步,這里的效果包含多個指標(biāo),比如準(zhǔn)確率、覆蓋率、多樣性等,在不同階段側(cè)重的指標(biāo)也許是不一樣的,這個就是產(chǎn)品經(jīng)理要去把控確定的,當(dāng)前這一產(chǎn)品階段側(cè)重點在哪里或者是怎么去取舍平衡。

第二步:線上實驗

直接對于線上用戶進(jìn)行 AB 分桶實驗,先小流量實驗一段時間,一般在 10 天到半個月左右,對比實驗組和對照組數(shù)據(jù);如果實驗數(shù)據(jù)為正向,則推到更多的用戶;如數(shù)據(jù)持續(xù)穩(wěn)定,則推全到所有用戶。

??抖音的推薦流程中哪些思路可以用在教育中?

抖音推薦流程中的核心在于對不同互動價值的拆解,并且可以根據(jù)戰(zhàn)略發(fā)展重心來不斷調(diào)整計算公式中的參數(shù)和權(quán)重。這個思路是可以借鑒的。

五、題庫個性化推題

個性化推題是個性化學(xué)習(xí)中的一個環(huán)節(jié)。個性化學(xué)習(xí)是個比較大的概念,它可以根據(jù)學(xué)員設(shè)定的目標(biāo)和可投入時間生成符合學(xué)員自身訴求的個性化學(xué)習(xí)路線,讓“學(xué)-練-背-考”各個環(huán)節(jié)都適應(yīng)學(xué)員自身。我們本次只針對學(xué)員在題庫練習(xí)中的智能推題部分。

俗話說,他山之石,可以攻玉。從上面抖音的推薦流程,我們可以推理出題庫中的題目推薦流程,實現(xiàn)學(xué)員的個性化學(xué)習(xí)。

推題的邏輯按以下幾個步驟:

  • 打標(biāo)簽:給題目和用戶打標(biāo)簽,建立用戶的能力模型;
  • 篩選題目:通過多種召回方式,從題庫的所有題目中召回可能適合當(dāng)前學(xué)員的一些試題;
  • 讀取數(shù)據(jù):讀取學(xué)員的基本信息、學(xué)習(xí)水平、學(xué)習(xí)進(jìn)度、學(xué)習(xí)偏好、學(xué)習(xí)目標(biāo)等數(shù)據(jù)和題目的標(biāo)簽數(shù)據(jù);
  • 計算得分排序:通過模型計算候選集中對學(xué)員提升知識點掌握水平最高的試題作為下一個推薦的目標(biāo);
  • 收集反饋:收集學(xué)員的作答結(jié)果和定性反饋,評估效果,不斷迭代優(yōu)化模型中的參數(shù)。

1. 題標(biāo)簽

??對題目來說,最主要的標(biāo)簽就是知識點,但是讓機(jī)器去理解題目考查的知識點內(nèi)容比較困難,也不夠準(zhǔn)確,所以主要采用人工打標(biāo)簽的方式,靠教師專家去標(biāo)注知識點。

題目標(biāo)簽的維度:

  • 學(xué)科:法考、軟考、考研英語等;
  • 內(nèi)容:知識點;
  • 類型:選擇題、填空題、主觀題等;
  • 能力:記憶、理解、分析、創(chuàng)造等;
  • 難度:1、2、3 或簡單、中等、困難;(題目難度是對學(xué)員能力水平的衡量,難度標(biāo)簽可以在創(chuàng)建題目時人工創(chuàng)建初始值,在實際使用的過程中,根據(jù)學(xué)員作答情況去修正)
  • 區(qū)分度:題目對學(xué)員的區(qū)分能力,區(qū)分度高的試題能更好地將不同水平的考生區(qū)分開;(題目的區(qū)分度靠機(jī)器根據(jù)題目對學(xué)員的區(qū)分情況自動生成)

2. 用戶標(biāo)簽->能力模型

考試類學(xué)科用戶的能力體現(xiàn)在什么地方——體現(xiàn)在對知識點的掌握,對所有知識點的掌握水平越高,考試的時候就越容易考高分。

但知識點依托于題目,我們沒辦法直接得到學(xué)員對知識點是否掌握,只能通過學(xué)員作答題目的情況來分析他對知識點的掌握情況。學(xué)員對某個知識點的掌握水平越高,答對對應(yīng)題目的概率就越高。

如上圖,橫坐標(biāo)表示學(xué)員對知識點的掌握水平,縱坐標(biāo)是答對某題的概率,隨著學(xué)員對知識點掌握水平提高,答對概率會無限趨近于 1。

除了知識點掌握水平,還有哪些因素影響學(xué)員作答是否正確呢?

一是題目的猜測系數(shù)。做題的時候除了答對,還能蒙對,比如不會就選 C。猜測系數(shù)是哪怕學(xué)員掌握水平極低,純憑猜測也有答對題目的概率(我們用c表示),在圖中的表示就是曲線和縱軸的交點。對于四個選項的單選題來說,猜測系數(shù)就是0.25。

二是題目的難度。同一個知識點下有不同難度的題目,學(xué)員對知識點的掌握水平相同的情況下,答對的概率也不一樣,題目的難度越高,答對的概率就會越低,如下圖。(題目的難度我們用d來表示)

題目的難度是反映答對題目所需要的對知識點的掌握水平,這是同一個維度的東西。從上圖中可以看出,學(xué)員對知識點的掌握水平和題目難度相等的時候,答對題目的概率是 0.5。

這個 0.5 的含義不是說學(xué)員每次作答時一定有 50%的幾率答對問題,而是表示在學(xué)員能力和題目難度匹配的情況下,通過大量重復(fù)試驗,學(xué)員答對和答錯的機(jī)會是相等的,就和拋硬幣一樣。

第三個因素是題目的區(qū)分度(我們用a來表示)。題目的區(qū)分度越高,我們越能區(qū)分出不同掌握水平的學(xué)員。表示在圖上就是曲線拐點處的斜率,區(qū)分度越高,斜率越大,學(xué)員對知識點的掌握水平提升一點,答對的概率會提升很多。

我們用什么公式來表示上面圖中的曲線呢?因為答對題的概率:

所以采用邏輯回歸函數(shù)表示。

??邏輯回歸的公式如下,這種方式可以把輸入的任意 x 值轉(zhuǎn)化為[0,1]之間的數(shù):

那么把上面的知識點掌握水平、題目猜測系數(shù)、題目區(qū)分度、題目難度代入公式,知識點掌握水平比題目難度高的越多,答對概率就會越高。題目的區(qū)分度會放大知識點掌握水平和題目難度的差值。所以題目區(qū)分度越高,知識點掌握水平與題目難度的差值與答對概率正相關(guān)性越大。

因此學(xué)員答對題目的概率:

這個公式就是項目反應(yīng)理論(IRT)的核心內(nèi)容。

我們把所有學(xué)員對每個題的歷史作答記錄都放入公式中(答對的題目 P=1,答錯的題目 P=0),可以計算出這四個參數(shù),數(shù)據(jù)越多,計算出的參數(shù)的精度越高。

(具體的計算過程比較復(fù)雜,可以參考 項目反應(yīng)理論(IRT)詳解 – 知乎 )

有了學(xué)員對知識點的掌握程度和題目屬性之后,我們就可以將用戶要做的題目的猜測系數(shù)、區(qū)分度、題目難度和學(xué)員的知識點掌握水平代入這個公式,來預(yù)測用戶做對的概率。

3. 需完善的問題

1)能力值的參考

上面這種方式我們可以計算出用戶對某個知識點掌握水平的絕對值,但這個值代表的意義是什么?比如用戶對知識點 a 的掌握水平是 11.3,沒有外顯的價值。

外顯的內(nèi)容應(yīng)該是用戶可以直接感受到的,比如考試的預(yù)估分。因此,掌握水平的值達(dá)到多少可以在考試中取得多少分?jǐn)?shù),還需要補(bǔ)充其他維度的數(shù)據(jù)。

這方面可以通過助教的考后服務(wù)或者考后估分工具來收集學(xué)員在考試中的作答情況,以此與學(xué)員的能力模型形成關(guān)聯(lián),比如:學(xué)員 A 掌握知識點 a 的水平 11.3,掌握知識點 b 的水平 5.6…考試中知識點a的題目3題全對,知識點b的題目對1錯1…整體考了178分。

數(shù)據(jù)量大之后,我們就可以建立模型,根據(jù)學(xué)員對每個知識點的掌握水平結(jié)合考試中知識點出現(xiàn)的概率來預(yù)測這個學(xué)員在考試中能夠考多少分

2)學(xué)習(xí)曲線和遺忘曲線

這個公式只能計算到當(dāng)前狀態(tài)下學(xué)員對知識點的掌握程度,但學(xué)員對知識點的掌握水平不僅會隨著學(xué)習(xí)的過程提高,也會隨著時間推移降低。

學(xué)習(xí)曲線理論:隨著持續(xù)性的嘗試和練習(xí),學(xué)員能夠習(xí)得相關(guān)知識。

遺忘曲線理論:隨著時間推移,學(xué)員對于知識的記憶也越來越差,其知識水平會呈現(xiàn)下降趨勢。

所以我們在計算學(xué)員對知識點的掌握程度時,需要引入記憶因子和遺忘因子,這是需要完善的地方。

4. 篩選題目

當(dāng)前現(xiàn)狀最多的學(xué)科才幾千道題,幾萬道題以內(nèi)大概率不太需要召回,直接全量跑即可,如果題目多形成題海的話才需要一些召回方式。

在題庫中可能會用到的一些召回方式如下:

  • 掌握水平低的知識點對應(yīng)的題目;
  • 沒做過的知識點的題目,完善學(xué)員能力模型;
  • 高頻考點對應(yīng)的題目;
  • 其他相似用戶在本階段練習(xí)的題目(用戶協(xié)同);
  • 全站難題易錯題;
  • 短期內(nèi)波動的知識點的題目;
  • 長期未練習(xí)的知識點的題目;

5. 計算得分排序

我們應(yīng)該給學(xué)員推什么樣的題目?

就和抖音不會直接推用戶喜愛度最高的標(biāo)簽的視頻一樣,我們也不能直接推用戶掌握水平最低的知識點對應(yīng)的題目,這種單一的推薦目標(biāo)是不合理的。比如一個學(xué)員未掌握知識點 a,我們一直給學(xué)員推考察知識點 a 的題目,其中可能會包含難度遠(yuǎn)超出學(xué)員水平的題目,導(dǎo)致學(xué)員在學(xué)習(xí)過程中產(chǎn)生挫敗感。

??抖音推給用戶的是 ta 喜歡的視頻,用戶在一個視頻上發(fā)生的所有互動都能代表他是不是喜歡這個視頻,所以抖音通過計算用戶在視頻上的互動價值之和來推薦值最大的視頻。

但在做題的場景下,我們需要考慮的是提升用戶對知識點的掌握水平,除了作答這種互動方式之外,其他的比如收藏題目、做筆記都是做完題后置的互動過程,這些對評估掌握水平幫助有限。所以我們不能直接采用每種互動價值加和的方式來計算推送題目的價值。

抖音價值的計算拆解的是互動行為,題庫中需要考慮學(xué)員在學(xué)習(xí)過程中的諸多學(xué)習(xí)需求,因此,我們在做推薦時拆解的是目標(biāo),讓推薦的題目滿足每個目標(biāo)的價值加和最大。

需要考慮以下三個目標(biāo):

  • 復(fù)習(xí)與探索:不僅需要幫助學(xué)員及時查漏補(bǔ)缺,讓他們復(fù)習(xí)掌握水平不高的知識,還需要在合適的時候,即使某些知識未完全掌握,讓他們學(xué)習(xí)新的知識;
  • 難度平滑性:學(xué)員知識學(xué)習(xí)的過程是循序漸進(jìn)的,推薦題目的難度不應(yīng)該變化過大,算法需要自適應(yīng)調(diào)整使得被推薦題目的難度更加平滑;
  • 學(xué)習(xí)熱情:在線學(xué)習(xí)系統(tǒng)需要持續(xù)保持學(xué)生學(xué)習(xí)的熱情,這是一個比較抽象的概念。一個合理的推薦算法,需要推薦一部分具有挑戰(zhàn)性的題目,而保留一些“送分題”給學(xué)員,從而使他們保持學(xué)習(xí)熱情。

綜合這三個目標(biāo),來找出對用戶知識點掌握水平提升幫助最大的題目。接下來我們需要把每個目標(biāo)的價值量化:

1)復(fù)習(xí)與探索

目標(biāo) 1 的價值用V1表示。

我們需要全面了解學(xué)員對各知識點的掌握水平,所以優(yōu)先應(yīng)該推薦學(xué)員未做過的知識點。因此,系統(tǒng)推薦新知識點的題目時,賦給這個目標(biāo)的價值一個正的值:

若學(xué)員在每個知識點下均做過題目,優(yōu)先推其掌握水平低的知識點的題目(還需結(jié)合知識點的考頻),所以推的題目學(xué)員掌握水平越低,價值應(yīng)該越高。仍然采用邏輯回歸公式:

可以控制價值的值在β2到 0 之間;

如果學(xué)員答錯了當(dāng)前的題目,我們希望能讓用戶再次做相同知識點的題目,來確定學(xué)員的狀態(tài),所以此時推薦系統(tǒng)推薦不同知識點的題目時,給予懲罰,賦給這個目標(biāo)的價值一個負(fù)的值:

β1、β2、β3是可調(diào)的參數(shù),如果希望學(xué)習(xí)新知識的機(jī)會高一些,可以調(diào)高β1的值。

2)難度平滑性

目標(biāo) 2 的價值用V2表示,難度平滑性體現(xiàn)在要推的題目和上一個題目的難度是否接近,臨近兩個題目的難度越接近,目標(biāo)的收益也應(yīng)該越大。

所以我們用兩個題的難度差值的平方取負(fù)數(shù)來表示,這樣兩個題目難度越接近V2值越大(越趨近于 0),總收益越大。

3)學(xué)習(xí)熱情

如果一直給學(xué)員推薦極簡單或者極難的題,都會讓學(xué)員對結(jié)果不滿意,我們需要讓推的題符合學(xué)員的學(xué)習(xí)目標(biāo),來讓學(xué)員保持學(xué)習(xí)熱情。如果學(xué)員一直做對題目,需要提高推薦題目的難度;如果學(xué)員一直做錯題目,那么就需要降低推薦題目的難度。

這個目標(biāo)價值衡量的基本思想是:學(xué)員最近做題的表現(xiàn)與設(shè)置的目標(biāo)因子越接近,價值應(yīng)該越高。

這里面我們引入一個學(xué)習(xí)目標(biāo)因子:

可以通過學(xué)員自己設(shè)置的目標(biāo)來對應(yīng),也可以根據(jù)學(xué)員的表現(xiàn)自動調(diào)整。

我們假設(shè)即將要推的題目是 t,回顧學(xué)員最近 N 次的學(xué)習(xí)記錄(答對 p=1,答錯 p=0),結(jié)合即將要推的題的預(yù)測答對概率,計算其平均表現(xiàn)。因此目標(biāo) 3 的價值公式用V3表示:

學(xué)員如果希望獲得具有挑戰(zhàn)性的學(xué)習(xí)體驗,可以設(shè)置較低的 g 數(shù)值。

舉個例子:比如學(xué)習(xí)目標(biāo)因子是 0.8 的學(xué)員最近 10 題的表現(xiàn)為 0,1,0,1,1,0,1,0,1,1,我們的窗口題數(shù) N 設(shè)為 6,那么:

我們現(xiàn)在有兩個題,一個答對概率是 0.2,一個答對概率是 0.8,計算一下就知道此時推答對概率高的題目當(dāng)前目標(biāo)的價值值更大。

綜上,每個目標(biāo)的價值在總價值中會有不同的權(quán)重,給每個目標(biāo)設(shè)置一個權(quán)重系數(shù) λ ,那么推一個題目的總的收益公式如下:

公式中的權(quán)重系數(shù)可以根據(jù)需求來調(diào)整,如果更關(guān)注推的題目難度的平滑性,就可以通過調(diào)高 λ2 的值來實現(xiàn)。用這個公式將候選集中的題目計算后,收益最高的題目就是接下來要推的題目。

當(dāng)然,以上僅是設(shè)想的思路,但在實際應(yīng)用過程中是否可行,還需要根據(jù)使用情況,不斷調(diào)整優(yōu)化公式中的參數(shù)和權(quán)重,找到最合適的計算方式。

本文由 @YTY 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自 Unsplash,基于CC0協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 雖然部分內(nèi)容有些難以理解,但是覺得思路是對的,值得反復(fù)琢磨,收藏一下

    來自湖南 回復(fù)
  2. 路過,點贊,文章內(nèi)容十分棒

    來自山東 回復(fù)
  3. 路過,點個贊,好文章

    來自江蘇 回復(fù)
  4. 非常棒的文章,收獲很多!我是一名大二計算機(jī)專業(yè)學(xué)生,剛剛了解產(chǎn)品經(jīng)理,請問這屬于產(chǎn)品經(jīng)理的哪個方向呢?

    來自黑龍江 回復(fù)
    1. 這個屬于在線教育領(lǐng)域的推薦策略,可能偏策略產(chǎn)品

      來自北京 回復(fù)
    2. 最近投了美團(tuán)的策略產(chǎn)品實習(xí),這篇文章講的內(nèi)容幫助了我很多,謝謝!

      來自山東 回復(fù)