使用Vowpal Webbit进行基于大文本的预测

时间:2015-06-16 15:16:38

标签: machine-learning vowpalwabbit

我想用分钟的分辨率时间和Zendesk上门票的客户描述来预测下一张门票根据其描述的解决时间。我将只使用这两个值,但描述是一个大文本。我搜索了散列特征值而不是散列Vowpal Wabbit上的特征名称,但没有成功。使用Vowpal来预测使用大文本特征值的更好方法是什么?

1 个答案:

答案 0 :(得分:1)

Vowpal Wabbit中的功能值只能是实数。如果您具有n个可能值的分类特征,则只需将其表示为n个二进制特征(例如,color=red是二进制特征的名称,默认值为1)。

如果您有文字说明,则可以将文字的各个单词用作要素(即要素名称)。你只需要逃避“:”,“|”和要素名称中的空格字符,允许所有其他字符(包括“=”)。所以一个例子看起来像

9 |USER avg_time:11 |SUMMARY words:5 sentences:1 |TEXT I have a big problem

因此这张带有“我有一个大问题”文本的票需要9分钟才能解决,而同一用户以前的票平均需要11分钟才能解决。 如果您有足够的培训示例,我建议添加更多功能(有关用户的任何详细信息,有关文本的更多摘要功能等)。报告机票的一天中的时间(早上,下午,晚上)和星期几可能是一个很好的预测因素(星期五晚上报告的门票往往需要更长时间),但也许你故意不想模拟这个和只关注与报告时间无关的票证“难度”。

您还可以尝试将单词bigrams用作--ngram T2的功能,这意味着将为以T开头的所有名称空间(在我的示例中仅为TEXT名称空间)创建2-gram功能。也许单词“大”和“问题”不是强预测因子,但是二重奏“大问题”会得到很高的正重(表明它是长分辨率时间的良好预测)。

  

我将只使用这两个值

你的意思是解决时间和机票的文字,对吗?但是分辨率时间是您想要预测的(依赖)变量,因此这不算作特征(也称为自变量)。当然,如果您知道用户的身份并且每个用户都有足够的培训示例,那么您可以将用户的上一张票的平均时间(当然不包括当前票)作为我试图显示的功能。例子。