import galbackend_online old_theme = 'movies' theme = {'100':old_theme} galbackend_online.InitLogging() galbackend_online.InitResource('v4') theme_new, strategy, response,previous_history_new,word2vec = galbackend_online.get_response('switch',1,'test', '100', {'100':['a']},theme) print theme
#!/usr/bin/etc python import galbackend_online import sys import socket import time #socket = None #sys.path.append("~/nltk_data") #target = galbackend.GalInterface() #print(target) #gt = galbackend.Thread(target=galbackend.GalInterface) galbackend_online.InitLogging() galbackend_online.InitResource('v2') oov_state =1 name_entity_state =1 #while(1): #galbackend.LaunchQueryDebug('can you say that again') #connection.send('ready') with open('eval_set.txt') as f: lines = f.readlines() f = open('eval_set_output','w') for line in lines: response = galbackend_online.get_response(line, 'user_id',oov_state,name_entity_state) f.write('User: '******'TickTock:' +response+'\n') f.write('\n')
import galbackend_online import sentiment galbackend_online.InitLogging() galbackend_online.InitResource('v4') while True: user_id = 'a' history = {user_id : ['aa','bb']} theme = {user_id: 'movies'} theme, strategy,utt,previous_history, word2vec = galbackend_online.get_response('joke',1,'joke_joke',user_id,history,theme) print utt sent = sentiment.get_sentiment(utt) print sent if sent not in ['pos','neg','neutral']: break
tfidf_state = 1 policy_mode = 1 user_list = [] theme = {} user_input = pickle.load(open('user_input_all.pkl')) conversation_id = 1000 print len(user_input) for line in user_input: commands.getstatusoutput("rm c.txt") turn_id = 1 name = 'simulated_conversations/' + str(conversation_id) + '.txt' f = open(name, 'w') while True: f.write('Turn: ' + str(turn_id) + '\n') theme, strategy, response, previous_history, word2vec = galbackend_online.get_response( policy_mode, line, name, previous_history, theme, oov_state, name_entity_state, short_answer_state, anaphra_state, word2vec_ranking_state, tfidf_state) if strategy == 'new': continue f.write('Alice: ' + line + '\n') f.write('TickTock:' + response + '\n') f.write('\n') # Here write the Alice response, send in response, get out line. cmd = '''curl -b c.txt -c c.txt -e sheepridge.pandorabots.com --data "input=hello" 'http://sheepridge.pandorabots.com/pandora/talk?botid=b69b8d517e345aba&skin=custom_input' 2>/dev/null | tail -n 1 '''.replace( 'hello', response) print 'cmd' print cmd output_all = commands.getstatusoutput(cmd) output = output_all[1] print output sentence = output.split('<br>')
from gensim import models, corpora import galbackend_online import sys import socket import time sampleRequest = 'You are a good person' galbackend_online.InitLogging() galbackend_online.InitResource('v3') response = galbackend_online.get_response(sampleRequest, '322', 0, 0, 0, tfidf_mode=1)
import galbackend_online old_theme = 'movies' theme = {'100': old_theme} galbackend_online.InitLogging() galbackend_online.InitResource('v4') theme_new, strategy, response, previous_history_new, word2vec = galbackend_online.get_response( 'switch', 1, 'test', '100', {'100': ['a']}, theme) print theme
def get_alternative_responses(): rs_preprocess.accumulate_responses() galbackend_online.InitLogging() galbackend_online.InitResource('v3') oov_state =1 name_entity_state =1 anaphra_state =1 short_answer_state=1 previous_history ={} word2vec_ranking_state =1 tfidf_state =1 user_list =[] theme = {} strategyDict = { 'continue' : (True, 0), 'switch' : (False, 0), 'end' : (False, 1), 'init' : (False, 2), 'joke' : (False, 3), 'more' : (False, 4), } conversations = [] logRoot = '/home/ubuntu/zhou/Backend/rating_log/' with open(logRoot + 'conversation_list.pickle', 'rb') as f: conversations = pickle.load(f) badResponses = [] for item in conversations: for response in item: if response['Appropriateness'] < 3: badResponses.append(response) testResponses = [] for response in badResponses: for k in strategyDict.keys(): if not k in response['Strategy']: try: theme, strategy, altered_response, previous_history, word2vec = galbackend_online.get_response( response['You'], "0", {"0" : response['PrevResp']}, {"0" : response['Theme']}, oov_state, name_entity_state, short_answer_state, anaphra_state, word2vec_ranking_state, tfidf_state, strategyDict[k]) alteredDict = {} for y in response.keys(): alteredDict[y] = response[y] alteredDict['TickTock'] = altered_response alteredDict['Strategy'] = [k] alteredDict['PrevResp'] = list(response['PrevResp']) response['PrevResp'] = response['PrevResp'][:-2] testResponses.append(alteredDict) except: pass tmpickle = open('test_responses.pickle', 'wb') pickle.dump(testResponses, tmpickle, pickle.HIGHEST_PROTOCOL) tmpickle.close() return testResponses
galbackend_online.InitLogging() galbackend_online.InitResource('v3') oov_state =1 name_entity_state =1 anaphra_state =1 short_answer_state=1 previous_history ={} word2vec_ranking_state =1 tfidf_state =1 user_list =[] theme = {} while True: serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Log('serversocket') serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) serversocket.bind(('localhost', 13112)) serversocket.listen(5) connection, address = serversocket.accept() #Log('connection established') print connection user_input = connection.recv(1024) print user_input user_id, user_input_real = user_input.split('|') print user_id print user_input_real theme, strategy,response,previous_history,word2vec = galbackend_online.get_response(user_input_real, user_id,previous_history,theme,oov_state,name_entity_state,short_answer_state,anaphra_state,word2vec_ranking_state,tfidf_state) connection.send(response + "|" + str(strategy)) print 'finish sending response' serversocket.close()
import time #socket = None #sys.path.append("~/nltk_data") #target = galbackend.GalInterface() #print(target) #gt = galbackend.Thread(target=galbackend.GalInterface) galbackend_online.InitLogging() galbackend_online.InitResource() #while(1): #galbackend.LaunchQueryDebug('can you say that again') #connection.send('ready') while True: serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Log('serversocket') serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) serversocket.bind(('localhost', 13111)) serversocket.listen(5) connection, address = serversocket.accept() #Log('connection established') print connection user_input = connection.recv(1024) print user_input user_id, user_input_real = user_input.split('|') print user_id print user_input_real response = galbackend_online.get_response(user_input_real, user_id) connection.send(response) print 'finish sending response' serversocket.close()
sent_2 = 'null' sent_1 = 'null' theme[str(conv_index)] = random.choice(TopicLib) previous_history[str(conv_index)] = ['Hello', tt_utt] for turn_id in range(1, 10): print turn_id al_utt = alice.alice(tt_utt) conv.append(al_utt) f.write('Turn: ' + str(turn_id) + '\n') f.write('You: ' + al_utt + '\n') next_sent_1 = sent_3 next_sent_2 = sentiment.get_sentiment(al_utt) state = (sent_1, sent_2, sent_3, turn_id) # here we see if we go into get_response, it happen to be in any of the five strategy, then we select one to excecute. otherwise we stick to the original strategy. theme_new, strategy, response, previous_history_new, word2vec = galbackend_online.get_response( None, policy_mode, al_utt, str(conv_index), previous_history, theme, oov_state, name_entity_state, short_answer_state, anaphra_state, word2vec_ranking_state, tfidf_state) previous_history[str(conv_index)].pop() previous_history[str(conv_index)].pop() if strategy[-1] in action_list_pass: utt_real = response conv.append(utt_real) next_sent_3 = sentiment.get_sentiment(utt_real) q_value = 1000 action_selected = strategy else: #action selection portion if random.random() < epsilon: action_selected = random.choice(action_list) else: q_value = q_table[(state, action)]
import socket import time #socket = None #sys.path.append("~/nltk_data") #target = galbackend.GalInterface() #print(target) #gt = galbackend.Thread(target=galbackend.GalInterface) galbackend_online.InitLogging() galbackend_online.InitResource() #while(1): #galbackend.LaunchQueryDebug('can you say that again') #connection.send('ready') while True: serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Log('serversocket') serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) serversocket.bind(('localhost', 13111)) serversocket.listen(5) connection, address = serversocket.accept() #Log('connection established') print connection user_input = connection.recv(1024) print user_input user_id, user_input_real = user_input.split('|') print user_id print user_input_real response = galbackend_online.get_response(user_input_real, user_id) connection.send(response) print 'finish sending response' serversocket.close()
import socket import time #socket = None #sys.path.append("~/nltk_data") #target = galbackend.GalInterface() #print(target) #gt = galbackend.Thread(target=galbackend.GalInterface) galbackend_online.InitLogging() galbackend_online.InitResource('v3') oov_state =1 name_entity_state =1 anaphra_state =1 short_answer_state=1 previous_history ={} word2vec_ranking_state =0 theme = {} f = open('eval_talk_out.txt','w') turn_id = 1 line = 'Hello' while True: f.write('Turn: ' + str(turn_id) + '\n') theme, strategy, response,previous_history,word2vec = galbackend_online.get_response( line, 'user_id',previous_history,theme, oov_state,name_entity_state,short_answer_state,anaphra_state,word2vec_ranking_state,1) f.write('User: '******'\n') f.write('TickTock:' +response+'\n') f.write('\n') theme, strategy, line,previous_history,word2vec = galbackend_online.get_response( response, 'user_id',previous_history,theme, oov_state,name_entity_state,short_answer_state,anaphra_state,0,1) turn_id = turn_id +1 if turn_id > 20: break
from gensim import models, corpora import galbackend_online import sys import socket import time sampleRequest = 'You are a good person' galbackend_online.InitLogging() galbackend_online.InitResource('v3') response = galbackend_online.get_response(sampleRequest, '322',0,0,0, tfidf_mode=1)
word2vec_ranking_state = 0 tfidf_state = 1 #while(1): #galbackend.LaunchQueryDebug('can you say that again') #connection.send('ready') f = open('user_input_v2_revise.txt', 'w') with open('user_input_v2.pkl') as ff: user_input = pickle.load(ff) turn_number = 1 trigger = [] for turn in user_input: print turn question = turn['question'] answer = turn['answer'] app_value = turn['app_value'] strategy, response, previous_history = galbackend_online.get_response( question, 'user_id', previous_history, oov_state, name_entity_state, short_answer_state, word2vec_ranking_state, anaphra_state, tfidf_state) if 'oov' is 'oov': f.write('Turn: ' + str(turn_number) + '\n') f.write('User: '******'\n') f.write('TickTock: ' + response + '\n') f.write('Strategy: ' + str(strategy) + '\n') f.write('TickTock_old: ' + answer + '\n') f.write('Appropriateness_score: ' + app_value + '\n') f.write('\n') trigger = trigger + [item for item in strategy] turn_number = turn_number + 1 hist_trigger = Counter(trigger) print hist_trigger
galbackend_online.InitResource('v3') oov_state =1 name_entity_state =1 anaphra_state =1 short_answer_state=1 previous_history ={} word2vec_ranking_state =0 tfidf_state =1 #while(1): #galbackend.LaunchQueryDebug('can you say that again') #connection.send('ready') while True: serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Log('serversocket') serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) serversocket.bind(('localhost', 13112)) serversocket.listen(5) connection, address = serversocket.accept() #Log('connection established') print connection user_input = connection.recv(1024) print user_input user_id, user_input_real = user_input.split('|') print user_id print user_input_real strategy,response,previous_history, word2vec = galbackend_online.get_response(user_input_real, user_id,previous_history,oov_state,name_entity_state,short_answer_state,word2vec_ranking_state,anaphra_state,tfidf_state) connection.send(response) print 'finish sending response' serversocket.close()
short_answer_state=1 previous_history ={} word2vec_ranking_state =0 tfidf_state =1 #while(1): #galbackend.LaunchQueryDebug('can you say that again') #connection.send('ready') f = open('user_input_v2_revise.txt','w') with open('user_input_v2.pkl') as ff: user_input = pickle.load(ff) turn_number =1 trigger = [] for turn in user_input: print turn question = turn['question'] answer = turn['answer'] app_value = turn['app_value'] strategy, response,previous_history = galbackend_online.get_response(question, 'user_id',previous_history,oov_state,name_entity_state,short_answer_state,word2vec_ranking_state,anaphra_state,tfidf_state) if 'oov' is 'oov': f.write('Turn: ' + str(turn_number)+'\n' ) f.write('User: '******'\n') f.write('TickTock: ' +response+'\n') f.write('Strategy: ' + str(strategy) +'\n') f.write('TickTock_old: ' + answer +'\n' ) f.write('Appropriateness_score: ' +app_value +'\n') f.write('\n') trigger = trigger + [item for item in strategy] turn_number = turn_number +1 hist_trigger = Counter(trigger) print hist_trigger
galbackend_online.InitLogging() galbackend_online.InitResource('v3') oov_state =1 name_entity_state =1 anaphra_state =1 short_answer_state=1 previous_history ={} word2vec_ranking_state =0 theme = {} f = open('eval_ticktock_alice.txt','w') turn_id = 1 line = 'Hello' commands.getstatusoutput("rm c.txt") while True: f.write('Turn: ' + str(turn_id) + '\n') theme, strategy, response,previous_history,word2vec = galbackend_online.get_response( line, 'user_id',previous_history,theme, oov_state,name_entity_state,short_answer_state,anaphra_state,word2vec_ranking_state,1) f.write('Alice: '+line + '\n') f.write('TickTock:' +response+'\n') f.write('\n') # Here write the Alice response, send in response, get out line. cmd = '''curl -b c.txt -c c.txt -e sheepridge.pandorabots.com --data "input=hello" 'http://sheepridge.pandorabots.com/pandora/talk?botid=b69b8d517e345aba&skin=custom_input' 2>/dev/null | tail -n 1 '''.replace('hello',response) print 'cmd' print cmd output_all = commands.getstatusoutput(cmd) output = output_all[1] print output sentence = output.split('<br>') print 'sentence' print sentence line = sentence[-1][10:] print 'line'
sent_3 = sentiment.get_sentiment(tt_utt) sent_2 = 'null' sent_1 = 'null' theme[str(conv_index)] = random.choice(TopicLib) previous_history[str(conv_index)] = ['Hello',tt_utt] for turn_id in range(1,10): print turn_id al_utt = alice.alice(tt_utt) conv.append(al_utt) f.write('Turn: ' + str(turn_id) +'\n') f.write('You: ' + al_utt+'\n') next_sent_1 = sent_3 next_sent_2 = sentiment.get_sentiment(al_utt) state = (sent_1,sent_2,sent_3,turn_id) # here we see if we go into get_response, it happen to be in any of the five strategy, then we select one to excecute. otherwise we stick to the original strategy. theme_new, strategy, response,previous_history_new,word2vec = galbackend_online.get_response( None,policy_mode,al_utt, str(conv_index) ,previous_history,theme, oov_state,name_entity_state,short_answer_state,anaphra_state,word2vec_ranking_state,tfidf_state) previous_history[str(conv_index)].pop() previous_history[str(conv_index)].pop() if strategy[-1] in action_list_pass: utt_real = response conv.append(utt_real) next_sent_3 = sentiment.get_sentiment(utt_real) q_value = 1000 action_selected = strategy else: #action selection portion if random.random()<epsilon: action_selected = random.choice(action_list) else: q_value = q_table[(state,action)] q_list =[]
#!/usr/bin/etc python import galbackend_online import sys import socket import time #socket = None #sys.path.append("~/nltk_data") #target = galbackend.GalInterface() #print(target) #gt = galbackend.Thread(target=galbackend.GalInterface) galbackend_online.InitLogging() galbackend_online.InitResource('v2') oov_state = 1 name_entity_state = 1 #while(1): #galbackend.LaunchQueryDebug('can you say that again') #connection.send('ready') with open('eval_set.txt') as f: lines = f.readlines() f = open('eval_set_output', 'w') for line in lines: response = galbackend_online.get_response(line, 'user_id', oov_state, name_entity_state) f.write('User: '******'TickTock:' + response + '\n') f.write('\n')