通过建立与Google及Google云平台(GCP)的合作伙伴关系,Ocado Techonology公司发布了一种新的方法,用在对Ocado的50多万用户及来自这些用户的海量电子邮件请求的处理中。该方法使用了TensorFlow及宿主于GCP上的TensorFlow Python API,重点在于解决电子邮件的自动分类问题。
Ocado认为对于电子邮件分类问题,非常适合于使用工业规模的机器学习和自动化,更具体的说就是自然语言处理(NLP)。很多的企业支持中心为让工作一致和可靠,采用了依靠工作人员手工处理电子邮件队列的工作流程。在企业的业务迅速成长时,或是整体客户支持量所需的支持人员日益增长时。这种方法并不能很好地扩展,这会导致邮件响应的延迟,客户不满意度也随之增加。
Ocado的做法是将所有的电子邮件汇集到同一处,然后通过分析邮件内容为邮件打标签,例如标记为客户投诉的则需要立刻反馈,标记为一般性反馈的则具有稍低的优先级可稍迟反馈。此外,邮件标签还包括:重发货请求、退款请求、支付问题或网站问题、新商品查询等。
Ocado想要在分配标签类别时,尽可能地减少需用户及支持人员手工输入的域和标签的数量。因为这种手工输入不仅容易产生偏差并生成噪声数据,而且也占用了支持人员的宝贵时间,这些时间是本可用于根据客户请求的优先度服务于客户的。
Ocado科技的高级软件工程师Marcin Druzkowski今年八月在Datasciencefest大会上的演讲上,给出了Ocado训练神经网络所用的各种模型的一些细节。其中的方法包括:使用词袋的逻辑回归、使用嵌入(embedding)的卷积神经网络(CNN)、使用嵌入的长短期记忆模型(LSTM)。
Druzkowski指出深度学习并非一定要使用GPU,考虑到CPU芯片的相对低成本、云计算的可扩展性和并行计算模型训练,没有必要再采用特定的GPU写入和训练模型。他也指出通过以软件工程为中心的数据科学方法,他们的TensorFlow图以数据矩阵和图定义的方式部署,这不同于数据科学软件所使用的一般方法,那些方法已被证明在部署和易于集成到生产环节的实现上存在着挑战。Druzkowski在演讲中提到的特性还包括:可移植性和依赖性管理、代码质量、测试覆盖度、版本管理和持续集成。
围绕着测试模型,还出现了其它的一些新挑战。这些测试模式需给出随机性、可接受结果值范围和良好模型性能的组成目标。此外,挑战也存在于如何在后台数据集发生改变时,重新训练和测试模型。在确定一个模型是否有价值时,需额外考虑的变量是数据集改变的比例和速度。当前测试的运行使用了pyTest和TensorFlow,但是Ocado拒绝了提供示例代码的请求。
查看英文原文:Ocado Uses TensorFlow and Google Cloud Platform for Novel Customer Service Approach