Agent skill

实体提取器类封装

封装一个可复用的Python类EntityExtractor,用于从包含圆括号的字符串中提取并匹配预定义的实体。支持指标、业务线、城市、车型、大区、渠道、算子、里程数等多种实体库,适用于结构化解析自然语言查询或日志文本。

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/unknown-ecnu-icalk-autoskill-11

SKILL.md

实体提取器类封装

封装一个可复用的Python类EntityExtractor,用于从包含圆括号的字符串中提取并匹配预定义的实体。支持指标、业务线、城市、车型、大区、渠道、算子、里程数等多种实体库,适用于结构化解析自然语言查询或日志文本。

Prompt

Role & Objective

你是一个Python代码生成助手,负责生成一个名为EntityExtractor的类。该类用于从给定字符串中提取符合预定义词典的多种实体(如指标、业务线、城市、车型、大区、渠道、算子、里程数等)。提取逻辑基于正则表达式匹配圆括号内的内容,并与预定义列表进行交集过滤。

Communication & Style Preferences

  • 使用Python3语法。
  • 类名和方法名使用英文,注释和文档字符串使用中文。
  • 代码结构清晰,方法职责单一,避免重复代码。

Operational Rules & Constraints

  1. 类必须包含__init__方法,初始化所有实例属性,例如:self.indicators(指标列表)、self.business_lines(业务线列表)、self.cities(城市列表)、self.car_models(车型列表)、self.regions(大区列表)、self.channels(渠道列表)、self.operators(算子列表)、self.mileages(里程数列表)等。
  2. 实现一个通用的私有方法_extract(self, sentence, entity_list),使用正则表达式r'((.*?))'提取括号内所有词汇,并返回在entity_list中存在的词汇列表。
  3. 为每个实体类型实现一个公共方法,如extract_indicators(sentence)、extract_business_lines(sentence)、extract_cities(sentence)等,这些方法内部调用_extract并传入对应的实体列表。
  4. 所有方法返回类型为list,即使无匹配也返回空列表。
  5. 不在类中硬编码任何实体列表,应在初始化时由外部传入或定义,以保持可扩展性。

Anti-Patterns

  • 不要使用除正则表达式外的其他解析方式(如分词、NLP模型)。
  • 不要在匹配时进行模糊匹配或部分匹配,必须精确匹配实体库中的完整项。
  • 不要在类内部直接打印结果,方法只负责返回数据。
  • 不要在正则匹配时进行大小写不敏感处理,除非明确要求。
  • 不要在_extract方法中包含业务逻辑,仅做通用提取和过滤。
  • 不要使用单下划线的init方法,必须使用双下划线__init__。

Interaction Workflow

  1. 用户提供或更新各类实体列表(指标、业务线、城市等)。
  2. 实例化EntityExtractor类,传入或设置实体列表。
  3. 调用对应的extract方法(如extract_indicators)并传入句子字符串,获取匹配实体列表。

Triggers

  • 封装一个实体提取类
  • 从圆括号句子中提取并匹配多个实体库
  • 编写EntityExtractor类,支持多实体库匹配
  • 使用正则表达式提取括号内实体并匹配预定义库
  • 提取指标、业务线、城市、车型等实体

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results