def learnFromUser(rule, temp): rule = mergeChineseSpace(unicode(rule, "utf8")).encode("utf8") temp = mergeChineseSpace(unicode(temp, "utf8")).encode("utf8") save(rule, temp)
<aiml version="1.0"> <meta name="author" content="autogen"/> <meta name="language" content="zh"/> {rules} </aiml> """ category_template = """ <category> <pattern>{pattern}</pattern> <template> {answer} </template> </category> """ #print sys.argv if len(sys.argv) == 3: _, rule, temp = sys.argv rule = mergeChineseSpace(unicode(rule, 'utf8')).encode('utf8') temp = mergeChineseSpace(unicode(temp, 'utf8')).encode('utf8') db[rule] = temp db.sync() rules = [] for r in db: rules.append(category_template.format(pattern=r, answer=db[r])) content = template.format(rules='\n'.join(rules)) with open("auto-gen.aiml", 'w') as fp: fp.write(content)
<meta name="author" content="autogen"/> <meta name="language" content="zh"/> {rules} </aiml> """ category_template = """ <category> <pattern>{pattern}</pattern> <template> {answer} </template> </category> """ #print sys.argv if len(sys.argv) == 3: _, rule, temp = sys.argv rule = mergeChineseSpace(unicode(rule, 'utf8')).encode('utf8') temp = mergeChineseSpace(unicode(temp, 'utf8')).encode('utf8') db[rule] = temp db.sync() rules = [] for r in db: rules.append(category_template.format(pattern=r, answer=db[r])) content = template.format(rules = '\n'.join(rules)) with open("auto-gen.aiml", 'w') as fp: fp.write(content)
category_template = """ <category> <pattern>{pattern}</pattern> <template> {answer} </template> </category> """ print(sys.argv) # TODO: need to rewrite ''' 因为是分词后的结果,并不一定是三个词 ''' if len(sys.argv) == 3: _, rule, temp = sys.argv print(_, rule, temp) rule = mergeChineseSpace(str(rule, 'utf8')) temp = mergeChineseSpace(str(temp, 'utf8')) print(_, rule, temp) db[rule] = temp db.sync() rules = [] for r in db: rules.append(category_template.format(pattern=r, answer=db[r])) content = template.format(rules='\n'.join(rules)) with open("auto-gen.aiml", 'w', encoding='utf-8') as fp: fp.write(content)
my_db="chatbot_my", my_set="aiml_rules", id_col="rid") # mongo.insert_request(doc={"rid": hash("明天去公园吗"), # "q": "明天去公园吗", # "a": "当然好啦"}) def refresh_rules(): all_rules = mongo.find_requests_by_status("all_") if len(all_rules) > 0: rules = [] for r in all_rules: rules.append( category_template.format(pattern=r["q"], answer=r["a"])) content = template.format(rules='\n'.join(rules)) with open("auto-gen.aiml", 'w') as fp: fp.write(content) if len(sys.argv) == 3: _, rule, temp = sys.argv rule = mergeChineseSpace(rule) temp = mergeChineseSpace(temp) mongo.insert_request({"q": rule, "a": temp, "rid": hash(rule)}) refresh_rules() elif len(sys.argv) == 2: if sys.argv[1] == "refresh": refresh_rules() print("refresh learned rules down!")
def learnFromUser(rule, temp): rule = mergeChineseSpace(unicode(rule, 'utf8')).encode("utf8") temp = mergeChineseSpace(unicode(temp, 'utf8')).encode("utf8") save(rule, temp)