Пример #1
0
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(
Пример #2
0
 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'])
Пример #3
0
 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)
Пример #4
0
# https://github.com/Windsooon/cherry

import cherry
res = cherry.classify(model='news', text=['她们对计算机很有热情,也希望学习到数据分析,网络爬虫,人工智能等方面的知识,从而运用在她们工作上'])

print(res.word_list)

print('------返回结果分别对应 彩票 / 科技 / 财经 / 房产 / 社会 / 体育 / 娱乐 类别的概率---------')
print(res.probability)
Пример #5
0
    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
Пример #6
0
 def test_api_call_model_text(self, mock_classify):
     cherry.classify('foo', 'random text')
     mock_classify.assert_called_with(model='foo', text='random text')