我有一个Rails应用程序。我需要在应用程序中实现自动文本分类算法和可能更多的 NLP 功能。我相信Ruby没有像Python那样好的NLP工具。我正在使用单独的 resque 服务器来处理后台作业。我相信我有以下几点
- 使用 resque 作业运行 python 脚本
- 在单独的服务器上运行烧瓶应用程序,该服务器可以与 resque 作业通信,也可以使用处理后的结果自动更新应用程序数据库。
- 使用此线程中提到的 Ruby 工具
- 欢迎任何其他建议
请让我知道最好的方法是什么。有没有类似的工作示例?
前我遇到了同样的问题。经过一些研究和测试,这是我实施的解决方案
运行多个 python 进程 一台机器可以容纳多少。并根据需要使用任意数量的机器。
使用 ZeroMQ 在 Web 服务器和运行 python 进程的机器之间进行通信
不要使用 HTTP 进行通信,因为开销很大,而且与 ZeroMQ 相比会非常慢。您也不需要像使用 HTTP 那样复杂的 ZeroMQ 处理程序
。注意仅向内部网络公开 ZeroMQ 套接字,否则您需要在每个 python 服务器上设置身份验证
另一种选择是只使用许多可用的 NLP API 之一,如果不需要任何基于语料库的算法(例如 POS 标记、情绪分析等)。