我正在尝试优化一些自然语言处理在python项目中的性能。基本上,我希望将计算密集型部分外包给使用apacheopennlp,它是用Java编写的。在
我的问题是将Java函数/类链接回python代码的推荐方法是什么?我想的三个主要方法是
使用Jython。我主要关心的是,据我所知,CPython是最流行的python实现,我不想破坏与其他协作者或包的兼容性。
将输入和输出流传输到OpenNLP附带的二进制文件中。Apache提供了标记器和独立的二进制文件,您可以通过管道将数据传入和传出。这可能是最容易实现的选择,但似乎也是最粗糙的。
我想知道,有过python和java接口经验的人是否知道这些选项之间的性能差异有多大,在这种情况下,哪一个是“推荐的”或被认为是最佳实践的—或者当然,是否有一种完全不同的方法来实现这一点,我从未想过。在
我确实搜索了已有的答案并找到了this,但这是3.5年前的答案,并提到了一些项目,要么已经死了,很难集成/配置/安装,要么仍在开发中。在
一些评论提到,与运行实际NLP代码所需的时间相比,这三种方法的开销可能微不足道。这可能是真的,但我仍然对从更普遍的角度来回答这个问题感兴趣。在
谢谢!在
考虑用现有的独立于语言的rpcmecahnism(thirift,…)构建一个java服务器。并使用python作为RPC客户端与服务器通信。它有松耦合
相关问题 更多 >
编程相关推荐