我想通过使用正则表达式搜索“吸烟”及其变体来搜索吸烟状况及其与医疗笔记文本的变体。
但有些纸条上写着“从不吸烟”、“否认吸烟”、“否认曾经使用烟草”等短语。这意味着他们不吸烟。
如何从正则表达式中排除这个短语?
目前,我的正则表达式如下所示:(?:吸烟|吸烟者|吸烟|香烟?|烟草)
它正在完美地搜索这些词,但正如我之前提到的,它还包括诸如“否认吸烟”之类的短语,这意味着患者不吸烟
您可以使用相同的正则表达式
\b(?:smoking|smoker|smoked|cigarette(s)?|tobacco)\b
并检查同一个句子在医学笔记中是否也包含“从不”、“不”或“否认”等单词。
我不确定这些纸条有多大,可能会有“不喝酒”之类的字条。是吸烟者还是类似的东西。如果它们是用句子写的,您可能需要使用
notes.split('.')
将医疗笔记分成单独的句子,然后检查每个句子。
即便如此,根据您拥有的数据量,使用正则表达式搜索单词可能并不可靠。如果您的笔记内容多种多样,那么最好使用 ChatGPT api 或其他 AI 来检查每个患者的医疗笔记并询问医疗笔记是否提及患者是否吸烟。