反馈中心是Wayfair的内部web应用程序,由Data Science Analytics构建,它使Wayfair的分析师能够利用由我们的客户之声DS团队开发的自然语言模型生成的数据和见解。

一个用于(几乎)所有客户反馈分析的反馈中心

Wayfair每天都会以非结构化数据的形式收到大量客户反馈,如评论、退货和事故记录、产品问题或调查结果。该数据每天的评论量超过5万条,为业务分析师提供了一个画布,以确定进一步优化业务的机会。分析师有兴趣了解1)什么和2)哪种情绪客户谈论我们的产品和服务。我们的数据科学团队开发了两个模型:布拉吉(基于BERT的非结构化文本数据分类模型),以及额外的(一个无监督的情绪和话题提取器)。这些模型的结合使我们能够大规模地处理所有客户反馈,并使我们各个部门的业务分析师能够比以前更快地产生更深入的见解。

在这些模型成功地融入到微服务和生产工作流中之后,下一步就是让分析师能够探索模型输出,从中获得可操作的见解。我们希望确保支持多个工作流,这需要更大的灵活性。

典型分析可能是这样的:

  1. 过滤相关数据
    1. 返回过去三个月内B类供应商A的所有三星级以下的评审意见。
    2. 按域过滤这些评论,例如,关注所有谈论产品颜色或提及图像的评论。
  2. 运行额外的主题提取来识别具有所提供情感的公共实体。
  3. 分析结果并下载详细信息。

在探索像Tableau、datastudio或Looker这样的常见嫌疑犯时,我们很快意识到他们可以支持过滤和分析,但无法将我们额外的模型服务称为adhoc。作为对所有不同数据片的主题提取的预生成,我们决定探索不同的选择。这让我们找到了蟒蛇短跑,plot188金博宝备用ly创始人的开源框架。

Python Dash建立在Python烧瓶之上,反应.js以及绘图.js使其与纯Python编写的高度可定制的可视化和工作流完美匹配(您可以查看应用程序库更兴奋)。此外,它还支持在kubernetes和REDIS缓存上轻松部署大数据。另外,由于它是基于web的,您可以轻松地集成像Google Analytics这样的框架来跟踪使用情况并探索分析师最常运行的工作流。你不需要太多时间开始吧,尽管在Python、应用程序设计、HTML和css方面的一些经验会派上用场。

学到的东西会带来很大的提升

在直接进入应用程序开发之前,这里有一些建议,用于在处理类似问题时确定工作范围和规划工作:

  1. 从一开始就使用docker
    尽管直接或从另一个角度探索Dash可能很有诱惑力jupyter笔记本)它将为您节省一些时间,您可以更好地将时间花在管理依赖项和部署kubernetes上。
  2. Dash回拨是你最好的朋友
    成为Python专家短划线回调越早越好。这些是Python函数,当输入组件的属性发生更改时,Dash会自动调用这些函数——你可以想象它类似于excel——只要组件(单元格)发生更改,回调函数及其底层函数就会被执行以更新应用程序本身。如果你是应用程序将只需要一个提交按钮,这是相当简单的,但对于更复杂的工作流帐户足够的开发时间,以避免意大利面条代码前进。在我们的用例中,我们在过滤器上有回调,它将参数化数据查询,决定使用缓存数据或从数据库中提取数据,并相应地更新可视化。
  3. UI设计可以等待
    一开始不要在UI设计上花费太多时间。pythondash支持HTML、JS和CSS引导框架可以使用靴样. 我们最终选择了一个可用的设计,复制它,并作出颜色调整,创造我们自己的bootswatch主题.
  4. 愿蟒蛇的力量与你同在
    使用python库的强大功能,例如开始构建单元测试文档从一开始就建立嘲弄用于开发环境中可能不可用的功能。

当涉及到部署时,要采取的步骤当然高度依赖于可用的基础结构和流程。在Wayfair,一个专门的Python开发团队为日志记录、监视和数据库连接管理提供了许多有用的库。结合建筑风筝,人工制品厂连续部署部署来更新我们的应用程序要比部署它少很多工作以前是. 值得一提的是,如果这是您公司的第一款It类型应用程序,您应该计划延长部署时间。

最后——架构

从高层次上讲,这就是我们最终的架构:

简而言之,我们建议您在需要的情况下探索Jupyter Dash非标准数据可视化随着交互式功能和/或您想要快速为您的模型构建UI界面以生产就绪和可扩展的方式。如果您希望尽可能避免工程开销,并且正在寻找更多的原型工作流,您可以开始探索现有的框架在本文中.