在这种情况下应该使用哪种机器学习模型?

时间:2014-04-21 02:41:24

标签: machine-learning

最近我正在开发我的课程项目,它是一个Android应用程序,可以根据用户的声音自动帮助填写消费形式。所以这里有一个例句:
enter image description here

所以我想做的是让应用程序自动填写表单,我的表单有几个字段:时间(昨天),位置(麦克唐纳),成本(10美元),类型(食物)。这里的“类型”字段包括食品,购物,运输等。

我使用了分词库将句子分成几个部分并进行解析,因此我已经可以从用户的语音中提取时间,位置和费用字段。

我想要做的是用某种机器学习模型推导出“类型”字段。所以应该事先有一些记录,由用户手动输入来训练模型。在训练之后,当新记录进入时,我首先提取时间,位置和成本字段,然后根据模型计算类型字段。

但是我不知道如何表示位置字段,我应该使用字典来包含许多着名的位置并使用索引来表示位置吗?如果是这样,我应该使用哪种机器学习方法来模拟这个要求?

2 个答案:

答案 0 :(得分:0)

我将从朴素贝叶斯分类器开始。以下链接应该有助于理解它:

我想知道与你的任务的位置相比,时间和成本是否具有辨别力/信息量。

一般情况下,请查看以下关于使用文本数据的链接(即使您不了解python也应该有用):

答案 1 :(得分:0)

它应该包括三个阶段:

  1. 功能表示:
  2. 表示特征的一种方法是Bag-of-Word表示,您可以修复字典的顺序并使用单词频率向量来表示文档。有关详细信息,请参阅https://en.wikipedia.org/wiki/Bag-of-words_model

    1. 数据和标签收集:
    2. 基本上,在这个阶段,你应该准备一些[特征] - [类型]对来训练你的模型,这可能是乏味或昂贵的。如果您已经发布了应用程序,并收集了大量[句子] - [类型]对(可能由应用程序用户选择),您可以提取功能并构建训练集。

      1. 模特学习:
      2. Cdeepakroy提出了一个很好的模型选择:朴素贝叶斯,这对于像这样的分类任务非常有效。在这个阶段,您可以找到合适的包,插入您的训练数据,并享受它返回的分类器。