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

Prediction based on large texts using Vowpal Webbit

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

Vowpal Wabbit 中的特征值只能是实数。如果你有一个具有 n 个可能值的分类特征,你只需将它表示为 n 个二元特征(例如 color=red 是一个二元特征的名称,默认情况下它的值为 1)。

如果您有文字描述,您可以使用文字中的单个词作为特征(即特征名称)。你只需要转义“:”,“|”和特征名称中的空白字符,允许使用所有其他字符(包括“=”)。所以一个例子可以看起来像

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

所以这张文本为 "I have a big problem" 的工单需要 9 分钟才能解决,而同一用户之前的工单平均需要 11 分钟才能解决。 如果您有足够的训练示例,我建议添加更多功能(有关用户的任何详细信息,有关文本的更多摘要功能等)。此外,报告工单的一天中的时间(早上、下午、晚上)和星期几可能是一个很好的预测指标(周五晚上报告的工单往往需要更长的时间),但也许您故意不想对此建模并且仅关注与报告时间无关的工单 "difficulty"。

您还可以尝试使用词二连词作为 --ngram T2 的特征,这意味着将为所有以 T 开头的命名空间(在我的示例中仅为 TEXT 命名空间)创建 2-grams 特征。也许单个单词 "big" 和 "problem" 不是强预测变量,但二元组 "big problem" 将获得较高的正权重(表明它是长解析时间的良好预测变量)。

I will use only this two values

你的意思是解决时间和工单的文本,我说的对吗?但是解决时间是您要预测的(因)变量,因此这不算作特征(也称为自变量)。当然,如果你知道用户的身份并且有足够的每个用户的训练示例,你可以包括用户以前的门票(当然不包括当前的)的平均时间作为我试图展示的特征这个例子。