2023-07-04 21:34:55 +08:00
|
|
|
|
from opencompass.openicl.icl_prompt_template import PromptTemplate
|
|
|
|
|
from opencompass.openicl.icl_retriever import ZeroRetriever
|
|
|
|
|
from opencompass.openicl.icl_inferencer import GenInferencer
|
|
|
|
|
from opencompass.openicl.icl_evaluator import AccEvaluator
|
|
|
|
|
from opencompass.datasets import TNewsDataset_V2
|
2023-07-06 12:27:41 +08:00
|
|
|
|
from opencompass.utils.text_postprocessors import first_capital_postprocess
|
2023-07-04 21:34:55 +08:00
|
|
|
|
|
|
|
|
|
tnews_reader_cfg = dict(
|
2024-05-14 15:35:58 +08:00
|
|
|
|
input_columns='sentence',
|
|
|
|
|
output_column='label_desc2',
|
2023-07-04 21:34:55 +08:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
tnews_labels = [
|
2024-05-14 15:35:58 +08:00
|
|
|
|
'农业新闻', # news_agriculture
|
|
|
|
|
'旅游新闻', # news_travel
|
|
|
|
|
'游戏新闻', # news_game
|
|
|
|
|
'科技类别公司新闻', # news_tech
|
|
|
|
|
'体育类别新闻', # news_sports
|
|
|
|
|
'初升高教育新闻', # news_edu
|
|
|
|
|
'娱乐圈新闻', # news_entertainment
|
|
|
|
|
'投资资讯', # news_finance
|
|
|
|
|
'军事类别常识', # news_military
|
|
|
|
|
'车辆新闻', # news_car
|
|
|
|
|
'楼市新闻', # news_house
|
|
|
|
|
'环球不含中国类别新闻', # news_world
|
|
|
|
|
'书籍文化历史类别新闻', # news_culture
|
|
|
|
|
'故事类别新闻', # news_story
|
|
|
|
|
'股票市场类别新闻', # news_stock
|
2023-07-04 21:34:55 +08:00
|
|
|
|
]
|
2024-05-14 15:35:58 +08:00
|
|
|
|
_tnews_options_list_str = '\n'.join(f'{chr(ord("A") + i)}. {tnews_labels[i]}'
|
2023-07-04 21:34:55 +08:00
|
|
|
|
for i in range(len(tnews_labels)))
|
2024-05-14 15:35:58 +08:00
|
|
|
|
_tnews_options_range_str = ','.join(f'“{chr(ord("A") + i)}”'
|
2023-07-04 21:34:55 +08:00
|
|
|
|
for i in range(len(tnews_labels)))
|
|
|
|
|
|
|
|
|
|
tnews_infer_cfg = dict(
|
|
|
|
|
prompt_template=dict(
|
|
|
|
|
type=PromptTemplate,
|
|
|
|
|
template=dict(round=[
|
|
|
|
|
dict(
|
2024-05-14 15:35:58 +08:00
|
|
|
|
role='HUMAN',
|
2023-07-04 21:34:55 +08:00
|
|
|
|
prompt=
|
2024-05-14 15:35:58 +08:00
|
|
|
|
f'{{sentence}}\n请判断上述内容属于什么新闻?\n{_tnews_options_list_str}\n请从{_tnews_options_range_str}中进行选择。\n答:',
|
2023-07-04 21:34:55 +08:00
|
|
|
|
),
|
|
|
|
|
]),
|
|
|
|
|
),
|
|
|
|
|
retriever=dict(type=ZeroRetriever),
|
|
|
|
|
inferencer=dict(type=GenInferencer),
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
tnews_eval_cfg = dict(
|
|
|
|
|
evaluator=dict(type=AccEvaluator),
|
2024-05-14 15:35:58 +08:00
|
|
|
|
pred_role='BOT',
|
2023-07-06 12:27:41 +08:00
|
|
|
|
pred_postprocessor=dict(type=first_capital_postprocess),
|
2023-07-04 21:34:55 +08:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
tnews_datasets = [
|
|
|
|
|
dict(
|
2024-05-14 15:35:58 +08:00
|
|
|
|
abbr='tnews-dev',
|
2023-07-04 21:34:55 +08:00
|
|
|
|
type=TNewsDataset_V2,
|
2024-05-14 15:35:58 +08:00
|
|
|
|
path='./data/FewCLUE/tnews/dev_few_all.json',
|
2023-07-04 21:34:55 +08:00
|
|
|
|
reader_cfg=tnews_reader_cfg,
|
|
|
|
|
infer_cfg=tnews_infer_cfg,
|
|
|
|
|
eval_cfg=tnews_eval_cfg,
|
|
|
|
|
),
|
|
|
|
|
dict(
|
2024-05-14 15:35:58 +08:00
|
|
|
|
abbr='tnews-test',
|
2023-07-04 21:34:55 +08:00
|
|
|
|
type=TNewsDataset_V2,
|
2024-05-14 15:35:58 +08:00
|
|
|
|
path='./data/FewCLUE/tnews/test_public.json',
|
2023-07-04 21:34:55 +08:00
|
|
|
|
reader_cfg=tnews_reader_cfg,
|
|
|
|
|
infer_cfg=tnews_infer_cfg,
|
|
|
|
|
eval_cfg=tnews_eval_cfg,
|
|
|
|
|
),
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
del _tnews_options_list_str, _tnews_options_range_str
|