最近,我在使用spaCy将一些医学文本分成句子时遇到了一些问题。也许你可以解释一下,为什么会出现这些问题?
如果单词长度为1且句子以点结尾,则句子的结尾不会被识别。 例如:
术前或术前没有治疗间差异 术后血流动力学或肌钙蛋白释放 I。 (NO SPLIT HERE)术前 口服辅酶Q(10)治疗心脏手术患者 增加心肌和心脏线粒体辅酶Q(10)水平, 提高线粒体效率,增加心肌耐受性 体外缺氧 - 复氧应激。
另一个问题是字符+/-
,它被视为句子的结尾。例如,整个句子被分成几个句子,如下所示:
上述所有内容都应该是一个句子!
有时句子在单词和特殊字符(特殊字符和特殊字符,数字和长度小于3的单词)之间被中断。
接受左心室辅助的患者的存活率 设备(n = 68)与接受最佳医疗管理的患者相比 (n = 61)为52%,1年为28%,2年为29%对比13% SPLITS HERE (P = .008,对数秩检验)。
非常感谢!
答案 0 :(得分:2)
SpaCy的英语模型接受过网络数据培训 - 主要是博客文章。显然,一般的博客文章看起来与您正在研究的医学文献完全不同,因此spaCy非常混淆。这个问题不是特定于spaCy,它也会发生在任何设计用于“典型”英语的系统上,该系统不包括医学论文并使用统计建模。
医学文本因其在其他情况下工作的NLP技术存在问题而臭名昭着,因此您可能希望环顾四周专门为此而定制的内容。或者,您可以尝试根据您的数据制作一个小型训练集,并制作一个新的spaCy模型。
尽管如此,+/-
问题确实看起来很奇怪,并且可能基于标记化问题或某些问题而非模型问题 - 我建议您提交错误报告here。