用深度学习规划会议时间点——Skejul

【导读】你是不是常常烦恼找不到合适的会议时间?我也经常遇到这种问题。当前人们越来越忙,想要协调合适的会议时间是很困难的。本文中,数据科学家Favio Vázquez介绍了一个基于AI的会议规划系统——Skejul。该系统不仅仅采用传统的RNN思想建模时间序列,而是 RNNLSTMConvNetsResidual NN 等技术的集合体。Skejul将在今年相继推出其免费版和商业版,对其原理感兴趣的读者不妨深入读一下本文。

Skejul meetings with Deep Learning

目前的问题




 

当人们分布在在世界各地,处于不同时区时,安排正确的会议时间是很困难的。甚至当人们生活在同一地点,协调一个统一时间也是很困难的事情,因为人们都很忙

也许你没有正确使用你的时间,可能你在一天会议很多,而其他时间完全没有会议。如果有一个完美的日历,完美地安排所有空闲时间、会议或者活动,那将是一个很美好的事。


深度学习可以帮助你解决一切!


  • Skejul 


我很高兴见到Skejul的首席执行官Matthew Lamons先生,他简要介绍了系统及其后端。


Skejul采用人工智能(AI),不需要您花大量时间来设置偏好、设置优先级、管理其他人的联系信息、输入您去的地方的信息或者您喜欢做的事情。


它也简化了人、地点和事物的复杂的协调过程。


但是它是如何做到的呢?


深度学习中的序列模型



 

  • 什么是序列?

简而言之,是相关的事件、动作或事物的特定顺序。例如在斐波那契数列中,那些“事物”是数字,并且有一个函数表示它们,我们称之为一个递推关系:

如果你是程序员,也许你会发现这段Python代码倍感熟悉:


 

这个代码是递归的。什么是递归?是当你定义一个问题涉及到它自己时,就会发生递归。


以上的编程和数学都很酷。但是,这些和深度学习有什么关系。


 

在深度学习中,有一种特定类型的神经网络(NN),它能够通过迭代序列元素来处理序列,并维持节点包含以前所输入相关信息的状态。就像他们有一个“记忆”,是一种逐渐处理信息的方式。这种类型的神经网络被称为递归神经网络(RNN),这种类型的神经网络具有内部循环,并且在处理两个不同的独立序列之后更新其状态。


  • RNN的时间序列

 

所以Skejul解决问题的方式是使用RNN(和其他类型的NN)处理时间序列。时间序列是是具有一定时间顺序的数据,其数据元素与时间相关。例如股票价格,加密货币的价格等等。


RNN能很好地预测时间序列,用x时间点之前发生的事情预测在x时间点发生的事。

虽然RNN对于顺序数据非常有用,但是它们也存在一些问题,比如学习“长期依赖性”,想要保持长时间的信息。


为了解决以前问题,Hochreiter&Schmidhuber(1997)提出了LSTMs,它是一种特殊的RNN,能够学习长期的依赖性。


 

 

想了解更多关于LSTMs的信息点击这里。

http://colah.github.io/posts/2015-08-Understanding-LSTMs/


LSTM模型Keras




  • 代码:

https://github.com/jaungiers/LSTM-Neural-Network-for-Time-Series-Prediction/blob/master/lstm.py

下面看一下其代码,在Keras中构建LSTM是非常容易的。我以后将写一篇介绍keras的文章

from keras.layers.core import Dense, Activation, Dropout
from keras.layers.recurrent import LSTM
from keras.models import Sequential
import time
def build_model(layers):
model = Sequential()

model.add(LSTM(
input_shape=(layers[1], layers[0]),
       output_dim=layers[1],
       return_sequences=True))
model.add(Dropout(0.2))

model.add(LSTM(
layers[2],
       return_sequences=False))
model.add(Dropout(0.2))

model.add(Dense(
output_dim=layers[3]))
model.add(Activation("linear"))

start = time.time()
model.compile(loss="mse", optimizer="rmsprop")
print("> Compilation Time : ", time.time() - start)
return model

 

有了这个简单的代码,你可以在Keras上创建一个时间序列


时间序列和Skejul





所以,Skejul所做的就是使用自己的专有算法来进行合理的猜测,以便与用户确定会议的最佳时间和日期。


正如Matthew告诉我的,这个算法使用的不仅仅是RNN或者LSTM,还有使用ConvNets,Residual NN和深度增强学习。


但是数据呢?你可能会想,他们如何训练他们的NN?


你可以帮助Skejul测试,使用Skejul的私人测试版,算法可以向你学习!在这里注册。http://skejul.com/


Skejul所做的大部分工作是从你的日程表中获取数据,但不仅仅是会议,还包括你对会议的回复,例如你同意一个会议或者决定参加一个会议。


他们将在今年春季推出该软件的免费版本,以及在夏季中旬左右推出商业版本。Skejul将会有很多新的功能,并且会增加新的功能,如视频平台,利用应用程序进行会议,添加聊天功能。


他们声称,他们的算法和平台可以实现比目前最好的预测应用程序效果的75倍。他们还有来自25个国家,包括伦敦,孟买,墨西哥城,旧金山,新加坡,柏林,罗马,布宜诺斯艾利斯,都柏林,迪拜,香港等城市的预约成员。



概要




协商会议时间并不是一项简单的任务,所以我们使用Deep Learning和AI来解决这个问题。


深度学习是一个非常重要的技术,有很多的应用,这里的应用是预测序列模型中的值。


一个序列是特定的顺序,在这个顺序中,相关的事件、运动或者事物相互关联。


递归神经网络(RNN)是一种具有内部循环的神经网络,其状态在处理两个不同的独立序列时更新。他们拥有类似于记忆的功能。


RNN有学习“长期依赖性”的问题,所以采用LSTM网络解决了这个问题。


您可以在Keras中轻松快速地实现LSTM模型。


Skejul正在使用RNN,LSTM,ConvNets,Residual NN,Deep Reinforcement Learning等技术来解决与全球不同人员实时会议安排的问题。

原文链接:

https://towardsdatascience.com/skejul-meetings-with-deep-learning-5efab285b111

-END-

专 · 知

人工智能领域主题知识资料查看获取【专知荟萃】人工智能领域26个主题知识资料全集(入门/进阶/论文/综述/视频/专家等)

同时欢迎各位用户进行专知投稿,详情请点击

诚邀】专知诚挚邀请各位专业者加入AI创作者计划了解使用专知!

请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料

请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!

请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!

点击“阅读原文”,使用专知

展开全文
Top
微信扫码咨询专知VIP会员