示例#1
0
def generator():
    #sched = scheduler.Scheduler()
    #sched.schedule()
    u = LoadUserData(conf_path)
    table, footer = readReplyTable.read(exec_path + "/common/replyTable.json")
    dbSession = model.startSession(u)
    if False:
        #if( sched.has_schedule() ):
        str = doSchedule(sched)
    else:
        rep = dbSession.query(model.RetQueue)
        if (rep.count() > 0):
            sentence, reply_id = reply.do(table, rep, dbSession)
        else:
            #try:
            # 予定もreplyもないならhotでも取り出してマルコフ連鎖する
            #    str,sl = CreateMarkovSentenceWithHot(dbSession)
            #except:
            #    print "Unexpected error:", sys.exc_info()[0]
            str, sl = vsearch.depthFirstSearch2("yystart", "yyend", 15)
            print_d(str)
            print_d(len(sl))
            asl = afterEffect(sl, footer)
            sentence = ""
            reply_id = -1
            for i in asl:
                sentence += i
        sendMessage(sentence, reply_id)
示例#2
0
def quickAnalyze():
    # dbからデータを読み込む
    u = LoadUserData(conf_path)
    dbSession = model.startSession(u)
    table, footer = readReplyTable.read(exec_path + "/common/replyTable.json")
    regexes = makeRegexes(table)
    
    # 前回の更新時間から現在までのデータを入手する
    q = dbSession.query(model.Tweet)
    tq = q.filter(model.Tweet.isAnalyze == 0)[:10000]
    for t in tq:
        #1発言毎
        t.text = RemoveCharacter(t.text)
        #print_d2(t.text)
        analyzeReply2(t,dbSession,table,regexes)
        t.isAnalyze = 1
        t_enc = t.text.encode(g_mecabencode,'ignore')
        sarray = mecab.sparse_all(t_enc,mecabPath).split("\n")
        sarray2 = connectUnderScore(sarray)
        markovWordList,topNWordList = TakeWordList(sarray)
        
        #最近出た名詞貯める
        for tn in topNWordList:
            hot = model.Hot()
            hot.word = unicode(tn,g_systemencode)
            dbSession.add(hot)
        dbSession.add(t)
        dbSession.commit()
示例#3
0
文件: generator.py 项目: showyou/anzu
def generator():
    #sched = scheduler.Scheduler()
    #sched.schedule()
    u = LoadUserData(conf_path)
    table, footer= readReplyTable.read(exec_path+"/common/replyTable.json")
    dbSession = model.startSession(u)
    if False:
    #if( sched.has_schedule() ):
        str = doSchedule(sched)
    else:
        rep = dbSession.query(model.RetQueue)
        if( rep.count() > 0 ):
            sentence, reply_id = reply.do(table, rep, dbSession)
        else:
            #try:
                # 予定もreplyもないならhotでも取り出してマルコフ連鎖する
            #    str,sl = CreateMarkovSentenceWithHot(dbSession)
            #except:
            #    print "Unexpected error:", sys.exc_info()[0]
            str,sl = vsearch.depthFirstSearch2("yystart","yyend",15)
            print_d(str)
            print_d(len(sl))
            asl = afterEffect(sl,footer)
            sentence = ""
            reply_id = -1
            for i in asl:
                sentence += i
        sendMessage(sentence, reply_id)
示例#4
0
def quickGenerate():
    #sched = scheduler.Scheduler()
    #sched.schedule()
    u = LoadUserData(conf_path)
    table, footer= readReplyTable.read(exec_path+"/common/replyTable.json")
    dbSession = model.startSession(u)
    if False:
        if( sched.has_schedule() ):
            str = doSchedule(sched)
    else:
        rep = dbSession.query(model.RetQueue)
        if( rep.count() > 0 ):
            str, reply_id = reply.do(table, rep,dbSession)
            sendMessage(str,reply_id)
示例#5
0
def quickGenerate():
    #sched = scheduler.Scheduler()
    #sched.schedule()
    u = LoadUserData(conf_path)
    table, footer= readReplyTable.read(exec_path+"/common/replyTable.json")
    dbSession = model.startSession(u)
    if False:
        if( sched.has_schedule() ):
            str = doSchedule(sched)
    else:
        rep = dbSession.query(model.RetQueue)
        if( rep.count() > 0 ):
            str, reply_id = reply.do(table, rep,dbSession)
            sendMessage(str,reply_id)