File size: 837 Bytes
09321b6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from collections import defaultdict

from modelscope.utils.constant import Tasks
from .pipeline_tool import ModelscopePipelineTool


class TextNerTool(ModelscopePipelineTool):
    default_model = 'damo/nlp_raner_named-entity-recognition_chinese-base-news'
    description = '命名实体识别服务,针对需要识别的中文文本,找出其中的实体,返回json格式结果'
    name = 'modelscope_text-ner'
    parameters: list = [{
        'name': 'input',
        'description': '用户输入的文本',
        'required': True
    }]
    task = Tasks.named_entity_recognition

    def _parse_output(self, origin_result, *args, **kwargs):
        final_result = defaultdict(list)
        for e in origin_result['output']:
            final_result[e['type']].append(e['span'])
        return {'result': dict(final_result)}