發表文章

目前顯示的是有「自然語言」標籤的文章

Python epub電子書檔案解析_中文斷句處理_以國家科幻叢書十一_機器人風波(The Soul of the Robot)為例

圖片
  此次實驗採用 好讀平台 上面的 書名:機器人風波(The Soul of the Robot) 作者: 巴靈頓・貝雷(Barrington J.Bayley) 譯者:王凱竹 https://www.haodoo.net/?M=Share&P=1010490641#gsc.tab=0 作者簡介: 巴靈頓.貝雷 出生於英國伯明翰,一九六零年代科幻小說新浪潮運動在英國的推手之一。 寫作風格憂鬱、陰沉,影響後來多名英國科幻作家。 這個平台的定位有點類似台灣版本的 日本青空文庫 青空文庫是蒐集了日本國內著作權已經進入公有領域的文學作品的數位圖書館。 程式碼範例ver1. """ 【免責聲明 / Disclaimer】 1. 本程式僅供技術研究與學術交流使用,不保證程式碼完全無誤或適用於特定商業目的。 This code is for technical research and academic exchange only. There is no guarantee of accuracy or fitness for any particular purpose. 2. 使用者應確保所處理之 EPUB 檔案具備合法授權。本程式作者不承擔因非法使用版權 作品(如未經授權之重製、散佈或進行機器學習訓練)所產生之法律責任。 Users are responsible for ensuring they have legal authorization for the EPUB files. The author assumes no liability for legal issues arising from unauthorized use of copyrighted works (e.g., reproduction, distribution, or ML training). 3. 請遵守相關著作權法規。針對已受版權保護之作品,建議僅在「合理使用」範圍內操作。 Please comply with copyright laws. For protected works, operations should be limited to the sco...

Windows作業系統環境下安裝Ruby_Wikipedia語料庫截取純文本wp2txt_WikiExtractor_gensim解析讀取wiki資料

圖片
Ruby預設環境會有類似node.js的npm install的cli  (定位就跟微軟開發者在用的nuget差不多、或python的pip install....) 叫做gem 相關Ruby開源套件貢獻者會在此網站平台做釋出 https://rubygems.org/ 在一些自然語言語料庫收集任務最為知名的就是維基百科 https://dumps.wikimedia.org/ 當然要注意的是wikimedia有對下載者進行了速率限制,並將每個 IP 位址的連線數上限設為 3 個。目的是確保每個人都能以合理的下載速度存取檔案。 在這邊要從官方網站的Database backup dumps進去 也就是所有跨語言的公開WIKI媒體資料完整副本,以嵌入 XML 的維基文本來源檔案和元資料形式提供。 官方有釋出dumps出來的文本壓縮檔無法直接解析需要特殊前處理 https://dumps.wikimedia.org/backup-index.html 看 Wikipedia 網域抓語言代碼: https://en.wikipedia.org/ → enwiki https://zh.wikipedia.org/ → zhwiki https://ja.wikipedia.org/ → jawiki 比方說 日本語言的最新dumps資料網址 https://dumps.wikimedia.org/jawiki/latest/ 英文語言的最新dumps資料網址 https://dumps.wikimedia.org/enwiki/latest/ https://dumps.wikimedia.org/enwiki/20260201/ 中文語言的最新dumps資料網址 https://dumps.wikimedia.org/zhwiki/latest/ https://dumps.wikimedia.org/zhwiki/20260201/ 舉例這邊針對英文和中文各自bz2做下載 enwiki-latest-pages-articles.xml.bz2 zhwiki-latest-pages-articles.xml.bz2 wiki中文語料庫僅3GB相較英文WIKI的23.2G來的小很多 Solution1. wp2txt 剛好涉及到裝wp2txt https://...

Decoding Methods for Language Models_Exhaustive search,Greedy Search與Beam Search比較

