def main(): if len(sys.argv) != 2: print "Usage:", sys.argv[0], " filename " print return file = sys.argv[1] bot = brain.Brain("brain.db") seg = WordSeg() for text in splitFile2Sentence(file): terms = seg.splitTerms(text) request = ' '.join(terms) print("QOS: %s" % request.encode("utf-8")) # get the answer response = bot.reply(request).encode("utf-8") print("BOT: %s" % response) # learn something new bot.learn(request) print("BOT: %s" % u'再见地球!')
def main(): if len(sys.argv) != 2: print "Usage:", sys.argv[0], " filename " print return file = sys.argv[1] bot = brain.Brain("brain.db") seg = WordSeg() for text in splitFile2Sentence(file): terms = seg.splitTerms(text) request = ' '.join(terms) print("QOS: %s" % request.encode("utf-8")); # get the answer response = bot.reply(request).encode("utf-8") print("BOT: %s" % response); # learn something new bot.learn(request) print("BOT: %s" % u'再见地球!');
def main(): #logging.basicConfig(level=logging.DEBUG) bot = brain.Brain("brain.db") seg = WordSeg() quits = [u'再见', u'拜拜', u'quit', u'byebye'] # it need word segmentation text = u"我说中文。" while True: if text in quits: break; terms = seg.splitTerms(text) request = ' '.join(terms) # get the answer response = bot.reply(request).encode("utf-8") print("BOT: %s" % response); # learn something new bot.learn(request) # next run let's input text = raw_input('QOS:').decode(sys.stdin.encoding) print("BOT: %s" % u'再见地球!');
def main(): #logging.basicConfig(level=logging.DEBUG) bot = brain.Brain("brain.db") seg = WordSeg() quits = [u'再见', u'拜拜', u'quit', u'byebye'] # it need word segmentation text = u"我说中文。" while True: if text in quits: break terms = seg.splitTerms(text) request = ' '.join(terms) # get the answer response = bot.reply(request).encode("utf-8") print("BOT: %s" % response) # learn something new bot.learn(request) # next run let's input text = raw_input('QOS:').decode(sys.stdin.encoding) print("BOT: %s" % u'再见地球!')
def __init__(self): self.wordseg = WordSeg(); self.tag_objs = list(); # mark tag objs # self.tag_objs.append(M()); self.tag_objs.append(C()); self.tag_objs.append(F()); self.tag_objs.append(X()); # extend tag objs # self.tag_objs.append(X1()); self.tag_objs.append(M1()); self.tag_objs.append(F1()); self.tag_objs.append(Z()); # calc tag obj # self.tag_objs.append(PM()); self.tag_objs.append(Calc());
class Mager: def __init__(self): self.wordseg = WordSeg(); self.tag_objs = list(); # mark tag objs # self.tag_objs.append(M()); self.tag_objs.append(C()); self.tag_objs.append(F()); self.tag_objs.append(X()); # extend tag objs # self.tag_objs.append(X1()); self.tag_objs.append(M1()); self.tag_objs.append(F1()); self.tag_objs.append(Z()); # calc tag obj # self.tag_objs.append(PM()); self.tag_objs.append(Calc()); def init(self,dtype): try: step = 1; dfiles = config.dfiles[dtype]; for obj in self.tag_objs: obj.load_data(dfiles[str(step)]); step = step + 1; except MyException as e: raise e; def encode(self,inlist): struct = collections.OrderedDict(); struct['text'] = inlist; struct['taglist'] = list(); try: struct['inlist'] = self.wordseg.tokens(inlist); for obj in self.tag_objs: obj.init(); obj.encode(struct); return struct; except MyException as e: res = common.get_dicstr(struct); res = e.value + '\n' +res; raise MyException(res); def deal_data(self,fname,action,data): try: for obj in self.tag_objs: ret = obj.deal_data(fname,action,data); if ret == common.PASS: continue; elif not ret is None: return ret; except MyException as e: raise e; def sp_deal(self,action,word): if self.wordseg is None: raise MyException('the word seg obj is none'); try: self.wordseg.deal_word(action,word); except MyException as e: raise e; def write_file(self): try: step = 1; dfiles = config.dfiles[config.dtype]; for obj in self.tag_objs: obj.write_file(dfiles[str(step)]); step = step + 1; self.wordseg.write_file(); except MyException as e: raise e;