提问人:Pied Pipetter 提问时间:2/20/2023 更新时间:2/20/2023 访问量:49
如何在 R 中从大型和复杂的 XML 文件中提取单个句子
How do I extract individual sentences from large and complex XML files in R
问:
我正在解析 FDA 药品标签,这些标签可通过 https://dailymed.nlm.nih.gov/dailymed/services/v2/spls/ 的 API 从 DailyMed 访问。
XML 中的示例标签如下:https://dailymed.nlm.nih.gov/dailymed/services/v2/spls/2d04c305-70d6-4a99-8c82-720c5398a46c.xml
我在 R 中的任务是在数千个这样的药品标签中找到某些关键字,并提取关键字周围的文本以进行进一步处理。如果我能得到包含关键字的单个句子,那将是理想的。
到目前为止,我的方法是将路径用于更高级别的感兴趣节点,并使用 xml_text()) 抓取文本。然后使用 str_split() 创建句子列表。
chunk_of_text <- xml_text()
list_of_sentences <- str_split(chunk_of_text, pattern=boundary(“句子”)
这很有效,除非句子之间的空格为零(例如,“句子一句子二”或“句子一。第二句。出现这种缺少空格问题的原因是 xml_text() 连接了所有内容,并且在部分标题、段落等之后经常缺少空格。我试过搜索“\.”并在str_split()之前替换为“\.”,但这会用小数点打破数字。
我看到的另一个选择是在不使用 xml_read() 的情况下解析 XML,以避免将所有文本组合在一起的串联。
这些 XML 标签确实具有预期的语法,但不同标签的语法不同。从字面上看,我必须寻找特定的标签才能接近,但关键字可能位于其下方的 XML 大块中的任何位置。
有没有办法从路径开始,并将该路径中的所有文本提取到列表或结构或单个字符串(用空格分隔)中?我不需要提取结构,甚至不需要理解它 - 我只需要单个句子中的所有文本(或标题短语等),然后我就可以对每个句子进行关键字搜索。
谢谢!
答: 暂无答案
评论
//subject/manufacturedProduct/manufacturedProduct/name[.="someName"]