圖片
https://medium.com/@shravankoninti/decoding-strategies-of-all-decoder-only-models-gpt-631faa4c449a 語言模型不是只會「算機率」,真正影響輸出品質的是「怎麼選字」基本上分兩模式 Deterministic(確定性) 優點:可重現、偏「安全 / 標準答案」,常被應用在法規 / 技術文件。 缺點:容易重複、呆板,生成式任務中不夠生動。 Stochastic(隨機性) 優點:多樣有創意、輸出不固定 缺點:可能胡說、不一致 Sequence-to-Sequence Model for Machine Translation 諸多 NLP 應用(例如機器翻譯、聊天機器人、文本摘要或當前很夯的語言模型)都會產生文字作為輸出。另外,關於圖片說明(image captioning)或自動語音辨識(即語音轉文字)等應用也會輸出文字。所有這些應用在產生最終輸出的步驟中,都會使用以下幾種常用的演算法。 以下探討的針對Deterministic模式做比較 1.Exhaustive search(窮舉搜尋) 一種透過確認所有可能的狀況來尋找答案的方法。 窮舉所有可能的輸出序列,並在探索所有可能情況的同時,僅保留符合要求的結果。 保證能找到解但是效率不高 假設我們要用詞彙表 { cold, coffee, I , like , water, <stop>} 生成一個 5 個詞的序列。 窮舉搜尋所有可能序列及其對應機率,並輸出機率最高的序列。 I like cold water I like cold coffee coffee coffee coffee coffee I like I like coffee like cold coffee ..... 所以對於每個句子的輸出,其機率將會是 P(x1, x2, x3,…..xn) = P(x1).P(x2/x1), ……….., P(xn/x1, x2, ……xn-1) 我們會在解碼過程中找到所有可能的序列。在每個時間步都會傳入所有的詞彙。 如果其中一個範例輸入序列是「I like cold coffee <stop>」 上述序列的總機率將等於 P(I) * P(like/I)*P(cold/I,like)*P(coffee...

馬可夫鏈(markov chain)應用於文本段落、句子生成,讓敘述更豐富化的可行性研究_part1.

圖片
  至今多數創作文本生成主題圍繞透過類似GPT或Gemini等LLM來介接API。 使用現成的訓練模型,來實作聊天機器人或文章生成。 即使沒有自然語言處理的專業知識也能實作上述功能, 然而 演算法本身會屬於黑盒狀態,並且可解釋性較弱甚至有幻覺的風險。 此外若要自行構建新的訓練模型,就需要理解這些文章生成的演算法。 在短文、文章段落、句子生成等NLP演算法中,馬可夫鏈(markov chain)絕對是一個經典的算法。 比方有一句話 “I like turtles. I like rabbits. I don't like snails.” 套用於馬可夫鏈呈現如下圖 https://www.awalsh128.com/text-generation-using-markov-chains/ 上述連鎖表示,在這些句子中 100%(1.0)將以 I 開頭。 接著會是 like 的機率約 66%(0.66),而 don't 的機率約 33%(0.33)。 單字 don't 之後總是(100%/1.0)接著 like。 最後,烏龜、兔子和蝸牛會各自有大約 33%(0.33)的機率被接在後面。 馬可夫鏈的優點在於它們能在不具備語言語法或語意知識的情況下形成詞的相依關係。 該鏈純粹根據從語料庫中抽取的統計資訊來建立。 因此符合領域知識的語料庫其豐富與多元程度建置,會是豐富化敘述的關鍵。 也許於Image Caption應用中可以再疊加「語意分割(ADE20K資料集現成的模型)」區分出各區域物件單詞,再搭配WordNet做文字馬可夫鏈改善敘述單薄問題也說不定。 馬可夫鏈是一種統計模型,可用於監督式和非監督式學習。 當我們使用馬可夫鏈進行監督式學習時,代表可能要進行文本分類。 而應用在文本生成時,就屬於非監督式學習任務的統計模型,使用它通過預測不同狀態的轉移概率來生成文本。 於文本生成任務中,主要先探討一階馬可夫模型(First Order Markov Model) 一階馬可夫模型的核心在於: 下一個狀態的出現機率僅受當前狀態影響 。只要掌握了現在,所有的過去資訊對於預測未來都不再具有額外的參考價值。在文本生成情境,馬可夫模型中的狀態就代表這些詞或文本中存在的標記。 Ref: Can AI write my essay for me?(markov chain...