#提取 #文本 #字符串相似度 #NLP #搜索算法 #药物

bin+lib drug-extraction-cli

用于从文本记录中提取药物的命令行界面

6 个版本 (2 个稳定版本)

1.3.0 2024年4月24日
1.0.0 2023年5月30日
0.1.3 2022年8月4日
0.1.1 2022年6月6日
0.1.0 2022年4月26日

637解析实现 中排名

Download history 103/week @ 2024-04-20 13/week @ 2024-04-27 1/week @ 2024-05-04 4/week @ 2024-06-29 28/week @ 2024-07-06 72/week @ 2024-07-27

每月 101 次下载

MIT 许可证

30KB
530 代码行

logo

药物提取 CLI

演示

demo-gif

描述

此应用程序从 CSV 文件中读取,并从另一个 CSV 文件中解析文本记录,以检测和提取搜索词提及,使用字符串相似度算法来处理常见的拼写错误。它以我们在 IPOP 最常用的药物搜索命名,但足够灵活,可以接受任何类型的搜索词。

注意:在我们的文本预处理中,我们特意 允许 连字符 ("-") 以其出现在药物术语中的频率。如果您想看到此功能被移除或设置为功能标志之后,请提交问题。

如果您想知道具体的用例,请查看 示例 文件夹!

需求

  • cargo 包管理器(rust 工具链)
  • just(如果您克隆此仓库,则为可选的开发依赖项)
  • 有效的 UTF-8 编码 CSV 数据

安装

要安装 drug-extraction-cli 应用程序,只需

Python 开发者 / 数据科学家

请使用 pipx,因为它专门设计用于将 Python CLI 应用程序安装到隔离的虚拟环境中。

pipx install extract-drugs

Rust 开发者

cargo install drug-extraction-cli

重要! 这两种方式都将安装一个名为 extract-drugs 的可执行文件。

无论您从哪个软件包索引安装软件包,二进制程序都将命名为 extract-drugs,以便更直观的命令。

信息:命名不一致是由于 maturin 处理软件包名称的方式以及希望同时保持相同的 CLI 命令/名称并维护 Rust 命名空间。抱歉,但您会没事的 😊。

使用

本应用程序包含两个命令:interactivesearch。这两个命令具有相同的功能,后者允许您传递命令行参数,更适合自动化处理或高级用户使用,而前者允许交互式声明相同的配置选项,更适合新用户或初次使用。

该库的API文档可在 docs.rs 上找到。

交互式

这将向您显示一系列提示,以帮助您选择正确的选项。强烈推荐新用户或一次性运行使用。

使用

extract-drugs interactive

此命令在上面的GIF中进行了演示。

searchinteractive 功能相同,但允许您声明性地提供配置选项。

输出数据字典

该工具将输出一个格式如下 output.csvoutput.csv 文件

列名 描述 数据类型 限制/范围
row_id 如果提供了 --id-col,则来自 --data-file 的行号,否则为行号 字符串
search_term 搜索词,经过清理和归一化。这是实际比较的词。 字符串
matched_term 匹配词,经过清理和归一化。这是实际比较的词。 字符串
edits osa 编辑距离 整数 0-2(由于排除过滤器,上限为顶部限制)
similarity_score jaro_winkler 相似度分数 浮点数 0.95-1.0(由于排除过滤器,下限为底部限制)
search_field 匹配项所在的字段,来自 --search-cols 字符串
metadata 搜索词文件中附加到 search_term 的元数据 字符串或无

示例

要查看此工具的示例运行,请查看 examples 文件夹中的shell脚本。

要查看运行此工具可能产生的潜在分析价值,请查看同一文件夹中的Jupyter笔记本!

支持

如果您遇到任何问题或需要支持,请联系 @nanthony007创建问题

贡献

请参阅 CONTRIBUTING.md

MIT 许可证

许可

依赖项

~8–17MB
~195K SLoC