执行命名实体识别-NLP

时间:2019-07-01 11:05:52

标签: python nlp fuzzywuzzy ner

我正在尝试学习如何执行命名实体识别。

我有一套出院总结,其中包含有关患者的医疗信息。我将非结构化数据转换为结构化数据。现在,我有一个DataFrame,看起来像这样:

Text                        |   Target
normal coronary arteries...     R060

Text列包含有关患者诊断的信息,而Target列包含在后续任务中需要预测的代码。

我还构建了一个像这样的字典:

Code (Key) | Term (Value)
A00          Cholera

此词典提供有关每个诊断和传入代码的信息。 term列将用于识别语料库中的临床实体。

我将需要训练一个分类器并预测代码,以使为放电摘要分配代码的过程自动化(我正在对此进行解释,以便对正在执行的任务有所了解)。

直到现在,我已将数据转换为结构化的数据。我试图了解如何执行命名实体识别来标记医学术语。我想尝试直接匹配和模糊匹配,但是我不确定前面的步骤是什么。我应该在之前执行标记化,词干化,词形化吗?还是首先我应该找到医学术语,因为临床命名实体通常是带有嵌套结构的多令牌术语,其中包含嵌套的其他命名实体?您还建议我在Python中使用哪些软件包或工具?

我在这个领域是新手,所以我们将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

如果您要构建分类模型,则应该进行深度学习。深度学习在分类中非常高效。

在处理此类语言处理任务时,建议您首先标记化文本并进行填充。基本的标记化就足够了,但是您可以进行更多的预处理,例如基本的字符串处理,因为适当的预处理可以将模型精度提高多达3%或4%。对于基本的字符串处理,可以在python中使用regex(称为re的内置包)。

https://docs.python.org/3/library/re.html

我认为,您正在预处理后进行映射。映射对于分类之类的任务应该足够了,但是我建议您学习单词嵌入。词嵌入将改善您的模型。

对于所有这些任务,我建议您使用tensorflow。 Tensorflow是著名的机器学习,语言处理,图像处理等工具。您可以从官方tensorflow文档中学习自然语言处理。他们在tensorflow教程部分中提供了所有学习材料。

https://www.tensorflow.org/tutorials/

我认为,这会对您有所帮助。祝您工作顺利!!!

谢谢。