【发布时间】:2014-06-08 16:43:48
【问题描述】:
我正在尝试从文本中提取实体,并希望有一个简单的机制(直到我们部署 NLP 解决方案)来避免否定。例如: 我要找
患者有犬炎病史
但要避免
无犬瘟病史
也要避免
犬瘟的家族史
为此,我使用多个lookbehinds 使我的正则表达式看起来像这样:
((?<!(?i)no.{1,25}|denies.{1,35}|family.{1,35}|father.{1,10}|mother.{1,10})(?-i)${stringToMatch})
我尝试将 \b 添加到负面的lookbehind中,认为这会减少处理器将拥有的入口点,但这实际上使性能变得更糟。
问题是 - 这似乎表现得很糟糕。
【问题讨论】: