AI PM視角:對(duì)話機(jī)器人的算法是如何開(kāi)發(fā)的?

3 評(píng)論 4719 瀏覽 27 收藏 15 分鐘

編輯導(dǎo)語(yǔ):對(duì)話機(jī)器人在我們的日常生活中已經(jīng)十分常見(jiàn),那么,你了解對(duì)話機(jī)器人中的具體算法開(kāi)發(fā)過(guò)程嗎?對(duì)話機(jī)器人所使用的算法可分為哪些類別?本篇文章里,作者就對(duì)話機(jī)器人的算法開(kāi)發(fā)流程進(jìn)行了整體總結(jié),不妨來(lái)看一下。

AI對(duì)話機(jī)器人目前應(yīng)用已經(jīng)很廣泛了。智能客服、語(yǔ)音助手、外呼機(jī)器人……等等,在日常生活中你可能已經(jīng)碰到了很多的對(duì)話機(jī)器人。那對(duì)話機(jī)器人中,算法開(kāi)發(fā)過(guò)程是怎么樣的呢?今天筆者從一個(gè)AI產(chǎn)品經(jīng)理的視角,做一個(gè)簡(jiǎn)單的介紹和闡述。

如果你問(wèn)一個(gè)AI算法工程師,如何將算法模型搭建至滿足業(yè)務(wù)需求,上線、給用戶使用,算法工程師可能會(huì)跟你說(shuō)一堆的AI技術(shù)細(xì)節(jié)。包括如何選型、算法模型間的技術(shù)差異點(diǎn),等等。往往讓非算法技術(shù)人員聽(tīng)得云里霧里,覺(jué)得很高大上但不明就里。

本文我們不講AI技術(shù)細(xì)節(jié),我們從AI PM的視角,來(lái)闡述對(duì)話機(jī)器人的開(kāi)發(fā)過(guò)程中,算法扮演了什么角色,承擔(dān)了什么任務(wù),以及如何影響最終的產(chǎn)出結(jié)果的。

對(duì)話機(jī)器人當(dāng)中使用的算法,可大致分為:意圖識(shí)別、實(shí)體識(shí)別、相似度計(jì)算3大類。主要應(yīng)用于機(jī)器人對(duì)于客戶應(yīng)答的識(shí)別能力。在產(chǎn)品開(kāi)發(fā)過(guò)程中,算法的開(kāi)發(fā)流程大致如下:

下面我們?cè)敿?xì)描述每個(gè)環(huán)節(jié)的開(kāi)發(fā)過(guò)程與內(nèi)容。

一、需求定義

主要角色:產(chǎn)品經(jīng)理、AI訓(xùn)練師

在做算法的開(kāi)發(fā)之前,需要走做產(chǎn)品需求定義。對(duì)話機(jī)器人中,使用到算法的地方,主要在于語(yǔ)義識(shí)別的部分。主要包括:意圖識(shí)別、實(shí)體識(shí)別、相似度計(jì)算,等等。這里以意圖識(shí)別為例,做相應(yīng)的介紹與闡述。

在應(yīng)用于業(yè)務(wù)場(chǎng)景的對(duì)話機(jī)器人當(dāng)中,通常需要基于該場(chǎng)景,做多個(gè)意圖的識(shí)別。通常來(lái)說(shuō),意圖的數(shù)量少則幾個(gè),多則幾十個(gè)不等。而具體需要做多少意圖的識(shí)別,以及每個(gè)意圖的定義是什么,意圖與意圖之間的邊界是什么,需要做開(kāi)發(fā)前的需求定義。

一般需求定義是由產(chǎn)品經(jīng)理或AI訓(xùn)練師來(lái)做的。意圖是根據(jù)業(yè)務(wù)場(chǎng)景進(jìn)行切分的,而產(chǎn)品經(jīng)理作為對(duì)話機(jī)器人的設(shè)計(jì)者,本身應(yīng)對(duì)業(yè)務(wù)場(chǎng)景有深刻的了解。同時(shí),不同于傳統(tǒng)的互聯(lián)網(wǎng)產(chǎn)品經(jīng)理多是對(duì)于產(chǎn)品功能的設(shè)計(jì),在對(duì)話機(jī)器人的【對(duì)話】層面的設(shè)計(jì),更是體現(xiàn)AI產(chǎn)品經(jīng)理價(jià)值與思路的方面。

