我有一个面向全球用户的Rails库存应用,允许他们输入自己的库存信息并查询他人的库存信息。
- 伦敦的一位英国人向库存表中添加了10个“自行车”单元
- 一位日本人添加了2个自転車(日语中的自行车)
- 一位越南人添加了5个xe dap(越南语中的自行车)
英国人可以查询“bicycle”,系统将输出所有自行车(共17个单元),并可以显示每辆自行车的详细信息,保留其原始语言,无需用户事先对其进行分类。同样,日本人可以查询“自転車”,这将显示所有自行车。
这应该如何实现?
globalize gem要求用户手动翻译每条记录,因此这不是正确的解决方案。我听说过机器学习和深度学习,但我不知道这是否是解决此问题的正确方法。
如果stackoverflow不是询问此问题的地方?我应该在哪里询问?Quora不允许提长问题。
回答:
在这种情况下,机器学习似乎不是一个合适的解决方案,因为你对它没有足够的经验,而且这是一个复杂的问题,仅从头开始学习并应用到实际问题中就需要很长时间。
以下是一些你今天可以实施的解决方案,只要你了解每个方案的需求和优缺点,你就需要自己解决这些问题。
由于我对你的系统没有足够的信息,我会尝试将其概括为可能的情况。
解决方案:
1.为你的系统定义一个有限数量的项目,比如自行车,并将它们添加到配置文件或项目数据库中,每个项目都有其唯一的ID,当用户需要添加东西时,他们必须从你的列表中选择。有一个“其他”项目作为一个总括,可能提供一个注释,以便用户可以添加任何东西来识别该项目。
2.与上述解决方案类似,但你为用户提供了一种将新项目添加到系统中的方法,因此你有10个标准项目,每个用户都可以向网站添加项目(这些项目需要审核),其他用户将可以访问这些项目。
3.建立一个坚实的搜索系统,如Elasticsearch(或其他任何系统),当用户创建项目时,你以输入的语言为其建立索引,然后使用Google翻译API(或其他翻译服务)将其翻译成你需要的所有语言,并为搜索建立索引。
我认为如果可以实现,解决方案1是最好的,其次是解决方案2。