def demo_classify(description): answer = ["", 0] #Указана БД классификатора, работаем используя лимит #Создаем объект классификатора f_cl = fisherclassifier(specfeatures) #Подключаем данные обучения f_cl.setdb(db_name) f_cl.loaddb() f_cl.unsetdb() row = dict() row['message_title'] = "" row['message_text'] = description msg = Msg() msg.message_id = uuid.uuid4().__str__() msg.cc_recipients = msg.cc_recipients_name = msg.sender_name = msg.sender = msg.message_title = msg.recipients = \ msg.recipients_name = "" msg.message_text = description msg.isclassified = 1 msg.notified = 1 msg.orig_date = datetime.datetime.now() msg.create_date = datetime.datetime.now() msg.category = "" try: cats = f_cl.classify_mr(row, default='0') print "Полный ответ классификатора: %s" % cats except Exception as e: print str(e) raise e for one in cats: if answer[1] <= float(one.values()[0]): answer[0] = one.keys()[0] answer[1] = float(one.values()[0]) msg.category = str(answer[0]) + "-" + str(answer[1]) print "Обработанный ответ классификатора: %s" % answer record = TrainAPIRecords() record.message_id = msg.message_id record.date = datetime.datetime.now() record.uuid = record_uid = uuid.uuid4().__str__() record.category = msg.category record.user_action = 0 record.user_answer = "" session = Session() try: session.add(msg) session.commit() except Exception as e: session.close() print "Ошибка записи MSG." + str(e) raise e else: print "Новый MSG записан." try: session.add(record) session.commit() except Exception as e: print "Ошибка записи TRAIN_API ." + str(e) raise e finally: session.close() return answer, record_uid
""" from operator import itemgetter import re import argparse import mod_classifier as cl import mysql.connector import math from configuration import * import sys reload(sys) sys.setdefaultencoding("utf-8") # Создаем объект классификатора f_cl = cl.fisherclassifier(cl.specfeatures) # Подключаем данные обучения f_cl.setdb("classifier") f_cl.loaddb() cat = f_cl.category_code minimums = f_cl.minimums for i in cat.keys(): print "Категория: ", cat[i], "(", i, ") : ", minimums[i] # Обучаем модель на тестовых данных из базы f_cl.sql_train()
Фильтрация и классификация текстов(документов), сообщений и т.д. """ from operator import itemgetter import re import argparse import mod_classifier as cl import mysql.connector import math from configuration import * import sys reload(sys) sys.setdefaultencoding("utf-8") # Создаем объект классификатора f_cl = cl.fisherclassifier(cl.specfeatures) # Подключаем данные обучения f_cl.setdb("classifier") f_cl.loaddb() cat = f_cl.category_code minimums = f_cl.minimums for i in cat.keys(): print "Категория: ", cat[i], "(", i, ") : ", minimums[i] # Обучаем модель на тестовых данных из базы f_cl.sql_train() # Закрываем соединение с БД