java - 将数据从 Java 传递到 Python

标签 java python nlp

我正在开发一个食品应用程序。它是一个基于 Android 的应用程序。场景是该应用程序中有一个文本框供用户输入评论。现在我想对这些评论应用 NLP(语义分析)。

请指导我如何将注释从 Java 传递到 Python,以便我可以将 NLP 应用于它们。

最佳答案

根据对您最有意义的架构,您会想到两种方法。它们都有各自的优点和缺点,具体取决于您的要求,因此请使用您的最佳判断。

一种方法(听起来您已经在考虑)是从 Java 中启动 Python 运行时。正如 @Leo Lentev 提到的,这种方法有一个答案,您可以找到 here 。这种方法的优点是您不需要任何额外的基础设施。缺点是您需要将一个(可能很大的)模型与您的应用程序打包在一起,同时运行两个运行时可能对性能或电池生命周期不利,并且加载模型时您的启动时间可能会受到影响。

另一种方法是创建一个单独的 Python Web 服务器,您的应用可以根据需要向其发出请求。这可以是一个简单的 REST API,具有您需要的任何端点。如果您正在制作并托管自己的模型,这可以加快您的应用程序的速度,因为您可以将模型保留在内存中,而不是在每次用户启动您的应用程序时加载它。这种方法的优点之一是它可扩展(您始终可以在 API 中构建更多端点,包括非机器学习端点)。如果您的模型是非通用的,并且您希望防止其被复制,那么这还会增加安全优势,因为用户无权访问模型本身。

对于大多数用例,我建议使用第二种方法。

关于java - 将数据从 Java 传递到 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55065392/

相关文章:

Python 组合导致 AttributeError

search - 高效检索以多维向量形式表示的文档

java - 基于共同属性组合集合的智能方式

python - beautifulsoup上下文中lxml和html5lib的区别

python - 如何从命令行依次运行2个python文件?

具有特定扩展名 "html"的 Python 文件 IO 失败

python - 使用 spaCy 3.0 将数据从旧的 Spacy v2 格式转换为全新的 Spacy v3 格式

java - 查找Java中两条路径的最长公共(public)路径

java - 插入到 DefaultTableModel 中的行不显示

java - 如何从另一个实体获取字段的值(Hibernate)