XiaoHu日志 11/22~12/3
11/22 購置了華為云服務(wù)器,將學(xué)校服務(wù)器上的所有內(nèi)容轉(zhuǎn)到了新服務(wù)器上,并復(fù)制了原數(shù)據(jù)庫。經(jīng)調(diào)試后所有功能啟動,原服務(wù)器暫停運行,作為應(yīng)急備份。
11/24 在談話中明確了算法的方向。XiaoHu曾經(jīng)走過概率化和規(guī)則化兩種意圖識別的方式,在嘗試過兩種方案后,我得到了概率化慘不忍睹的結(jié)果。于是我投入規(guī)則的懷抱,利用表達式的思想搞了句式擬合算法。當時我只知道這種方法在XiaoHu的環(huán)境里表現(xiàn)良好,但并沒有過多總結(jié)。今天終于知道是因為我的數(shù)據(jù)量太少才導(dǎo)致無法用訓(xùn)練的方式得出模型,一般的神經(jīng)網(wǎng)絡(luò)模型少則需要104的數(shù)量級,而我每個技能的語料也就是101的數(shù)量級,這103的差異導(dǎo)致網(wǎng)絡(luò)會把數(shù)據(jù)中的誤差無限放大,因為增大數(shù)據(jù)量才能使誤差變小,而現(xiàn)在的結(jié)果是網(wǎng)絡(luò)把誤差總結(jié)為了規(guī)律。而規(guī)則化的方法則在少量語料的環(huán)境中表現(xiàn)良好,所以我才使用了句式擬合。但是規(guī)則算法的最大短板是它非常依賴于規(guī)則的合理性,如果兩個規(guī)則中出現(xiàn)了交集,那么就會出現(xiàn)識別出多個意圖的情況,還需要搞出對應(yīng)的分數(shù)來確定到底選哪個意圖,現(xiàn)在我用的是體積分數(shù)。
所以現(xiàn)在如果想做大數(shù)據(jù)量的學(xué)習,只能把從其他網(wǎng)上開放的語料改一下,做數(shù)據(jù)遷移,但是網(wǎng)上都是打車、客服等語料,誰會搞學(xué)生查課查成績的語料?大規(guī)模學(xué)習難如登天。
剩下的一條路線是對規(guī)則的改進。我總結(jié)出出現(xiàn)意圖混淆的原因是純基于名詞、動詞排列的意圖判斷是沒有較高判別性的,如果要提高判別性,只有把句子中其他的詞匯也利用上,但是也不能讓語料中的所有詞性都在用戶語句中全部出現(xiàn),所以我之前計劃采用一個分數(shù)的設(shè)定,名詞動詞具有較高分數(shù),介詞副詞具有中等分數(shù),其他詞匯分數(shù)較低,形容詞則忽略。對于每個技能都要指定不及格的閾值和確定意圖的閾值,而且每個技能下每個詞性的權(quán)值都要單獨確定。我可以對于權(quán)值采取擬合式的措施,但是人工擬合還是機器擬合?還需要判斷。
另外我還發(fā)現(xiàn)可以直接用句式擬合實現(xiàn)槽填充。一句話來說,只需要把對應(yīng)的slot理解為一個名詞。這里的slot可看做相同性質(zhì)entity的集合,一個entity由若干有表示度的word來表示。在匹配時它們自下而上互相決定,這個思想我在給服裝設(shè)計俱樂部開發(fā)的機器人里有體現(xiàn)。
11/28 和孫老師進行談話。確定了XiaoHu與垃圾分類的合作方向,包括對于某種物體的垃圾歸屬查詢,一些其他細碎的功能并入校園百事通。
12/1 發(fā)現(xiàn)了一個比原來用的蘇州的垃圾分類網(wǎng)站更好的北京的垃圾分類網(wǎng)站。它在我校園場景下的測試里表現(xiàn)良好。我通過小爬蟲爬取上面的數(shù)據(jù)來為我所用,為了應(yīng)付用戶有時的長短語查詢?nèi)纭疤K格蘭奶茶”,我在整體查詢失敗后,會分詞并對每個分出來的詞來查詢,在有查詢結(jié)果的子詞中挑取體積最大的。
我還在一篇blog上看到了一個新穎的思路:識圖垃圾分類。具體邏輯就是通過對物體圖像的識別確定物體的種類如“紙張”,然后再把這個結(jié)果套進數(shù)據(jù)庫里。這樣其實是讓數(shù)據(jù)庫的輸入更加穩(wěn)定,像之前的課表查詢一樣把輸入確定在某一集合之內(nèi),是方便我維護的,而且這個想法也很酷。
12/2 想好業(yè)務(wù)邏輯后,開始動手實現(xiàn)垃圾分類。全程沒有什么阻礙,兩個小時把兩個功能全部實現(xiàn),測試體驗良好。晚上回家完成了內(nèi)部用戶機制,垃圾分類作為體驗功能開放,為所有有體驗權(quán)限的粉絲團員分配了只能生效一次的激活碼來激活權(quán)限。
晚上時收到一名粉絲的反饋,她發(fā)現(xiàn)iphone在用微信里的拍照給XiaoHu拍攝照片時XiaoHu經(jīng)常有“出現(xiàn)故障”的問題。我在后臺進行觀察調(diào)試后,發(fā)現(xiàn)出現(xiàn)故障是因為后臺的處理時間超過了5s,而耗費最多時間的是圖像識別的部分,推理得出圖像識別時間與圖像文件大小正相關(guān)。所以我計劃通過壓縮的方式減少圖像大小,使用PIL.image的quality來控制。我本以為這個過程會很好寫,誰知道我卻深陷在base64,byte,二進制文件和image間的互相轉(zhuǎn)化泥潭里。在折騰兩個小時后,我最終選擇生成兩個緩存文件來保存壓縮前圖片和壓縮后圖片,用完即刪。但調(diào)試完測試時,我發(fā)現(xiàn)不加壓縮時的微信拍照小虎也是不會出現(xiàn)故障的,生產(chǎn)環(huán)境的代碼沒有改,相當于自變量只有時間,也就是折騰一晚上后我發(fā)現(xiàn)我什么作用也沒有起到。
12/3 XiaoHu在沒有查詢到一個物體的查詢結(jié)果后,會把這個物體記入數(shù)據(jù)庫以便我來處理這些沒有被照顧到的數(shù)據(jù),我對數(shù)據(jù)庫進行了整體并加了去重。在測試時我發(fā)現(xiàn)生產(chǎn)環(huán)境里的XiaoHu竟然在處理普通照片時都會花費很長的時間,甚至超時。我在測試環(huán)境里測試時,XiaoHu壓縮圖片后的圖像識別速度明顯變快。最終我把圖像壓縮更新到了生產(chǎn)環(huán)境里,測試時表現(xiàn)良好。我設(shè)定了300kb是圖像處理是否超時的閾值,XiaoHu的圖像壓縮最多只能到原大小的10%,所以我讓XiaoHu在接受到3mb以上圖像時就拒絕處理,這種情況一般是用戶發(fā)了“原圖”。所以我昨天的一晚上還是有很大作用的,至于為什么出現(xiàn)兩天兩次測試結(jié)果的差異狀況,我認為是我測試用的iphone型號太老,攝像頭拍攝的照片本身就在300k以內(nèi),而我的手機拍攝的照片偏大,微信壓縮后有的照片都超過了300k,導(dǎo)致了XiaoHu的超時。
總結(jié)
以上是生活随笔為你收集整理的XiaoHu日志 11/22~12/3的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mini usb 管脚图
- 下一篇: RISC-V MCU将常量定义到指定的F