(很久沒在csdn寫文章了,一直在知乎,現在慢慢搬過來,原創在哈)
看了有一點思考。
之前做對話系統時,看實際的對話記錄,發現口語文字有如下特點:
一是大量的口語詞彙;二是打錯字;三是語序錯亂。
很自然有兩種思路:一是把錯字糾正;二是就把訓練集也刻意弄出錯字。
1.1.1、針對應用場景和實際歷史記錄,做常見錯字的規則。(實際上沒有想象的那麼複雜。比例類似二八定律。)
1.1.2、把原文本和正確文字當做seq2seq去做。(但是訓練集從**來呢?標不如構造,構造方式見下面的1.2部分)
不妨先想想錯字是怎麼來的,然後再說怎麼做。
1.2.1、如果是用本來就含有錯字的真實資料做標註,且量足夠大,那就不存在這個問題了。(但實際上,多大的量才算大呢?後面的方法還是能提公升的)
1.2.2、(英文中的拼寫錯誤對應中文)在按對按鍵後,在輸入法中選擇了錯誤的字詞。
(比如,上面這句話,我最初就輸入成了「在按對『案件』後」,無語。。)
可以在訓練樣本中,分詞後選乙個詞,出拼音,用拼音出候選詞列表,選擇除了真實詞彙之外的第乙個候選詞,作為替換。
1.2.3、(qwerty鍵盤錯誤注入)按錯按鍵了。
可以在訓練樣本中,分詞後選乙個詞,出拼音,選拼音中的1~2個按鍵,換成相鄰的按鍵,得到新的拼音,進而得到替換詞。(需要注意應用場景是9鍵環境下,還是26鍵環境下,又或是二者都有。)
2.1、(最暴力的方式)乙個樣本分詞後,全部詞隨機打亂。
2.2、(比較暴力,但是還算合理)乙個樣本分詞後,挑出1~2個詞隨機插入分詞後的樣本中。
2.3、(根本上)通過對真實樣本的觀察和統計,得到規律,如「最常見的語序錯亂是將某些詞拿出放在句尾」「哪些詞性的詞容易放到句尾」(這兩個是我真實遇到的情況,常說完後再用乙個詞作為補充,而這個詞常常是名詞。)根據得到的規律做訓練集的改寫。
2.4、(補充)句與句亂序。(在我的口語化樣本中絕大多數是一句,故略。)
(我還沒想好。。)
如果覺得有用,請點贊~
碎碎念 2020 09 03 看演算法的一點感受
碎碎念 2020 09 03 看演算法的一點感受 1.要看懂演算法的原理,這塊兒是最重要的。原理如果有配套的 會更有助於理解。沒有,就自己拿筆多在紙上排演一下。2.自己動手敲 哪怕是照著別人的文章抄 也要動手敲 3.演算法的時間複雜度和空間複雜度這塊兒主要是數學知識,要把數學學好。每個演算法的時間複...
關於工作的一些碎碎念
技術上已經很久沒提公升了,最近實在比較忙,也學到了很多技術之外的東西。以下內容不斷更新修改 1 不與上級討論技術細節,只反饋什麼時候做,需要多久。2 不隨便提問題,問問題之前理清思路,目的性要明確。3 與部門外的同事,比較重要事項的交流一定要使用郵件,避免表達不準確,也是乙個記錄,雙方都可以隨時查閱...
關於Qt的一些碎碎念
1,qt的除錯真不好用啊!執行慢不說,檢視堆疊經常只能看到幾個很底層的函式,看不到自己 對於分析 毫無鳥用啊!太雞肋了!或許是我使用的方式不對吧!但是換vs就能定位到 2,除了除錯功能,qtcreator寫qt 比vs舒服很多!雖然vs 小番茄提高了很大的便利性 但是識別qt的類還是不靠譜,時不時就...