分兩部分做. 第一部分是無損文字壓縮, 第二部分是sentence level text summarization, 喚作有損文字壓縮. 這部分就放棄了, 估計做不出來, 沒必要庸人自擾.
不要對第二部分寄太高期望, 因為大概率完不成, 畢竟我對這一領域之前毫無接觸. 果然, 你個小辣雞.
實驗, 壓縮html, 利用rnn的對結構性語義的學習能力.
資訊理論. 要有數學的成分, 主要說明, 編碼與資訊熵. 介紹哈弗曼編碼, 理論計算用哈弗曼編碼對brown語料庫逐字元和逐詞壓縮的壓縮率. 介紹算數編碼. 說明算數編碼的優越性.
模組化算數編碼部分, 完全分離編碼和模型. 即編碼只負責按頻率區間劃分以及落在的區間進行編碼, 解碼就反過來, 按區間劃分與所落在的區間解碼. 做成api來呼叫. (是否用c++來完成會更好?即python 內嵌c++
ref2
ref3)
簡要綜述資料壓縮. 說明資料壓縮=編碼+模型. 然後說明, 編碼是已經解決的問題, 而模型更多是乙個ai problem. 參考老爺子的書
ppm. 用python復現乙個ppm來壓縮brown語料庫(or 整個語料庫, 這樣能和300m做對比233). 注意使用nltk中的自帶的函式, 用n-gram代替上文的說法, 用freqdist來做統計. (感覺複雜度要**)
引入文字**, lstm. 參考多方資料, 現有stanford一篇, 再看看cmix和paq8的做法, 這方面研究應該前人做透了. 做benchmark, 如壓一下enwiki8. 能做到state of art就美滋滋了.
似乎lstm是做context mixing的? **字元彷彿用的是rnn? 這裡是karpathy對rnn的說明, 以及他基於rnn的逐字元文字生成實現.
lstm的幾個實現
這個彷彿就是stanford那個傢伙...
cmix的實現, 竟然是手寫反向傳播...orz
關注sentence level text summarization.
兩方面, 一方面是傳統做法, 試圖對句子結構做分析, 採用已有標註的語料, 化簡句子結構.
另一方面是注意力模型的神經網路. 參考: 文字摘要-text summarization
當深度學習遇見自動文字摘要
自然語言處理
自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...
自然語言處理
前言 自然語言處理 natural language processing 是計算科學領域與人工智慧領域中的乙個重要方向。它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。自然語言處理是一門融語言學 電腦科學 數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言...
自然語言處理
一 字串操作 去空格及特殊符號 s hello,world 預設把左右空格去掉 print s.strip print s.lstrip hello,print s.rstrip 查詢字元 0 為未找到 sstr1 strchr sstr2 tr 找到返回目標子串開始下標 npos sstr1.in...