给予:Bella Pharma Rosuvas 5 Enalapril 10 Domperidone 10 Ned's 24 by 7 PCM 650 Teneligliptin 5 ...
Get:(1,2,shop), (3,4,med), (5,6,med), (7,8,med), (9,12,shop), (13,14,med), ...
,即单词1和2表示商店名称,3和4表示药品名称,等等。
挑战:
.
或,
这样的标点符号,而且模式类似于SmmmmSmmSmSmmmmmmmmSmm。(S是商店,m是一种药的全名,如Rosuvas 5
或Amoxicillin Clavulanate
)文本是不符合语法的(只是两个人之间的听写记录)
spaCy en_core_web_lg和其他预构建NER不起作用(可能是因为商店名称和医药名称看起来都像是专有名词)。
此外,没有详尽的药品名称清单:同一种化学品以不同的品牌以不同的名称销售,有时可能不会给出重量/功率规格。
值得注意的是,化学名称的后缀不是*唑、*奈特、*ide、*ril等等,就是体重像650 or、10 not等--通常(但并非总是)与它们相关联。
我很惊讶人类(甚至是非药剂师)如何能够正确地标记大部分数据,我如何才能使用ML/DL库将这些数据贴上几乎和人类一样的标签?
作为初级SDE,我可以很好地编写代码(例如,将BIO标记转换为JSON风格的spacy输入),但以前从未使用过ML库。请将示例代码包含在答案或链接到相同的代码。
发布于 2022-11-15 10:00:11
NER需要文本上下文中的指示来检测实体,因此在这里不起作用也就不足为奇了。
我很惊讶人类(甚至非药剂师)如何能够正确地标注大部分数据。
关键当然在这里:您应该尝试了解人类是如何做的,他们使用哪些标记,这样您就可以将这些指示符编码为特性,以便预测类别。
我的猜测是,您可以依赖这种模式,只识别商店名称:一旦找到了店名,其余的就是药物。
https://datascience.stackexchange.com/questions/116130
复制相似问题