2014-04-21 92 views
3

最近我正在研究我的课程项目,它是一个可以自动帮助填充基于用户声音的消费表单的android应用程序。因此,这里是一个例句:
enter image description here在这种情况下应该使用哪种机器学习模型?

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

我已经使用了单词拆分库将句子拆分成几个部分并解析它,所以我已经可以提取时间,位置和成本从用户的声音领域。

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

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

+0

你需要检查**自然语言处理**。另见:http://www.nltk.org/book/ch05.html – emeth

+0

@mskimm我已经使用分词库来分割句子,可以获得时间,成本,位置字段,但我不知道我应该如何使用什么机器学习模型来推断“类型”字段。 –

+0

你想寻找信息提取。这是一个序列标记问题---看看条件随机场作为一种技术 –

回答

0

我会从Naive Bayes分类器开始。下面的链接应该了解它有用:

不知时间和成本是歧视/相比,位置为你的任务信息。

一般来说,看下面的链接,文本数据的工作(即使你不知道蟒蛇应该是有用):

0

它应该包括三个阶段:

  1. 特征表示:

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

  1. 数据和标签收集:

基本上,在这个阶段,你应该准备一些[功能] - [类型]对培训的模式,这可能是乏味的或昂贵的。如果您已经发布了您的应用,并且收集了很多[句子] - [类型]对(可能由应用用户选择),则可以提取这些功能并构建一个训练集。

  1. 学习模型:

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

相关问题