所以產(chǎn)品經(jīng)理需要基于業(yè)務(wù),做每個(gè)意圖的定義,需做到明確、清晰、可驗(yàn)證。這對(duì)后續(xù)的算法開(kāi)發(fā)至關(guān)重要,是開(kāi)發(fā)的方向、驗(yàn)收的標(biāo)準(zhǔn)、產(chǎn)品的價(jià)值體現(xiàn)。

除了產(chǎn)品經(jīng)理,也可由AI訓(xùn)練師做算法需求定義。一般而言,AI訓(xùn)練師的職責(zé)是基于客戶的對(duì)話場(chǎng)景,做對(duì)話流程設(shè)計(jì)、對(duì)話知識(shí)構(gòu)建與優(yōu)化的,AI訓(xùn)練師應(yīng)是業(yè)務(wù)場(chǎng)景專家,所以需要做算法需求的定義。

AI訓(xùn)練師與產(chǎn)品經(jīng)理的區(qū)別在于,對(duì)話機(jī)器人的功能層面是有產(chǎn)品經(jīng)理負(fù)責(zé),而AI訓(xùn)練師主要著重于基于對(duì)話場(chǎng)景的對(duì)話設(shè)計(jì)。產(chǎn)品經(jīng)理也需對(duì)AI訓(xùn)練師的工作內(nèi)容熟悉,以相應(yīng)地設(shè)計(jì)可構(gòu)造優(yōu)秀對(duì)話設(shè)計(jì)的產(chǎn)品功能。是對(duì)話機(jī)器人的整體owner。

二、模型預(yù)研

主要角色:算法工程師

明確了產(chǎn)品需求,在產(chǎn)品經(jīng)理/AI訓(xùn)練師做完算法需求的宣講之后,算法工程師就要根據(jù)需求,進(jìn)行算法模型的預(yù)研。具體來(lái)說(shuō),就是要判斷目前積累的數(shù)據(jù)和沉淀的算法,是否可以達(dá)到業(yè)務(wù)的需求。

預(yù)研的目的主要有2點(diǎn):

  1. 算法是目前業(yè)內(nèi)較為優(yōu)秀的;
  2. 算法是可貼合業(yè)務(wù)需求的。

算法工程師通常會(huì)在前期做技術(shù)相關(guān)的調(diào)研,了解目前業(yè)內(nèi)主流算法,包括已被驗(yàn)證的較為優(yōu)秀的模型,以保證在技術(shù)層面至少在業(yè)內(nèi)是持平和領(lǐng)先的。

同時(shí),不同業(yè)務(wù)要求的算法能力不同。算法工程師需要根據(jù)業(yè)務(wù)特性,選型相應(yīng)的模型,多備幾套方案,以供模型訓(xùn)練時(shí)使用。

模型預(yù)研的結(jié)果,通常需要做一個(gè)小型的匯報(bào)。目的是同步模型預(yù)期選型,讓產(chǎn)品經(jīng)理、AI訓(xùn)練師了解不同的算法模型的優(yōu)劣勢(shì),以及后優(yōu)化維護(hù)的不同特點(diǎn)。同時(shí)也收集各方的意見(jiàn),做最終的模型選擇。

模型預(yù)研的目的主要是降低風(fēng)險(xiǎn),即降低模型選錯(cuò)的風(fēng)險(xiǎn)。因?yàn)槟P褪且粋€(gè)從搭建開(kāi)始,通過(guò)數(shù)據(jù)不斷地訓(xùn)練優(yōu)化的過(guò)程。如果模型選型錯(cuò)誤,有可能出現(xiàn)后續(xù)不管數(shù)據(jù)如何訓(xùn)練,都無(wú)法解決業(yè)務(wù)問(wèn)題的情況。所以模型預(yù)研對(duì)于后續(xù)的模型訓(xùn)練,有著重要的意義。

