Python多进程和NLTK wordnet路径相似性

Python多进程和NLTK wordnet路径相似性,python,nltk,python-multiprocessing,pool,wordnet,Python,Nltk,Python Multiprocessing,Pool,Wordnet,我使用多处理池来加速文本语料库上的标题提取过程。在代码的一个阶段,我使用wordnet路径相似性模块来确定两个单词的相似性 如果我按顺序运行代码,即不使用多处理池,则计算路径相似性的时间是正常的。然而,当我使用多重处理同时处理多个文档时,我发现与顺序处理相比,计算此路径相似性的时间延迟很大。 问题:NLTK是否显示多处理模块存在任何问题?在不同的进程中,模块很可能试图使用Wordnet数据访问同一个文件。这将导致依赖GIL访问文件或使用操作系统级文件锁。这两种情况都可以解释你观察到的行为。谢谢@

我使用多处理池来加速文本语料库上的标题提取过程。在代码的一个阶段,我使用wordnet路径相似性模块来确定两个单词的相似性

如果我按顺序运行代码,即不使用多处理池,则计算路径相似性的时间是正常的。然而,当我使用多重处理同时处理多个文档时,我发现与顺序处理相比,计算此路径相似性的时间延迟很大。
问题:NLTK是否显示多处理模块存在任何问题?

在不同的进程中,模块很可能试图使用Wordnet数据访问同一个文件。这将导致依赖GIL访问文件或使用操作系统级文件锁。这两种情况都可以解释你观察到的行为。

谢谢@Sophos。这意味着在计算路径相似性时,wordnet使用磁盘上的文件?当我执行“from nltk.corpus import wordnet”时,这不会将wordnet加载到RAM中吗?我猜您所解释的现象只会在每次访问时将wordnet加载到进程中时导致一次延迟。即使在那之后我也会被耽搁。