【问题标题】:Which machine learning model should be used in this situation?在这种情况下应该使用哪种机器学习模型?
【发布时间】:2014-04-22 05:22:09
【问题描述】:

最近我在做我的课程项目,这是一个安卓应用程序,可以根据用户的声音自动帮助填写消费表单。所以这里是一个例句:

所以我想做的是让应用程序自动填写表格,我的表格有几个字段:时间(昨天),位置(麦当劳),成本(10 美元),类型(食物)。这里的“类型”字段将包括食物、购物、交通等。

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

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

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

【问题讨论】:

  • 您需要查看自然语言处理。另见:nltk.org/book/ch05.html
  • @mskimm 已经用分词库分词,可以得到时间、成本、位置字段,但是不知道应该用什么机器学习模型来推导“类型”字段。
  • 您要查找信息提取。这是一个序列标记问题——看看条件随机场作为一种技术

标签: machine-learning


【解决方案1】:

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

我想知道与您的任务的位置相比,时间和成本是否具有区分性/信息性。

一般来说,请查看以下有关处理文本数据的链接(即使您不知道 python 也应该很有用):

【讨论】:

    【解决方案2】:

    应该包括三个阶段:

    1. 特征表示:

    表示特征的一种方法是词袋表示,您可以固定字典的顺序并使用词频向量来表示文档。详情请见https://en.wikipedia.org/wiki/Bag-of-words_model

    1. 数据和标签集合:

    基本上,在这个阶段,您应该准备一些 [feature]-[type] 对来训练您的模型,这可能会很乏味或很昂贵。如果您已经发布了您的应用,并且收集了很多 [sentence]-[type] 对(可能由应用用户选择),您可以提取特征并构建训练集。

    1. 模型学习:

    Cdeepakroy 建议了一个不错的模型选择:朴素贝叶斯,它对于这样的分类任务非常有效。在这个阶段,你可以找到一个合适的包,插入你的训练数据,然后享受它返回的分类器。

    【讨论】:

      猜你喜欢
      • 2015-06-29
      • 2016-02-24
      • 2013-02-06
      • 2018-09-22
      • 2012-12-06
      • 1970-01-01
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      相关资源
      最近更新 更多