發表文章

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

[NLP]如何使用SpaCy語法依存器針對英文語句去建構關係樹

圖片
程式範例 主幹 chef → 主詞 prepared → 核心動詞 meal → 受詞 也就是: The chef prepared a meal. 修飾資訊 The 修飾 chef a 修飾 meal delicious 修飾 meal for the guests 補充這頓 meal 的對象/用途 第一段表格表頭定義 Word:目前這個詞 Dependency:它的依存關係類型 Head:它依附到哪個核心詞 Relation:它底下直接帶哪些子節點 第一句:The det chef [] The 是限定詞(det,determiner) 代表The 是用來限定 chef 的冠詞 第二句:chef nsubj prepared ['The'] chef 是 nsubj,也就是名詞主詞 它依附到 prepared 它的子節點有 The chef 是動詞 prepared 的主詞,而 The 又是 chef 的修飾詞。 第三句:prepared ROOT prepared ['chef', 'meal', '.'] prepared 是整句的 ROOT,代表這句話的核心動作是 prepared 它的子節點有: chef meal . 第四句:a det meal [] a 是限定詞 修飾 meal a 是 meal 的冠詞 第五句:delicious amod meal [] delicious 是 amod 也就是形容詞修飾名詞 它修飾 meal 第六句:meal dobj prepared ['a', 'delicious', 'for'] meal 是 dobj 也就是直接受詞 , prepared 的受詞是 meal 它依附到 prepared 它底下還有三個子節點: a delicious for 第七句:for prep meal ['guests'] for 是介系詞(prep) 它依附到 meal 子節點是 guests spaCy 這次的分析是把 for 掛在 meal 底下,也就是偏向把它看成: a delicious meal for the guests 第八句:the det guests [] the 是冠詞 修...

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...