三、數(shù)據(jù)準(zhǔn)備與標(biāo)注

主要角色:數(shù)據(jù)標(biāo)注師、算法工程師

當(dāng)算法需求確定后,就需要根據(jù)定義的需求,進(jìn)行數(shù)據(jù)標(biāo)注。這里通常指的是有監(jiān)督學(xué)習(xí)的算法數(shù)據(jù)標(biāo)注。數(shù)據(jù)標(biāo)注的過(guò)程主要包括:數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)清洗、標(biāo)注規(guī)范制定、試標(biāo)數(shù)據(jù)、標(biāo)注答疑、正式標(biāo)注。

1)數(shù)據(jù)準(zhǔn)備

在算法團(tuán)隊(duì)中,有專門(mén)的數(shù)據(jù)分析員,做相應(yīng)的對(duì)話數(shù)據(jù)抽取。抽取的數(shù)據(jù)是數(shù)據(jù)標(biāo)注的來(lái)源。數(shù)據(jù)抽取需要根據(jù)以下原則:

  • 抽取的數(shù)據(jù)需包含在行業(yè)中具有代表性的數(shù)據(jù);如行業(yè)標(biāo)桿客戶等。
  • 抽取的數(shù)據(jù)需盡可能覆蓋行業(yè)中多樣的數(shù)據(jù);讓數(shù)據(jù)分布更加均勻,提供覆蓋面廣的數(shù)據(jù)分布。

2)數(shù)據(jù)清洗

抽取了數(shù)據(jù)之后,數(shù)據(jù)的結(jié)構(gòu)、質(zhì)量不一,需要進(jìn)行數(shù)據(jù)清洗。通常會(huì)篩除吊無(wú)效的、質(zhì)量不佳的數(shù)據(jù)。數(shù)據(jù)清洗可能運(yùn)用的技術(shù)手段有:關(guān)鍵詞、實(shí)體識(shí)別、無(wú)監(jiān)督學(xué)習(xí)等等。目的是可清洗出質(zhì)量較好的數(shù)據(jù)以供標(biāo)注。

3)標(biāo)注規(guī)范制定

在需求定義時(shí),通常會(huì)給每個(gè)意圖做定義,定義會(huì)明確意圖A是指什么,意圖B時(shí)指什么。哪些情況屬于意圖A,哪些情況屬于意圖B。標(biāo)注團(tuán)隊(duì)首先需要明確每個(gè)意圖的定義,作為標(biāo)注的指南。

產(chǎn)品經(jīng)理/AI訓(xùn)練師會(huì)給出一份數(shù)據(jù)標(biāo)注的規(guī)范。這份規(guī)范需要標(biāo)注團(tuán)隊(duì)leader與他們做深入的溝通與理解,以求理解透徹需求,并可實(shí)際落地至標(biāo)注工作中,確保需求落地不偏差。

4)試標(biāo)數(shù)據(jù)

制定了標(biāo)注規(guī)范,同時(shí)拿到了已清洗的抽取數(shù)據(jù)后,就進(jìn)入了試標(biāo)數(shù)據(jù)環(huán)節(jié)。為什么不直接正式標(biāo)注呢?因?yàn)橥ǔ?biāo)注都是大批量的,若出現(xiàn)標(biāo)注規(guī)范理解不到位,或者標(biāo)注規(guī)范本身指定得有問(wèn)題,那返工將是很大的人力物力損失。

為了降低這樣的風(fēng)險(xiǎn),通常會(huì)在前期先拿一小部分?jǐn)?shù)據(jù)進(jìn)行試標(biāo)。試標(biāo)的量根據(jù)情況而定,通??刂圃?-2天時(shí)間內(nèi),并需收集標(biāo)注反饋,注明問(wèn)題與疑惑。

