本文主要想和大家簡單聊一聊抓狭,作為產品經(jīng)理枕荞,如何跟進一個探索性的項目瓢宦,并且發(fā)揮產品經(jīng)理的作用碎连,讓項目往正確的方向開展。
簡單介紹下項目背景驮履,我們部門為某個領域的產品提供一個智能問答的聊天機器人服務鱼辙,即為用戶解答產品相關的問題廉嚼。由于場景的特性,用戶有和聊天機器人閑聊的需求倒戏,而我們的閑聊知識都是預設性前鹅,是固定的回復,而且數(shù)量有限峭梳,無法很好地滿足用戶閑聊(情感陪伴)的需求舰绘,所以我們嘗試用“預設閑聊知識庫+閑聊語言生成模型”來解決這個問題,所以這個語言生成的項目是想給做一個閑聊生成的模型葱椭。
那面向閑聊的語言生成模型是什么捂寿?對于人工智能相關的項目,作為產品經(jīng)理孵运,首先要了解的是它的輸入秦陋、輸出是什么。對于該項目治笨,模型的輸入輸出是:
輸入:我喜歡你驳概,做我女友吧
輸出:我得先問問我媽媽同不同意
我們將很多這樣的“閑聊對”作為語料來訓練模型,從而得到一個閑聊生成的模型旷赖,你給它一個輸入顺又,它會給你一個輸出。當時等孵,我們是基于Seq2sep模型來開發(fā)的稚照,大家這個模型感興趣,可以自己去網(wǎng)上找資料了解俯萌,我就不做介紹果录,其實我也不怎么懂,但這跟進項目影響不大咐熙。
評估對于一個應用型的項目要不要做弱恒,至少要從兩個角度來評估:一是技術,技術是否成熟棋恼?有沒有開源項目返弹?有沒有現(xiàn)成的代碼等等;其次是語料:有沒有現(xiàn)成的語料蘸泻,語料質量怎么樣琉苇?若沒有嘲玫,怎么獲得語料等等悦施。在項目開展時,我們沒有訓練語料去团,大家可能會問抡诞,你們不是有個聊天機器人嗎穷蛹?用戶與機器人的聊天日志不是作為訓練語料嗎?答案是不能的昼汗,因為我們的閑聊知識的回復是固定的肴熏,且知識數(shù)量很有限,所以聊天日志是一堆“固定的回復+默認的回復”的語料顷窒,拿來做訓練得到的模型蛙吏,其回復多樣性肯定是很有限的,且不能解決我們閑聊知識沒有覆蓋的閑聊話題鞋吉。所以鸦做,我們就網(wǎng)上找閑聊語料,看看有沒有現(xiàn)成的語料谓着,評估并從微博泼诱、論壇、豆瓣等社交平臺抓取閑聊語料赊锚,最終得到幾份不同來源的閑聊語料治筒。
有了閑聊語料,那么就可以訓練模型了舷蒲。其實當時負責該項目的工程師在這方面也是比較缺乏經(jīng)驗的耸袜,需要嘗試、摸索牲平,所以當時大家都很沒底句灌。在實踐的過程中,我們發(fā)現(xiàn)有太多因素會影響模型的效果了欠拾,比如調參(不同的參數(shù)組合會有不一樣的效果)胰锌、訓練語料、訓練時間藐窄、語料預處理方式等都會影響模型的效果资昧,而且訓練時間比較長,每一次的試驗都是非常奢侈的荆忍。那么多的影響因素讓我一時很混亂格带,后來想到要用科學的方法做試驗。首先刹枉,確認一個迭代周期叽唱,當時工程師忽悠我說“訓練時間越長,效果就好”微宝,但我們結合實際是不可能訓練太長的時間棺亭。我們通過訓練不同迭代周期的模型,結合實際和效果蟋软,定了一個迭代周期镶摘。以后就在此迭代周期嗽桩,改變其他影響因素來試驗,分析試驗結果凄敢。大家可以制定一個從“訓練集碌冶、測試集、訓練集處理方式涝缝、測試集處理方式扑庞、模型改進、參數(shù)拒逮、訓練時間”等多個分析維度的試驗記錄表嫩挤,用于后期的橫向、縱向對比試驗效果消恍,找到最佳的訓練方式得到效果最好的模型岂昭。制定這些規(guī)范之后,那么項目就進入比較有科學性的探索了狠怨。
我們已經(jīng)讓項目可以有序地约啊、科學地開展了,那我們如何評定模型的效果了佣赖?大家細想會發(fā)現(xiàn)恰矩,閑聊模型的效果很難評估,因為它是語言生成憎蛤,不像分類外傅、預判、識別的人工智能項目俩檬,它們可以準備有標準答案的測試集萎胰,通過測試分析正確率和召回率來評估模型,而語言生成是不確定的棚辽,你不能說模型的輸出結果與測試集標注結果不一樣技竟,你就說它是錯的。所以一般是通過人工的方式去看測試結果屈藐,可以從“連貫性榔组、邏輯性、上下文關聯(lián)”三個層面評估測試結果联逻。同時搓扯,我們希望模型生成的結果是越多樣就越好,那我們可以去統(tǒng)計測試結果(輸出)的多樣性來評估模型效果包归。準備一個能夠合理锨推、全面的測試集是非常重要的。如果測試集是片面的、局部的爱态,測試結果不錯,但你可能得到一個片面的模型境钟;若測試結果不理想锦担,你可以錯過了一個好的模型(這里的片面或局部是相對于你想解決問題的范圍而言)。對于該項目慨削,我們的應用場景是閑聊洞渔,那么可以從“話題多樣性、文本長度多樣性缚态、貼近對話場景”等方面來設計測試集磁椒。
大概就想這么多,由于涉及到公司利益玫芦,有很多細節(jié)不能展開想浆熔。但是對于探索性的項目,我們還是可以從中總結出一些經(jīng)驗:
1.制定規(guī)范桥帆,管理好期望医增。
因為探索性的項目,有很多的不確定性老虫,你不知道最終的效果怎么樣叶骨,而且短期很難看到效果,所以不要急于想要達到最終目標祈匙。要制定科學性的實驗規(guī)范忽刽,制定階段性的目標,重視每一次實驗夺欲,從中總結經(jīng)驗跪帝,不斷優(yōu)化模型。
2.作為AI PM些阅,要有一定的ai認知水平歉甚,結合應用場景評估模型效果。
作為產品經(jīng)理扑眉,還有一定的ai認知纸泄,比如說了解模型的輸入輸出是什么、有哪些影響因素腰素;人工智能的本質就是經(jīng)驗主義聘裁,那么語料的質量決定了模型的上限,你就要把握評估語料質量弓千。如果語料質量很差衡便,那么怎么訓練模型效果也不怎么好,此時你把重心把語料的收集上;對于模型的泛化能力镣陕、過擬合和欠擬合等概念的理解谴餐,會有助于你評估模型。其次是要結合應用場景來評估模型效果呆抑,比如這個項目岂嗓,我們的應用場景是閑聊,那么模型能回復的話題越多越好鹊碍,那不同的話題厌殉、不同長度的文本輸入,模型的輸出效果會怎么樣侈咕。貼近應用場景公罕,結合聊天日志,從中提取用戶關心常聊的話題耀销、平均輸入長度等信息來設計測試集楼眷,即合理也不偏離應用場景的評估模型效果。