本文中將介紹一個流行的機器學習項目——文本生成器,你將瞭解如何構建文本生成器,並瞭解如何實現馬爾可夫鏈以實現更快的預測模型。
文本生成器簡介
文本生成在各個行業都很受歡迎,特別是在移動、應用和數據科學領域。甚至新聞界也使用文本生成來輔助寫作過程。
在日常生活中都會接觸到一些文本生成技術,文本補全、搜索建議,Smart Compose,聊天機器人都是應用的例子,
本文將使用馬爾可夫鏈構建一個文本生成器。這將是一個基於字符的模型,它接受鏈的前一個字符並生成序列中的下一個字母。
通過使用樣例單詞訓練我們的程序,文本生成器將學習常見的字符順序模式。然後,文本生成器將把這些模式應用到輸入,即一個不完整的單詞,並輸出完成該單詞的概率最高的字符。
文本生成是自然語言處理的一個分支,它根據之前觀察到的語言模式預測並生成下一個字符。
在沒有機器學習之前,NLP是通過創建一個包含英語中所有單詞的表,並將傳遞的字符串與現有的單詞匹配來進行文字生成的。這種方法有兩個問題。
- 搜索成千上萬個單詞會非常慢。
- 生成器只能補全它以前見過的單詞。
機器學習和深度學習的出現,使得NLP允許我們大幅減少運行時並增加通用性,因爲生成器可以完成它以前從未遇到過的單詞。如果需要NLP可以擴展到預測單詞、短語或句子!
對於這個項目,我們將專門使用馬爾可夫鏈來完成。馬爾可夫過程是許多涉及書面語言和模擬複雜分佈樣本的自然語言處理項目的基礎。
馬爾可夫過程是非常強大的,以至於它們只需要一個示例文檔就可以用來生成表面上看起來真實的文本。
完整文章:
https://avoid.overfit.cn/post/20212b30f7b94f2cacd66e8386626fcf