我的名字是弗雷德里克,我不是专业的开发者,也不是母语为英语的人,所以请原谅我。
我实际上是一名医院内的临床医生,我对NLP的热情已经很长一段时间了。我目前正在为医学信息学中的MDPHD撰写论文,我的主题是关于患者文档的信息检索,以便更好地进行临床工作流程。
我有一个非常明确的文本预处理策略,后来通过Solr进行索引。我已经能够实现一个非常好的max-ent分类器!它实际上工作得很好,这是文本处理的其他步骤(我现在有点想在任何地方使用它,这感觉完全错误)。而且我需要你的洞察力来解释这一点。
医学文本的类型非常不同(专业咨询,手术文件,处方,笔记等)。但是,它们通常遵循非常通用的文本结构化规则。例如,入学表格总是以列表的形式显示有关体检的信息,以及叙述文本的几段。
我首先想要使用maxent分类器将文本块分类为主要标题(患者信息,纪律,物理,出院摘要,出院处方等)。这看起来很棒!但过了一段时间,我意识到分类中的大多数错误都来自于文本首先没有正确分割的事实,因此最大限度地无法正确地完成其工作。我在手动决策树的基础上进行段落分段,考虑到新的线条和间距,以及分离标记之前或之后的文本的一些特征(例如:标题通常是全部大写,你可以区分“真正的新线条“来自”装饰性新线“,前一段末尾有一段时间,下一段中有一首上面的第一个字母,等等......”。
嗯......这项任务的最大化也很有效。但现在我发现自己训练了第三个,因为它运作得很好,我现在想要将实际时期与其他时期(如数字或缩写)区分开来......还有破折号分类。
如果我自己听(并希望我不这样做),我会使用maxent进行几乎所有需要进行分类的文本处理任务。但由于许多原因似乎非常错误:培训时间,内存使用等......
那么请你给我一些建议:对于一系列使用maxent最有意义的任务,有没有我没有考虑的替代方案?
现在有问题的主要任务是:
抱歉这篇长篇文章。我认为没有代码对这个问题真的很有用,但如果可以帮助你帮助我,我可以放些代码;)
提前坦克,欢呼,