列表中复杂名词短语的空间分块及增广lis生成

2024-05-14 19:02:46 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我试着把描述职业的名词短语的“缩写”列表转换成那些名词短语的“完整”列表。应该是这样的:

示例(输入-->;输出):

  • 总经理和运营经理-->[总经理、运营经理]
  • 公共汽车和卡车机械师以及柴油发动机专家-->[公共汽车修理工、卡车修理工、柴油发动机专家]
  • 理赔师、评估师和审查员-->[索赔理算员、索赔估价师、索赔审查员]
  • 重型车辆和移动设备服务技术人员和机械师-->[重型车辆维修技师、重型车辆技师、移动设备维修技师、移动设备技师]

我尝试了一种严格的基于规则的方法,但这不符合我的喜好。 我也尝试过用spaCy进行简单的分块,但最初的结果也不完美

空间代码如下所示:

import spacy
nlp = spacy.load("en_core_web_sm")

def get_chunks(sentence):
    res = []

    doc = nlp(u'{}'.format(sentence))

    for np in doc.noun_chunks:
        res.append(np.text)

    return res

对于如上所述的精确输入,代码返回:

  • [“运营”,“经理”]
  • [“公共汽车和卡车机械师”,“柴油发动机专家”]
  • [‘理赔人’、‘评估人’、‘审查人’、‘调查人员’]
  • [“重型车辆”、“移动设备服务技术人员”、“机械师”]

我正在考虑从这里开始采用基于规则的方法,但也许有人有更好的建议

谢谢,干杯


Tags: gt列表res经理专家技术人员修理工车辆

热门问题