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