我写了一个解析器,将大型语料库(900,000个段落)中的句子解析为选区解析树。解析器通过将每个段落转换为选区解析树列表来工作。这是代码的一般概念:
paragraphs = load_dataset()
trees = list(map(parse_trees, paragraphs))
我尝试使用python的multiprocessing
并使用了pool
功能:
paragraphs = load_dataset()
p = multiprocessing.Pool(4)
trees = p.map(parse_trees, paragraphs)
我注意到,使用multiprocess
会使任务比不使用任务慢。
在进一步研究中,我意识到任务并行性和数据并行性之间存在差异,我认为在我的情况下,数据并行性更合适。
但是,我在python中找不到任何方法可以做到这一点,并且想知道是否有人可以指出我正确的方向。