tatk.nlg.sclstm.crosswoz package

Submodules

tatk.nlg.sclstm.crosswoz.evaluate module

Evaluate NLG models on utterances of Multiwoz_zh test dataset Metric: dataset level BLEU-4, slot error rate Usage: python evaluate.py [usr|sys|all]

tatk.nlg.sclstm.crosswoz.evaluate.act2intent(dialog_act: list)
tatk.nlg.sclstm.crosswoz.evaluate.get_bleu4(dialog_acts, golden_utts, gen_utts, data_key)
tatk.nlg.sclstm.crosswoz.evaluate.get_err_slot(dialog_acts, gen_slots)
tatk.nlg.sclstm.crosswoz.evaluate.split_delex_sentence(sen)
tatk.nlg.sclstm.crosswoz.evaluate.value_replace(sentences, dialog_act)

tatk.nlg.sclstm.crosswoz.generate_resources module

tatk.nlg.sclstm.crosswoz.sc_lstm module

class tatk.nlg.sclstm.crosswoz.sc_lstm.SCLSTM(archive_file='/home/travis/build/thu-coai/tatk/tatk/nlg/sclstm/crosswoz/models/nlg-sclstm-multiwoz.zip', use_cuda=False, is_user=False, model_file='https://tatk-data.s3-ap-northeast-1.amazonaws.com/nlg_sclstm_multiwoz.zip')

Bases: tatk.nlg.nlg.NLG

__init__(archive_file='/home/travis/build/thu-coai/tatk/tatk/nlg/sclstm/crosswoz/models/nlg-sclstm-multiwoz.zip', use_cuda=False, is_user=False, model_file='https://tatk-data.s3-ap-northeast-1.amazonaws.com/nlg_sclstm_multiwoz.zip')

Initialize self. See help(type(self)) for accurate signature.

generate(meta)

Generate a natural language utterance conditioned on the dialog act.

Args:
action (list of list):

The dialog action produced by dialog policy module, which is in dialog act format.

Returns:
utterance (str):

A natural langauge utterance.

generate_delex(meta)
meta = [
[

“General”, “greet”, “none”, “none”

], [

“Request”, “景点”, “名称”, “”

], [

“Inform”, “景点”, “门票”, “免费”

]

]

generate_slots(meta)
tatk.nlg.sclstm.crosswoz.sc_lstm.parse(is_user)

tatk.nlg.sclstm.crosswoz.train module

tatk.nlg.sclstm.crosswoz.train.evaluate(config, dataset, model, data_type, beam_search, beam_size, batch_size)
tatk.nlg.sclstm.crosswoz.train.get_slot_error(dataset, gens, refs, sv_indexes)
Args:

gens: (batch_size, beam_size) refs: (batch_size,) sv: (batch_size,)

Returns:

count: accumulative slot error of a batch countPerGen: slot error for each sample

tatk.nlg.sclstm.crosswoz.train.interact(config, args)
tatk.nlg.sclstm.crosswoz.train.parse()
tatk.nlg.sclstm.crosswoz.train.read(config, args, mode)
tatk.nlg.sclstm.crosswoz.train.score(feat, gen, template)

feat = [‘d-a-s-v:Booking-Book-Day-1’, ‘d-a-s-v:Booking-Book-Name-1’, ‘d-a-s-v:Booking-Book-Name-2’] gen = ‘xxx slot-booking-book-name xxx slot-booking-book-time’

tatk.nlg.sclstm.crosswoz.train.str2bool(v)
tatk.nlg.sclstm.crosswoz.train.test(config, args)
tatk.nlg.sclstm.crosswoz.train.train(config, args)
tatk.nlg.sclstm.crosswoz.train.train_epoch(config, dataset, model)