試標(biāo)結(jié)束后,需要召集標(biāo)注同學(xué)、產(chǎn)品經(jīng)理、AI訓(xùn)練師、算法工程師,召開(kāi)問(wèn)題同步討論會(huì)。會(huì)議的目的是確定試標(biāo)的問(wèn)題的解決方案,各方達(dá)成共識(shí)。方可進(jìn)入下一步驟。

5)正式標(biāo)注

按照確定的且達(dá)成共識(shí)的標(biāo)注規(guī)范,標(biāo)注團(tuán)隊(duì)就進(jìn)入了正式標(biāo)注階段。通常標(biāo)注的數(shù)量較多,需要在標(biāo)注團(tuán)隊(duì)中分配任務(wù)。

標(biāo)注完成后,需要有標(biāo)注審核員進(jìn)行審核。通常為抽樣審核。若不通過(guò)需打回重標(biāo)。

標(biāo)注結(jié)束后,須由標(biāo)注團(tuán)隊(duì)Leader匯總標(biāo)注結(jié)果,提交給算法工程師。

四、模型構(gòu)建

主要角色:算法工程師

在接收到標(biāo)注團(tuán)隊(duì)的標(biāo)注數(shù)據(jù)后,算法工程師就需要拿這些數(shù)據(jù),讓模型運(yùn)轉(zhuǎn)起來(lái)。模型構(gòu)建包括3個(gè)環(huán)節(jié):模型設(shè)計(jì)、特征工程、模型訓(xùn)練。

1)模型設(shè)計(jì)

算法工程師會(huì)根據(jù)業(yè)務(wù)的需要,以及算法積累,進(jìn)行模型設(shè)計(jì)。在這個(gè)環(huán)節(jié)中,產(chǎn)品經(jīng)理應(yīng)與算法工程師確定,在當(dāng)前業(yè)務(wù)下,這個(gè)模型該不該做,我們有沒(méi)有能力做這個(gè)模型。在這個(gè)階段中,最重要的是定義模型目標(biāo)變量。不同的目標(biāo)變量,決定了這個(gè)模型應(yīng)用的場(chǎng)景,以及能達(dá)到的業(yè)務(wù)預(yù)期。

2)特征工程

選型之后,算法工程師會(huì)進(jìn)行特征工程的工作。整個(gè)模型構(gòu)建可以理解為:從樣本數(shù)據(jù)中提取可以很好描述數(shù)據(jù)的特征,再利用它們建立出對(duì)未知數(shù)據(jù)有優(yōu)先預(yù)測(cè)能力的模型。

所以在模型構(gòu)建中,特征工程師非常重要的部分。數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限,而模型和算法只是逼近這個(gè)上限而已。

而現(xiàn)有的技術(shù)能力,如神經(jīng)網(wǎng)絡(luò)等算法能力,可通過(guò)模型的自主提取特征能力,而取代人工提取特征的過(guò)程。方式的不同,在效果上也可能比算法工程師人工提取特征,可能有提高。需具體業(yè)務(wù)情況具體看。

3)模型訓(xùn)練

算法工程師會(huì)根據(jù)數(shù)據(jù)在不同模型的訓(xùn)練結(jié)果,做調(diào)參工作,以確保模型最終的效果是可滿足業(yè)務(wù)的要求,并可持續(xù)優(yōu)化的。

算法工程師在訓(xùn)練模型時(shí)使用的數(shù)據(jù)為【訓(xùn)練集】,該數(shù)據(jù)集合需不能與最后模型測(cè)試使用的【測(cè)試集】重合/有交集,以確保后續(xù)測(cè)試是客觀、不失真的。

五、模型測(cè)試

主要角色:測(cè)試工程師

模型構(gòu)建完成后,就需要算法測(cè)試工程師介入測(cè)試模型的效果。對(duì)于算法的測(cè)試,衡量的基礎(chǔ)指標(biāo)主要是:P值(精準(zhǔn)率)、R值(召回率)F1值,分別衡量模型預(yù)測(cè)的準(zhǔn)確性、覆蓋面和二者的綜合能力。

