我想使用以分钟为单位的解决时间和 Zendesk 上工单的客户描述来根据他们的描述预测下一个工单的解决时间。我将只使用这两个值,但描述是一个大文本。我在 Vowpal Wabbit 上搜索了对特征值进行哈希处理而不是对特征名称进行哈希处理,但没有成功。使用 Vowpal 预测大文本特征值的更好方法是什么?
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 开头的命名空间创建 2-gram 特征(在我的示例中只有 TEXT 命名空间)。也许“大”和“问题”这两个词不是强预测因子,但二元组“大问题”会得到很高的正权重(表明它是长解决时间的一个很好的预测因子)。
我将只使用这两个值
你的意思是解决时间和票的文本,对吗?但是解决时间是您要预测的(因)变量,因此这不算作特征(也称为自变量)。当然,如果你知道用户的身份并且对每个用户有足够的训练样本,你可以将用户之前的票(当然不包括当前票)的平均时间作为我试图展示的特征包括在内这个例子。