декодер seq2seq LSTM предсказывает неправильные выходные данные - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь внедрить последовательное обучение для создания диалогового агента. У меня есть набор данных следующего представления:

*TEXT - User's utterance
-Text - System's utterance

Следовательно, я пытаюсь принять пользовательские высказывания в качестве входной последовательности и системные высказывания в качестве целевой последовательности для обучения моей сети. Фрагмент кода выглядит следующим образом:

for lines in range(0,num_samples):
    line = next(dataset)
    if '*' in line:
        _,text = line.split('* ')
        input_text = text.splitlines()
        input_texts.append(input_text)
        for char in text:
            if char not in input_intent_sv:
                input_intent_sv.add(char)
    elif ' - ' in line:
        special, text = line.split(' - ',1)
        target_text = f"-{text}"
        target_texts.append(target_text)      

        for char in text:
            if char not in target_intent_sv:
                target_intent_sv.add(char)
for sublist in input_texts:
    for item in sublist:
        flatten_input_texts.append(item)
for sublist in target_texts:
    for item in sublist:
        flatten_target_texts.append(item)

Во время декодирования я изменил символы начальной и конечной последовательности на '-' и '\ n' соответственно, так как я создал целевые последовательности таким образом.

Модель обучается, но она прогнозирует неверные результаты следующим образом:

-
Input sentence: ['Restaurant-Inform{"Price": "cheap", "Area": "north"}']
Decoded sentence: Restaurant-Inform{"Phone": "01223 356666", "Name": "the nicin", "Addr": "1220 01223 356666", "Name": "the nicin", "Addr": "122   ilg street chity centre", "Name": "the nicing ose", "Area": "centre", "Name": "t
-
Input sentence: ['Restaurant-Request{"Food": "?", "Addr": "?"}']
Decoded sentence: Restaurant-Inform{"Phone": "01223 356666", "Name": "the nicin", "Addr": "1220 01223 356666", "Name": "the nicin", "Addr": "122   ilg street chity centre", "Name": "the nicing ose", "Area": "centre", "Name": "t
-
Input sentence: ['general-thank']
Decoded sentence: Restaurant-Inform{"Phone": "01223 356666", "Name": "the nicin", "Addr": "1220 01223 356666", "Name": "the nicin", "Addr": "122   ilg street chity centre", "Name": "the nicing ose", "Area": "centre", "Name": "t
-
Input sentence: ['general-greet']
Decoded sentence: Restaurant-Inform{"Phone": "01223 356666", "Name": "the nicin", "Addr": "1220 01223 356666", "Name": "the nicin", "Addr": "122   ilg street chity centre", "Name": "the nicing ose", "Area": "centre", "Name": "t
-
Input sentence: ['Restaurant-Inform{"Food": "portuguese"}']
Decoded sentence: Restaurant-Inform{"Phone": "01223 356666", "Name": "the nicin", "Addr": "1220 01223 356666", "Name": "the nicin", "Addr": "122   ilg street chity centre", "Name": "the nicing ose", "Area": "centre", "Name": "t
-

Но ожидаемый результат примерно такой:

Input sentence: general-greet
decoded sentence: greet
Input sentence: Restaurant-Inform{"Name": "pizza hut city centre"}
Decoded sentence:general-reqmore
Decoded sentence:Restaurant-Inform{"Food": "italian", "Price": "cheap", "Area": "centre", "Addr": "regent street city centre", "Post": "cb21ab", "Phone": "01223323737"}
Input sentence: Restaurant-Inform{"Time": "19:45", "Day": "thursday", "People": "2"}
Decoded sentence:general-welcome
Decoded sentence:Booking-Book{"People": "2", "Day": "thursday", "Time": "19:45", "Ref": "f3k2pqzz"}
Input sentence: general-thank
Decoded sentence:general-welcome
Decoded sentence:general-reqmore
Input sequence: general-thank
Decoded sentence:general-bye
Decoded sentence:general-welcome

Я пыталсяизмените данные следующим образом, но он также прогнозирует тот же неправильный вывод:

* general-greet
 - greet
* Restaurant-Inform{"Name": "pizza hut city centre"}
 - Restaurant-Inform{"Food": "italian", "Price": "cheap", "Area": "centre", "Addr": "regent street city centre", "Post": "cb21ab", "Phone": "01223323737"}
* Restaurant-Inform{"Time": "19:45", "Day": "thursday", "People": "2"}
 - Booking-Book{"People": "2", "Day": "thursday", "Time": "19:45", "Ref": "f3k2pqzz"}
* general-thank
 - general-welcome
* general-thank
 - general-bye

Могу ли я получить помощь для решения этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...