import cherry #通过文本传入 #模型所有数据以及生成的缓存都会存放在此文件夹中(运行后生成trained.pkl, ve.pkl) cherry.train( model='/home/csm/PycharmProjects/chery_demo/bytxt_demo/data/your_folder') #训练后 res = cherry.classify( model='/home/csm/PycharmProjects/chery_demo/bytxt_demo/data/your_folder', text=['她们对计算机很有热情,也希望学习到数据分析,网络爬虫,人工智能等方面的知识,从而运用在她们工作上']) print(res.word_list) #概率 print(res.probability) #数据通过参数传入 x_data = [ '第七届世界军人运动会将于10月18日在中国武汉开幕,为期10天,共设置有射击、游泳、田径和篮球等27个大项、329个小项的比赛项目,届时将有来自100多个国家的近万名现役军人同台竞技。这次军运会是中国首次承办类似的综合性国际军事赛事,也是我国继北京奥运会后举办的规模最大的国际体育盛会。但与奥运会不同的是,军运会却一般不太为人所知。那本期《出鞘》就来谈谈那些军运会的故事。', '中华中医药学会中药基础理论分会首届副主任委员、广州中医药大学第一附属医院内科蓝森麟教授介绍,煮熟的莲藕健脾开胃,这个时节适当煲一道“藕山菇栗两脚汤”还有助于御秋燥', '飞行,在一个城市短暂停留,在午夜做一场美妙的演出,短暂的休息,周而复始。这就是一个国际DJ最近的生活节奏。父母出生于摩洛哥,R3HAB在荷兰被抚养长大,并长期定居于欧洲和美国。现在,他已经成为中国最顶尖及最受欢迎的电子舞曲DJ。在2018年,在DJ Mag的百大DJ评选中,他获得了第十二名', '互联网技术是指在计算机技术的基础上开发建立的一种信息技术 [1] 。互联网技术通过计算机网络的广域网使不同的设备相互连接,加快信息的传输速度和拓宽信息的获取渠道,促进各种不同的软件应用的开发,改变了人们的生活和学习方式。互联网技术的普遍应用,是进入信息社会的标志', '2019年10月17日,庆祝人民空军成立70周年航空开放活动在吉林长春盛大开幕,当天的活动中,来自空军多支飞行表演队和多款现役主力飞机纷纷亮相,以一场精彩的视听盛宴将现场的氛围推向了高潮,完美展现了人民空军的强大实力,也为人民空军成立70周年庆典献上了最美好的祝福', '此次歼-20打开的是侧弹仓,由于歼-20的侧弹仓采用了独特的旋转式伸缩结构的导弹挂架,其导弹挂架在伸出去之后,侧翼弹仓可以被关闭。于是我们看到了飞行中的歼-20关闭弹仓,但霹雳-10空空导弹却暴露在外的奇特景象', '这道汤汤性平和滋润,味道鲜美,有健脾益气、润肺化痰等作用,适宜于一般人群食用,有助御秋燥', '中医认为,秋季失眠,大多是夏天高温炎热,耗伤心气,到了秋天,变成秋乏,心神不宁,出现失眠多梦,难以入睡的现象。另外,自古逢秋悲寂寥,秋天万物萧条,人们容易产生抑郁情绪,因而引发失眠', '新浪娱乐讯 10月18日,有媒体曝光了刘诗诗与朱一龙一起拍摄《亲爱的自己》的路透图,当天刘诗诗一身修身浅色风衣现身片场,复工后的刘诗诗状态非常好', '恋爱中的郑爽又哭了,10月17日的某综艺中,因为备战生日会而压力爆棚,心智原本就不够成熟的她面对男友张恒的不解风情委屈的独自洒泪,这个画面再度引来隔空观望的郑爸爸满面愁容', '第一个检索互联网的成就是在1989年发明出来,是由PeterDeutsch和他的全体成员在Montreal的McGillUniversity创造的,他们为FTP站点建立了一个档案,后来命名为Archie。这个软件能周期性地到达所有开放的文件下载站点,列出他们的文件并且建立一个可以检索的软件索引。检索Archie命令是UNIX命令,所以只有利用UNIX知识才能充分利用他的性能', '是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫' ] #自定义分类 y_data = [0, 1, 2, 3, 0, 0, 1, 1, 2, 2, 3, 3] cherry.train(
def test_classify_api(self, mock_classify): cherry.classify(['random string'], model='harmful') mock_classify.assert_called_once_with(N=20, model='harmful', text=['random string'])
def test_classify_api(self, mock_classify): cherry.classify(model=self.model, text=self.text) mock_classify.assert_called_once_with(model=self.model, text=self.text)
# https://github.com/Windsooon/cherry import cherry res = cherry.classify(model='news', text=['她们对计算机很有热情,也希望学习到数据分析,网络爬虫,人工智能等方面的知识,从而运用在她们工作上']) print(res.word_list) print('------返回结果分别对应 彩票 / 科技 / 财经 / 房产 / 社会 / 体育 / 娱乐 类别的概率---------') print(res.probability)
def predict(self, text_data, title, logger=None, needLocation=False, placeai_addition='n', add_var_1=0, add_var_2=0, add_var_3=0, fr="f"): dic = {} dic['model'] = title dic['kind'] = self.ai_kind dic['mr'] = [] #============= overload 自动抛弃 i = 0 while self.ok == False: i += 1 if i < self.overload_par['wait_num_1']: time.sleep(self.overload_par['wait_time_1']) elif i < (self.overload_par['wait_num_2'] + self.overload_par['wait_num_1'] ) and i >= self.overload_par['wait_num_1']: time.sleep(self.overload_par['wait_time_2']) else: dic['!error'] = "overload" dic['code'] = '-1' dic['error'] = 'overload' dic['error_mes'] = "overload {}".format( time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime(time.time()))) return dic self.ok = False #================================== try: # 将获得的文本全部转化为简体 text_data = self.fan2jian(text_data) cate_label = self.kind_book[np.argmax( cherry.classify(model='harmful', text=[text_data]).probability[0])] if cate_label == "normal": dic['code'] = '0' else: dic['code'] = '1' subdic = {} subdic['class'] = cate_label dic['mr'].append(subdic) self.ok = True return dic except (Exception) as e: self.ok = True exstr = traceback.format_exc() # logger.error("game_screen_predict_error " + exstr) dic['!error'] = exstr dic['code'] = '-1' dic['error'] = 'exception' dic['error_mes'] = 'fnlp error at:{}'.format( time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime(time.time()))) return dic
def test_api_call_model_text(self, mock_classify): cherry.classify('foo', 'random text') mock_classify.assert_called_with(model='foo', text='random text')