我正在寫一個文本微調器,它工作的很好,因爲它應該。但可讀語句的準確性很低,因爲它只是使用我從數據庫中獲得的字典。其返回spintax這樣使用樸素貝葉斯的文本微調器
{Your} {home| house| residence| property} {is} {your} {castle| mansion| fortress| palace}
並傳遞到它選擇隨機同義詞,基於所述用戶的原始輸入輸出語句的功能。例如,對於輸入:
Your home is your castle.
將返回
Your property is your mansion.
現在我想包括人工智能,因爲它會讓我的輸出語句更具可讀性。我想知道如何使用樸素貝葉斯做出更好的選擇。我知道我可能需要訓練以獲得更好的結果。
這是我目前選擇單詞的方法,現在非常簡單。
def spin(spintax):
while True:
word, n = re.subn('{([^{}]*)}',lambda m: random.choice(m.group(1).split("|")),spintax)
if n == 0: break
return word.strip()
謝謝你在前進,如果你們需要我張貼更多的代碼,讓我知道
謝謝你的建議,我會研究它。 –