我正在使用Gate在我的项目中实现自然语言处理模块。在下一步中,我希望系统支持多个用户。每个用户都有不同的域名单词(我把它放入地名录)。据我所知,gate使用了大量的静态资源,并且很难创建多个gate实例。有没有人有任何想法与Gate实现多租户?
提前非常感谢你。
PS:我使用门的原因是因为它有jape规则。如果你能引入其他工具会更好,这种工具更容易定制,并且还有这种基于规则的语法。
答案 0 :(得分:1)
答案取决于你如何使用门应用程序。在我的想法中,我假设用户域名地址位于其他PR之间(即Tokenizer,Gazetteer,JAPE规则)。
a)您使用Java代码中的门应用程序。如果是,则可以根据用户标识删除/插入到GenAnzerzerController的地名索引。你可以在内存中创建一个Map map(如果地名索引不是太大),并在执行前基于当前的USER_ID在SerialAnalyzerController中添加/删除PR。
b)您使用门应用但不希望有场景1.然后您可以编写处理资源,基于用户标识将使用指定的地名词典。可以在PR初始化阶段创建映射。 在PR“执行”方法中,您可以获取用户标识符(例如来自文档功能),然后使用适当的地名词典。
c)尝试使用Conditional Corpus PR。不确定这是否是最好的解决方案,但我猜它可行。