反馈枢纽是Wayfair的Inhouse Web应用程序,由Data Science Analytics构建,这使得全部跨越Wayfair的分析师利用由我们的客户DS团队的声音开发的自然语言模型产生的数据和见解。

所有客户反馈分析的一个反馈集线器

Wayfair每天收到大量客户反馈,作为非结构化数据,如审查评论,退货和事件票据,产品问题或调查结果。随着每日超过50K的评论,此数据为业务分析师提供了画布,以确定进一步优化业务的机会。分析师对理解有兴趣1)什么2)有哪些情绪客户谈到我们的产品和服务。我们的数据科学团队开发了两种型号:布拉吉(基于BERT的模型来分类非结构化文本数据),以及额外(一个无人监督的情绪和主题提取器)。这些模型组合允许我们在规模上处理我们的所有客户反馈,并在各个部门启用我们的业务分析师,以比以前更快地产生更深的洞察力。

在这些模型成功烘焙到微服务和生产工作流程之后,下一步是启用分析师探索模型输出以导出可操作的见解。我们希望确保支持多个工作流程,这需要更大的灵活性。

典型的分析看起来像这样:

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

在探索平台,数据工作室或貌似之类的嫌疑人,我们很快就会意识到他们可以支持过滤和分析,但无法拨打我们的额外模型服务ad hoc。作为所有不同数据片的主题提取的原始提取不合适,我们决定探索不同的选择。这让我们到了Python Dash.,来自绘图bob网下载创始人的开源框架。

Python Dash是基于Python瓶中的,React.js和Plotly.js,使其成为纯Python中的高度可定制的可视化和工作流程的完美匹配(您可以查看此内容App Gallery.变得更加兴奋)。此外,它还支持在Kubernetes上轻松部署,并为大数据进行redis缓存。此外,只要是Web为基础,您可以轻松地将谷歌分析器等框架集成,以跟踪使用情况,并探索工作流程分析师最常运行。你不需要太多开始虽然Python,App Design,HTML和CSS的一些经验将派上用场。

相当多的电梯与学习一起

在直接进入应用程序开发之前,这里有一些建议在解决类似的问题时努力,并计划您的工作:

  1. 从一开始就使用Docker
    虽然它可能很诱人直接探索破折号jupyter笔记本)它会节省一些时间,您可以更好地花费管理依赖项以及在Kubernetes上部署。
  2. dash回调是你最好的朋友
    成为Python的专家划线回调越早越好。这些是在输入组件的属性更改时自动调用的python函数 - 您可以想象类似于Excel - 一旦更改了组件(单元格),则执行回调和其底层函数以更新应用程序本身。如果您是应用程序只需要一个提交按钮,这相当简单,但对于更复杂的工作流程来占足够的开发时间来避免意外事集的代码前进。在我们的用例中,我们在我们的过滤器上有回调,该回调将参加数据查询,决定使用缓存的数据或从数据库中拉动并相应地更新可视化。
  3. UI设计可以等待
    在开始时不要花太多时间在UI设计上。Python Dash支持HTML,JS和CSSBootstrap框架可以轻松定制使用Bootswatch.。我们最终选择了一个可用的设计,复制它并制作颜色调整创建我们自己Bootswatch主题
  4. 愿Python的力量与你同在
    例如,使用Python Library Universe的力量。开始建设单位测试文件从一开始并建立嘲笑对于可能在开发环境中不可用的功能。

谈到部署时,采取的步骤当然高度依赖于您的基础架构和可用进程。在Wayfair,专用的Python开发团队为日志记录,监视和数据库连接管理提供了很多有用的库。结合buildartifactory.连续部署要更新我们的应用程序的部署就会少工作以前是。如果这是您公司的第一个IT类型应用程序,则值得呼唤您应该计划扩展部署时间。

最后 - 架构

在高水平上,这是我们最终的建筑:

简而言之,我们建议我们探索Jupyter Dash,以防你需要非标准数据可视化随着互动特征和/或您想要快速为您的型号构建UI界面生产准备和可扩展的方式。如果要尽可能避免工程开销并正在寻找更多原型工作流程,您可以开始探索现有框架在这篇文章中