自動寫詩 更新

2021-10-06 16:24:03 字數 2346 閱讀 6672

筆記:

嵌入層(embedding

layer)

通過乙個隱藏層,

將 one-hot 編碼的詞投影到乙個低維空間中,本質上是特徵提取器,在指定維度中編碼語義特徵。 這樣,

語義相近的詞, 它們的歐氏距離或余弦距離也比較近。(作者使用的單詞向量是預訓練的,方法為fasttext得到的單詞向量,當然也可以使用word2vec和glove方法訓練得到的單詞向量)。

使用tokenizer將文字轉換成數字特徵

使用keras的tokenizer模組實現轉換。當我們建立了乙個tokenizer物件後,使用該物件的fit_on_texts()函式,可以將輸入的文字中的每個詞編號,編號是根據詞頻的,詞頻越大,編號越小。使用word_index屬性可以看到每次詞對應的編碼

將每條文本轉換為數字列表 將資料集中的每條文本轉換為數字列表,使用每個詞的編號進行編號

使用該物件的texts_to_sequences()函式,將每條文本轉變成乙個向量。

np.r_是按列連線兩個矩陣,就是把兩矩陣上下相加,要求列數相等。

np.c_是按行連線兩個矩陣,就是把兩矩陣左右相加,要求行數相等。

strip():返回移除字串頭尾指定的字元生成的新字串

如果沒有說明移除什麼,則移除前後的空格。

str.strip(『0』)

str.replace(old,

new) 字串裡面新的換舊的

str.split(

str=

"",num=string.count(

str)

)

str是分隔符,沒有就是空格

num是分割的次數,分割成num+1段

open()函式開啟乙個檔案,建立乙個file物件

open

(name[

,mode[

, buffering]

])

引數說明:

name : 乙個包含了你要訪問的檔名稱的字串值。

mode : mode 決定了開啟檔案的模式:唯讀,寫入,追加等。所有可取值見如下的完全列表。這個引數是非強制的,預設檔案訪問模式為唯讀®。

buffering : 如果 buffering 的值被設為 0,就不會有寄存。如果 buffering 的值取 1,訪問檔案時會寄存行。如果將 buffering 的值設為大於 1 的整數,表明了這就是的寄存區的緩衝大小。如果取負值,寄存區的緩衝大小則為系統預設。

file

.read(

[size]

):size #未指定則返回整個檔案,如果檔案大小 >2 倍記憶體則有問題,f.read()讀到檔案尾時返回""(空字串)。

file

.readline(

):#返回一行。

file

.readlines(

[size]

) :#返回包含size行的列表, size 未指定則返回全部行。

for line in f:

print line :#通過迭代器訪問。

f.write(

"hello\n"

):#如果要寫入字串以外的資料,先將他轉換為字串。

f.tell(

):#返回乙個整數,表示當前檔案指標的位置(就是到檔案頭的位元數)。

f.seek(偏移量,

[起始位置]

):#用來移動檔案指標。

#偏移量: 單位為位元,可正可負

#起始位置: 0 - 檔案頭, 預設值; 1 - 當前位置; 2 - 檔案尾f

f.close(

)#關閉檔案

zip() #函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的物件,這樣做的好處是節約了不少的記憶體。

如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 * 號操作符,可以將元組解壓為列表。

python物件的賦值實際是物件的引用

copy.copy也是淺拷貝,與上述一樣

copy.deepcopy是深拷貝,相當於重新建立了。

深拷貝為np.copy。

zip函式接受任意多個(包括0個和1個)序列作為引數,返回乙個tuple列表。

Swust OJ 385 自動寫詩

time limit ms 5000 memory limit kb 65535 description 江油是李白故里。馬可波羅來到李白故里,突然詩性大發,準備吟詩兩句。眾所周知,詩句講究對仗。馬可波羅中文水平有限,所以想從已知的佳句中找出兩句對偶的,組合出一些新的詩句。為了簡化問題,小馬只選擇七...

機器學習自動寫詩 學習筆記

要先將字編碼成向量 要對之前的資訊有記憶 相同的輸入,寫詩,可能有不同的輸出。可以發現,輸入不止與當前輸入有關,還和之前的輸入有關。要有記憶!將隱藏層的啟用值利用 a0 0,初始值 0 上次輸入的不同,記憶值不同,使得現在相同的輸入可以得到不同的輸出。記憶值不斷相乘累加。w n 梯度 和梯度消失 w...

為你寫詩9

誰也不知道,明天是什麼樣的,因為我不知道,我們什麼時候會分開,所以,我希望在那一天到來之前,我能寫完我們的故事,把最後的禮物贈予你。謝謝你,這兩天照顧我的情緒,怕我想多了,怕我敏感,經常給我打 發訊息,我感受到了你的在乎,我心裡也有點安心了。我看出來了,你突然成熟了,冷靜下來後,我知道,你是因為壓力...