首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python从句子列表中提取特定的单词。这些词是医疗设备的一部分。

如何使用Python从句子列表中提取特定的单词。这些词是医疗设备的一部分。
EN

Stack Overflow用户
提问于 2020-08-12 14:17:39
回答 2查看 547关注 0票数 0

我想从句子列表中提取医疗设备部件的名字。这些句子是对支持请求所采取的记录行动,其中可能包括替换某个部分或承认某个部分处于不良状态。

这是例句-

  1. 发现两侧的一些设备部件不工作。
  2. 把问题缩小到一些设备部分。
  3. 需要更换一些设备部件。
  4. 协助排除故障,发现一些设备部件最有可能是坏的。
  5. 一些设备部件不会掉下来,会订购部分。

我想从上面的句子中提取“一些设备部分”。

我已经尝试过的东西--首先,我用情感分析来过滤句子。只考虑那些有负面情绪或有“替换”文本在其中。

  1. 使用NLTK,在定义语法= "NP:{++|+}“上使用RegexpParser标记POS之后
  2. 使用Spacy,词性标注和依赖之后,基于动词、名词关系- token.dep_和token.pos_ ==‘名词’的过滤

以上方法给了我很多毫无意义的输出。如果有什么可以帮忙的,请告诉我。

EN

回答 2

Stack Overflow用户

发布于 2020-08-12 14:49:07

听起来你会从命名实体识别(NER)中受益。我会好奇的是,SpaCy是否能够将它们作为产品实体来选择。

票数 0
EN

Stack Overflow用户

发布于 2020-08-13 14:50:24

您可能需要训练Spacy 命名实体识别将令牌标记为“医疗设备”。这样,您就可以解析文本并根据NER标签定位设备。

这将要求您使用指定的医疗设备实体生成一些培训数据。通过寻找产品实体,跳过这一步可能是可能的,但是您可能会错过实体,因为您的用例比一般产品的spacy被训练要检测的更具体。

一旦你训练好模型来识别新的医疗设备实体,你就可以通过

代码语言:javascript
复制
import spacy
nlp = spacy.load('en_core_medicalner')
doc = nlp('some text')

for token in doc:
  if token.label_ == 'Medical Equipment':
    print('token {} is Medical Equipment'.format(token.text))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63378487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档