收发电子邮件的庞大数量意味着,一名典型的办公室职员每天要花好几个小时来处理自己的收件箱。源源不断涌入的新邮件很容易让人应接不暇。同时,一封重要邮件淹没在杂乱信息中的可能性也比以往任何时候都大。基于模型的机器学习能否帮助减轻这种信息过载呢?

一堆邮件

普通办公室职员每天花在处理电子邮件上的时间将近三个小时。这些时间中约 90% 花在阅读收到的邮件或管理已有的邮件上——只有剩下的 10% 用于撰写或回复邮件 [Outlook team, 2008]。一个能加快阅读和管理邮件速度的自动工具,将为人们腾出大量时间,让他们能够专注于重要任务,避免信息过载带来的压力。

Microsoft Exchange 是一款电子邮件服务器,为全球超过 3 亿个邮箱提供支持 [Radicati and Hoang, 2010]。Exchange 团队热切希望利用机器学习来帮助人们管理邮件、提升生产力。在本章中,我们将看看 Exchange 团队如何用基于模型的机器学习把杂乱内容从用户的收件箱中分离出来,让用户能够专注于自己的重要邮件,并减少处理来信所花的时间。

其思路是:根据用户对相似邮件所采取的操作,来判断用户是否认为某封邮件属于杂乱内容。例如,从不被阅读或很快被删除的邮件,很可能被用户视为杂乱内容。现在,假设我们有一个机器学习系统,能够预测用户对一封新邮件会采取什么操作——例如,该系统会预测用户是否会回复一封邮件、删除它、还是让它保持未读。有了这样一个机器学习系统,我们就可以把那些不太可能被阅读或处理的邮件隐藏起来。这类杂乱邮件随后可以被放到一个单独的位置,方便用户在合适的时间一次性地集中查看和处理。

为实现这一目标,团队需要一个系统,它能够读取用户此前已经操作过的若干较早的邮件,并学习用户对具有不同特征的邮件可能会采取哪些操作。该系统要考虑邮件的诸多方面:谁发送了这封邮件、收件人(To)和抄送(Cc)栏里有谁、主题是什么、邮件正文写了什么、是否有附件等等。训练好的系统随后将被应用于来信,以预测用户对每封邮件执行各种操作的概率。Exchange 团队认为系统必须做出个性化的预测,这一点至关重要。与垃圾邮件不同,哪些邮件算杂乱内容是一件很私人的事:对某位用户而言是杂乱内容的邮件,对另一位用户而言可能并非如此。例如,一封项目进展邮件对不在该项目中的人来说可能是杂乱内容,但对正在该项目上工作的人来说可能是必读的重要邮件。

在本章中,我们将用基于模型的机器学习来开发一个满足 Exchange 团队需求的个性化系统。我们将聚焦于构建一个预测用户是否会回复某封来信的系统。不过,最终得到的系统将足够通用,可以预测许多其他种类的操作,因此可以用来预测用户是否会认为某封邮件属于杂乱内容。具体而言,我们将看到如何:

  • 管理电子邮件数据以及隐私问题,
  • 开发一个针对每位用户个性化、用于预测操作的模型
  • 利用关于一封邮件的信息来驱动模型
  • 从数值指标和用户体验两个方面来评估模型
  • 随着各种问题的出现,扩展模型来加以解决。

你可以使用配套源代码 [Diethe et al., 2019] 复现本章中的所有结果。

参考文献

[Outlook team, 2008] Outlook team (2008). Internal email study.

[Radicati and Hoang, 2010] Radicati, S. and Hoang, Q. (2010). Microsoft Exchange Server and Outlook Market Analysis, 2010-2014. Technical report, The Radicati Group, Inc.

[Diethe et al., 2019] Diethe, T., Guiver, J., Zaykov, Y., Kats, D., Novikov, A., and Winn, J. (2019). Model-Based Machine Learning book, accompanying source code. https://github.com/dotnet/mbmlbook.


下一节:收集与管理电子邮件数据