開始使用免費開始

帶情境地產生句子

在這個練習中,你將操作一個已訓練好的文字生成模型。環境中已載入 model 變數,以及 initialize_params()get_next_token() 這兩個函式。

後者會使用預訓練模型來預測下一個字元,並回傳三個變數:下一個字元 next_char、更新後的句子 res,以及位移後的文字 seq,用來預測下一個字元。

你將定義一個函式,輸入為一個預訓練模型和一段做為生成句子開頭的字串。這是帶入情境來生成文字的好做法。100 個字元的句子長度只是範例,你在實務中可以使用其他上限(甚至不設上限)。

本練習屬於課程

使用 Keras 建立語言模型的循環神經網路(RNN)

檢視課程

練習說明

  • 將變數 initial_text 傳入 initialize_params() 函式。
  • 建立條件:當計數器達到 100,或發現句點(r'.')時停止迴圈。
  • 將起始值 resseq 傳入 get_next_token() 函式以取得下一個字元。
  • 列印由你定義的函式所產生的示範句子。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

def generate_phrase(model, initial_text):
    # Initialize variables  
    res, seq, counter, next_char = initialize_params(____)
    
    # Loop until stop conditions are met
    while counter < ____ ____ next_char != r'.':
      	# Get next char using the model and append to the sentence
        next_char, res, seq = get_next_token(model, ____, ____)
        # Update the counter
        counter = counter + 1
    return res
  
# Create a phrase
print(____(model, "I am not insane, "))
編輯並執行程式碼