Python 如何使用未标记的数据集进行序列标记

Python 如何使用未标记的数据集进行序列标记,python,machine-learning,nlp,nltk,Python,Machine Learning,Nlp,Nltk,我有1000个文本文件,其中包含患者出院总结 样本1 患者于1999年2月21日入院。他当时似乎得了肺炎 所以我们根据经验对他进行了社区获得性肺炎的治疗 头孢曲松和阿奇霉素,直到第2天,他的血液培养增长 我们发现链球菌肺炎是泛敏感的,所以我们停止了试验 头孢曲松和阿奇霉素完成5天疗程。但是在第四天 他得了腹泻,所以我们加了flagyl来预防c.diff,这 在第6天,他确实恢复了阳性,所以他还需要3天……”这个 可以更简洁地概括如下:“完成5天课程 阿奇霉素治疗泛敏感链球菌肺炎的临床研究 并发c

我有1000个文本文件,其中包含患者出院总结

样本1

患者于1999年2月21日入院。他当时似乎得了肺炎 所以我们根据经验对他进行了社区获得性肺炎的治疗 头孢曲松和阿奇霉素,直到第2天,他的血液培养增长 我们发现链球菌肺炎是泛敏感的,所以我们停止了试验 头孢曲松和阿奇霉素完成5天疗程。但是在第四天 他得了腹泻,所以我们加了flagyl来预防c.diff,这 在第6天,他确实恢复了阳性,所以他还需要3天……”这个 可以更简洁地概括如下:“完成5天课程 阿奇霉素治疗泛敏感链球菌肺炎的临床研究 并发c.diff结肠炎。目前在flagyl和 c、 9月21日差分负片

样本2

患者为56岁女性,既往有中风史;高血压; 慢性阻塞性肺病,稳定;肾癌;术后表现 摔倒并可能晕厥。走路时,她不小心摔倒在地 她的膝盖和头撞在了地上,靠近她的左眼 未观察到跌倒,但患者未表示有任何疼痛 意识,回忆整个事件。患者确实有 以往跌倒史,其中一次导致髋部骨折。 她接受了物理治疗,完全康复了。 初步检查显示左眼周围有瘀伤,肺部正常 检查,心脏检查正常,神经功能正常 基线检查时,她的左臂活动度降低。患者 入院评估她的跌倒情况,排除晕厥和 她可能有中风病史

我还有一个csv文件,它是1000行X 5列。每行都有手动输入的每个文本文件的信息。 例如,对于上述两个文件,有人在csv文件中手动输入了这些记录:

Sex, Primary Disease,Age, Date of admission,Other complications
M,Pneumonia, NA, 21/02/99, Diarhhea
F,(Hypertension,stroke), 56, NA, NA
我的问题是:

  • 如何表示使用文本信息:标签到机器学习算法

  • 我是否需要在所有1000个文本文件的感兴趣区域周围进行一些手动标记

  • 如果是,则如何使用以及使用哪种方法。(例如,1999年2月21日接受了
    56岁


    因此,基本上我该如何使用这个文本:标签数据来自动填充标签。

    恐怕填补空白的算法还没有发明出来。如果空白是强相关的,或者有某种因果关系,你可能可以用某种贝叶斯模型对其进行建模。尽管你拥有的数据量很大,这还是比较好的这是不可能的

    现在,从更实际的角度来看,您可以采取两种方法:

  • 将该问题视为文档级任务,在这种情况下,您只需获取带有标签的所有行并对其进行训练,然后推断其余行的标签/值。您应该查看Naïve Bayes、多类SVM、MaxEnt等的分类列和预测数值的线性回归
  • 将问题视为信息提取任务,在这种情况下,您必须在文本中添加您提到的注释并训练序列模型。您应该了解CRF、结构化SVM、HMM等。实际上,您可以了解一些使多类分类器适应序列标签任务的系统,例如用于词性标记的SVMTool(可适用于大多数序列标记任务)
  • 现在,关于这些问题,您将面临。在
    1.
    中,您不太可能使用任何算法预测记录日期。可能可以粗略预测患者年龄,因为这通常与疾病等相关。您甚至不太可能设置疾病栏n作为实体提取任务

    如果我必须解决您的问题,我可能会选择方法
    2.
    ,这是一种正确的方法,但可能也是一项相当大的工作。在这种情况下,您需要自己创建标记注释。一个很好的起点是一个名为勒夫


    你想要达到的目标似乎很多,尤其是1000条记录。我认为(取决于你的数据)您最好使用现成的产品,而不是自己构建。有一些开源和商业产品可能可以使用——它们有一个API,并且是用于临床实体提取的最先进的开源工具。

    恐怕填补这些空白的算法还没有发明出来。如果这些空白是或者相关,或者有某种因果关系,你可以用某种贝叶斯模型来建模,但是有了大量的数据,这几乎是不可能的

    现在,从更实际的角度来看,您可以采取两种方法:

  • 将该问题视为文档级任务,在这种情况下,您只需获取带有标签的所有行并对其进行训练,然后推断其余行的标签/值。您应该查看Naïve Bayes、多类SVM、MaxEnt等的分类列和预测数值的线性回归
  • 将问题视为信息提取任务,在这种情况下,您必须在文本中添加您提到的注释并训练序列模型。您应该了解CRF、结构化SVM、HMM等。实际上,您可以了解一些使多类分类器适应序列标签任务的系统,例如用于词性标记的SVMTool(可适用于大多数序列标记任务)
  • 现在,关于这些问题,您将面临。在
    1.
    中,您不太可能使用任何算法预测记录日期。可能可以粗略预测患者年龄,因为这通常与