Files
modelscope/tests/pipelines/test_extractive_summarization.py

51 lines
44 KiB
Python
Raw Permalink Normal View History

# Copyright (c) Alibaba, Inc. and its affiliates.
import unittest
from typing import Any, Dict
from modelscope.outputs import OutputKeys
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from modelscope.utils.logger import get_logger
from modelscope.utils.test_utils import test_level
logger = get_logger()
2023-05-22 10:53:18 +08:00
class ExtractiveSummarizationTest(unittest.TestCase):
def setUp(self) -> None:
self.task = Tasks.extractive_summarization
ponet_doc_model_id = 'damo/nlp_ponet_extractive-summarization_doc-level_chinese-base'
ponet_topic_model_id = 'damo/nlp_ponet_extractive-summarization_topic-level_chinese-base'
sentences = '嗨吃晚饭了吗大家都哎。嗯。还没吃呢吃了。哎不好意思这么晚把大家叫过来商量个事儿啊下个月咱们学校要开个文艺晚会哎挺挺赶时间也挺赶的想把大家叫过来商量一下。没事儿。啊。对校长校长这人太不靠谱儿。嗯。咋了他。咋。每次都是这种大的活动之前他就出去他就出出出差什么之类。他可能想逃避讲话什么的。不懂每个学校都是这样儿的吗对。嗯可能有可能。每个学校的校长都是这样儿的吗每次讲的话还都是一样的他那。对说不定就这样儿呢。十分十分枯燥。唉领导就是忙那怎么办联系一下呗看他是有时间来一趟或者是录个小视频什么的是不是。肯定要让他回来呀他不回来这个文艺晚会举办不了的得要他发言。嗯。那就提前打电话联系一下。我可联系不上不知道你们谁能联系上。我觉得这个就交给你了比较好。行吧那我哪天去他办公室看看他吧。但是他肯定是要讲话什么的呀嗯是他肯定是要讲话那除了他还有谁能讲话呀一些。嗯那种院的什么辅导员啊或者什么。对。其实不止校长院长也可以安排一下。或者一些主一些主任什么都可以。院长也可以院长也可以主任也可以对。嗯。哎他们是在台上坐一排的那种吗台上坐一排那有点过分了吧。别别别那样大家都放不开啦。应该坐在台下吧。这毕竟大家还要表演嘛是不是。嗨不起来了。就舞台底下可以坐一排然后摆一些牌啊然后把他们叫什么都摆一下。对他。那我去。对让他们坐在第一排挺好。我觉得文艺晚会主要是学生看那领导那一排那挡住了怎么办。就充个场子样子。嗯。他们可能也不看啊就刚开始然后来然后演节目他们好像就走了。就是嗯就是看两眼吧出个面。那既然。既然这样儿咱们学生加上领导那是不是要再请些家长之类的。不但我们觉得还要商量一下就是这个领导座位的顺序就是谁该坐在中间还坐在边上什么的。那这个。我觉得领导可以最后出场。那。这个肯定校校长是最要坐在中间的呀。但刚开始不都是就是欢迎领导然后入场啊什么都放在开头。嗯。对领导们得先发言得先站到台上挨个儿过一遍。啊是。他还介绍一下都是谁。那是不那是不是太枯燥了一点。先得介先得先得介绍一下就是走流程嘛哎呀。就主持人肯定要介绍一下是哪个领导。那时间得缩短点不然那家伙那大伙都睡着了。嗯嗯。对就赶紧介绍然后赶紧就开始正式的一些活动。对啊那肯定的。对然后。可以可以。可以可以。那学生肯定辅导员也得来呗不然谁管得住他们啊。导员导员可以坐在学生学生每个班级的旁边对是可以是可以这个样子的。对可以站着管理一下纪律什么的。啊一个月一个月就是分开做然后辅导员坐边上。对对对。对对对对你们都你们学校都是这个样子的吗对嗯。唉都差不多吧应该。对对。嗯。嗯哦我说你们的高中啊高中都是这个样子的对吧对对然后。辅导员领导什么的都好了。就是人人有点不够吧。那在请点儿学生家长但又不能都请都请人忒多了。嗯可以可以。嗯。对也没地儿没也没人坐。那可以。做点儿邀请函做点儿邀请函给每个班级同学发过去然后看看谁谁家长能来谁就来。对。谁需要每个班级发一些就好了。每个班得还得固定一下人数。而我觉得这个邀请函一定要做的比较有新意一点儿就是做的比较能吸引大家。对每个班发发一点。做个海报算了做邀请函耗时耗时<EFBFBD>
def run_pipeline(self, model_id: str, documents: str) -> Dict[str, Any]:
p = pipeline(task=self.task, model=model_id)
result = p(documents=documents)
return result
2022-11-28 13:50:28 +08:00
@unittest.skipUnless(test_level() >= 2, 'skip test in current test level')
def test_run_with_doc(self):
logger.info(
'Run doc extractive summarization (PoNet) with one document ...')
result = self.run_pipeline(
model_id=self.ponet_doc_model_id, documents=self.sentences)
print(result[OutputKeys.TEXT])
2022-11-28 13:50:28 +08:00
@unittest.skipUnless(test_level() >= 2, 'skip test in current test level')
def test_run_with_topic(self):
logger.info(
'Run topic extractive summarization (PoNet) with one document ...')
result = self.run_pipeline(
model_id=self.ponet_topic_model_id, documents=self.sentences)
print(result[OutputKeys.TEXT])
if __name__ == '__main__':
unittest.main()