當(dāng)然,還可以根據(jù)業(yè)務(wù)的不同,有其他的測(cè)試驗(yàn)收指標(biāo),這邊不贅述。

測(cè)試的過(guò)程,一般會(huì)使用腳本自動(dòng)化測(cè)試,以覆蓋數(shù)據(jù)量龐大的測(cè)試內(nèi)容,保證最短時(shí)間內(nèi)測(cè)可能多的內(nèi)容。

測(cè)試完成后,測(cè)試工程師需出具測(cè)試報(bào)告。報(bào)告的接收方為:算法工程師、產(chǎn)品經(jīng)理、AI訓(xùn)練師。需確認(rèn)報(bào)告內(nèi)容。同時(shí),產(chǎn)品經(jīng)理/AI訓(xùn)練師需評(píng)估,模型的效果是否符合預(yù)期。若否,則需算法模型重新訓(xùn)練調(diào)優(yōu),直至達(dá)到上線標(biāo)準(zhǔn)為止。

六、模型驗(yàn)證

主要角色:產(chǎn)品經(jīng)理、AI訓(xùn)練師

模型驗(yàn)證指的是模型上線后的數(shù)據(jù)觀察,以驗(yàn)證模型效果,通常由產(chǎn)品經(jīng)理/AI訓(xùn)練師,做上線后的跟蹤與觀察。在上線之后,一般會(huì)做算法相關(guān)的數(shù)據(jù)統(tǒng)計(jì),每天實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)的情況。

若有數(shù)據(jù)異常或不符合預(yù)期,通常需要做以下處理。

1)告知算法團(tuán)隊(duì),做數(shù)據(jù)反饋收集與模型優(yōu)化

算法的優(yōu)化過(guò)程是較為緩慢的,涉及的流程包括數(shù)據(jù)重新標(biāo)注、模型重新訓(xùn)練、重新測(cè)試/調(diào)優(yōu)等等。通常周期以“周”為單位。

2)通過(guò)規(guī)則矯正

業(yè)務(wù)的問(wèn)題總是需要及時(shí)地處理與反饋的,所以需要一些輔助措施,來(lái)響應(yīng)響應(yīng)的需求。一旦發(fā)現(xiàn)算法模型效果不佳,需要產(chǎn)品經(jīng)理/AI訓(xùn)練師通過(guò)規(guī)則矯正的方式,優(yōu)先做處理。當(dāng)后續(xù)算法優(yōu)化更新之后,再做原有規(guī)則的恢復(fù)。

七、結(jié)語(yǔ)

對(duì)話機(jī)器人算法的開(kāi)發(fā)過(guò)程,是一個(gè)閉環(huán)的過(guò)程。通過(guò)數(shù)據(jù)的訓(xùn)練、測(cè)試、調(diào)優(yōu),達(dá)成相應(yīng)的業(yè)務(wù)目標(biāo)。隨著數(shù)據(jù)的不斷反饋,算法模型的效果則會(huì)越來(lái)越符合業(yè)務(wù)的需求,是一個(gè)循序漸進(jìn)的過(guò)程。本篇文章大致介紹了算法開(kāi)發(fā)的整個(gè)流程與脈絡(luò),希望可以幫到你。

 

作者:咖喱魚(yú)丸,5年P(guān)M經(jīng)驗(yàn),2年AI PM經(jīng)驗(yàn)

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

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

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 講了一大堆,沒(méi)看到 跟對(duì)話機(jī)器人有啥關(guān)系,所有AI算法產(chǎn)品 都是這么出來(lái)的

    來(lái)自亞太地區(qū) 回復(fù)
  2. 這個(gè)應(yīng)該不只是對(duì)話機(jī)器人算法吧?所有用到深度學(xué)習(xí)的模型都是這個(gè)模式

    來(lái)自遼寧 回復(fù)
    1. 是的,以此為例

      回復(fù)