拯救生命的.NET产品

在某些生活中,您需要非常迅速地采取行动。 有时这种情况是不可能的:例如,如果没有运气在很短的时间内找到一个稀有血型的人并且准备好分享它,那是根本不可能的。 他们开发了一款名为DonorUA的产品,该产品确实可以使用聊天机器人帮助挽救生命。 削减更多细节。



我请作者发言。

几年前,我在一次黑客马拉松中创建了社会服务,我试图开发一个项目来自动化对住房和公共服务运营的投诉。 开发工作进展紧密,演示版本复杂且技术先进,因此评审团既未评估工作量也未评估想法本身。 但是在这次活动中,我遇到了一个女孩,她是一个公共组织的负责人,多年来一直在乌克兰献血领域处理各种问题。 逐字逐句-您已经是一个新项目的联合创始人。

那时,我对献血一无所知。 唯一的知识就是人们有时会向他人献血。 它的组织方式,这个领域所面临的问题,它的成本以及我们的位置-对我来说是一个完全的谜。

我在自动化流程和编写企业系统方面拥有丰富的经验,因此我决定创建数据库和自动化某些流程将不会花费很多时间。

首先,事实证明该国缺乏统一的献血者登记册。 然后我发现,所有的国内捐赠组织毫无例外地最好使用一个Excel文件,其中包含捐赠者列表,他们的电话和血型。 当寻找捐赠者的申请到达时,该组织的员工坐在电话上,开始连续打电话给所有人,希望有人能回应。 如您所知,这种方法的有效性几乎为零。



在所有国家,捐赠领域的立法都非常非常严格。 例如,在乌克兰,如果您被刺穿或刺青,则不能整年献血;如果您去异国他乡或只是更换伴侣,则不能几个月。 禁忌症和捐赠限制清单不只一页。

在发达国家,献血没有明显的问题,这个问题的解决非常简单-国家慷慨地资助了这一领域。 在欠发达国家和不发达国家,供血不足可能高达90%,这使血液成为昂贵的商品,并创造了巨大的影子市场。 同样,在许多后苏联国家中,国家经常从寻找捐赠者的过程中抽象出来,将责任转移给实际上需要捐赠者血液的患者的亲属。 考虑到患者的生活很大程度上取决于他们是否按时接受输血,快速寻找捐献者的问题毫不夸张地变成了“生与死”的问题。

后来证明,这还远不是所有问题,因此“两个星期”的项目已发展成更多的项目。

第一步


该项目的真正开始是参加IDCEE 2014会议,该会议在其框架内举行了关于社会创新的黑客马拉松。 那天我们赢了,很明显,这个话题很有趣,很重要,因此我们怀着极大的热情开始实施该项目。 瞧,在4个月后的2015年春季,我们发布了第一个版本,其中包含来自Excel平板电脑的接收者和捐赠者的数据库,以及一个相当简单的选择捐赠者和接收者的机制。 展望未来,我要说的是,推荐系统已进行了大量更改,目前考虑了10到15个不同的参数。

第一个转折点发生在项目启动后一个半月,当时协调员首次能够在网站上发布申请后的15分钟内找到捐助者。 我会说实话-我们组织中的许多人对自动化和正在开发的系统都持高度怀疑的态度。 但是,在系统完成第一个任务后,我们获得了朝着正确方向前进的信心。

到2015年底,数据库中已经有大约4,000个捐助者,这使得关闭至少一半的捐助者搜索请求成为可能。 下半部分以旧方式关闭-使用电话。 2015年全年,旧方法和新方法的斗争已过去。 最后,新方法获得了成功。 我们禁止通过电话和使用Excel搜索捐助者,无一例外地限制所有协调员对该系统的访问,并断开所有电话线。 我们意识到,我们需要一个平台协调员来完成一项任务-使用DonorUA系统的常规方法搜索捐赠者。 这很痛苦,我不得不收紧一些东西,但是结果,该系统正常运行,我们意识到可以关闭更多的应用程序。 但是没人知道这个项目(2015年有关新社会项目的单一出版物中最著名的乌克兰出版物之一甚至没有提及我们的项目),只有少数人转向我们。 尽管在Facebook / Twitter / Vkontakte上有大量有关捐赠者搜索的文章。 然后...

社交网络监控


...我向YouScan公司提出了一项建议,该公司从事监视ru-和ukrnet中的社交网络。 他们的系统适合大中型企业,坦率地说,我的建议是使用他们的系统来查找捐助者搜索消息,这使他们感到沮丧。 公司代表休息一下,进行了几次测试,并在几天后返回,并提供了信息,表明我们的假设是正确的,并且他们的系统很好地满足了查找消息的任务。 因此,我们立即获得了实时监视有关该主题的所有消息并迅速做出响应的机会。 这种方法使我们成为社交网络的领导者-在大多数有关捐赠者搜索的出版物中,评论中都有指向我们项目的链接,而我们通过YouScan也可以找到其他出版物。 找到任何消息后,我们将与出版物的作者联系,并提供不同的合作选择。

寻找献血者的申请数量增加,必须由献血者基础的增加来抵消。 经过深思熟虑,出现了一个通过社交网络自动招募献血者的想法。 我们决定将对社交网络,聊天机器人和自然语言处理系统的监视结合起来,以寻找潜在的捐助者。 有了这个主意,我们来到斯德哥尔摩参加“创业周末:社会创新”,并再次赢得了胜利。



左侧是自然语言处理的概述,以及将文本转换为结构化对象的过程。 右侧是消息和可以从中提取的实体的示例。

从消息中,我们可以自动提取数据,例如收件人的姓名,所需的捐赠者数量(紧急或不紧急),血型和Rh因子,城市和联系方式。 对于模型训练,我们使用了WIT.AI和Microsoft LUIS。 对于英语,我们获得了很好的结果,但是不幸的是,这样的系统在西里尔语言(俄语和乌克兰语)中无法正常工作。 考虑到系统是针对这些语言的,该方向的开发已被推迟到更好的时期。

实际上,这个想法更广泛:开发一个聊天机器人,您可以使用它通过社交系统和即时通讯程序自动招募献血者。



聊天机器人与潜在献血者之间的对话可能看起来像一个例子

las,这个想法很难实现-首先,由于Facebook和Cambridge Analytica的丑闻,以及欧洲通过GPRD法律之后,该法律不允许轻松地收集,分析和管理个人数据。

捐助者个人助理-捐助者UA.Bot


但是在斯德哥尔摩胜利后,我们赞赏了聊天机器人的潜力,并且由于缺少用于乌克兰语言的NLP / NER工具而感到非常沮丧。 因此,副项目诞生了-Donor UA.Bot。

创建DonorUA.Bot,我们想解决几个问题:

  • 成功地处理聊天机器人的话题;
  • 为乌克兰语言创建命名实体识别-部分成功;
  • 收集有关捐赠禁忌症以及捐赠者的立法,限制和好处的知识库-成功地,数据库正在不断更新;
  • 首先,为自己创建一个工具-支持服务,因为80%的问题(相同的问题)都是成功的。

此外,借助我们的聊天机器人,我们能够拒绝大量电子邮件新闻通讯,这些新闻通讯已被Viber和Telegram中的个性化自动邮件取代。 电子邮件仍在选项列表中,但是越来越多的人喜欢使用Messenger。



Skype和Messenger机器人

但是,通过SMS邮件,我们并没有共同成长。 所有国家运营商均拒绝该项目提供SMS网关。 因此,使用聊天机器人和即时通讯程序是一个显而易见的步骤,甚至非常非常便宜。

现在呢


如今,DonorUA是一个用于征募和管理捐赠者的成熟的CRM / CMS平台,其中包括:

  1. 管理员,献血者,血液中心,医生办公室。
  2. 一个推荐系统,使捐赠者可以查看需要其血型的当前捐赠者列表,系统管理员可以为特定的捐赠者找到合适的捐赠者。
  3. 一个通知系统,当找到一个供体-收件人匹配项时,会自动将通知发送到Viber /电报/电子邮件。
  4. 流血事件是一套以Wiki格式提供给捐赠者的有用信息。
  5. 捐助者奖金计划。
  6. 来自乌克兰卫生部的官方开放(和处理)数据和开放统计数据。
  7. 监控社交网络。
  8. 捐赠人UA。Bot和AI。
  9. 适用于Android,iOS,Windows的移动应用程序。
  10. 适用于iOS / Android奖励计划合作伙伴的移动应用程序。
  11. 血液中心地图和血液中心评论。
  12. 捐助者支持服务。
  13. 一个开放的API,基于该API可以实现与其他服务的几种集成。
  14. 企业捐赠。
  15. 合作伙伴为捐助者提供的特别计划和折扣。

例如,在这里看起来像是一个血液中心的信息站:



这就是它在我们系统中的外观:



红色表示几乎没有关键血液,黄色表示血液用尽,绿色表示足够

或者这是自动化的另一个例子。 在每次捐赠之前,捐赠者必须填写一份调查表,该调查表由大约30个问题组成,耗时1至3分钟。 如果您想象一个普通的血液中心每天可以接待40-50名员工,那么每天将有4-5名工作人员(!)节省1-1.5小时。 在我们的系统中,献血者可以一次在线填写申请表,并随着信息的变化进行更新(这种情况很少发生),而血液中心可以在其办公室下载完整的申请表。 在很多这样的示例中,我们能够优化某些流程。

将所有过程转化为数字还有另一个积极作用:我们可以随时评估情况-在单独的血液中心一级,或者在城市或整个国家一级。

建筑与技术栈


该项目是在Microsoft Azure平台上的ASP.NET MVC + Web API +实体框架上完成的。 我们使用Azure SQL数据库,Azure Blob存储,Azure作业,Azure CDN,认知服务+ Microsoft Bot Framework。 在Xamarin上开发的移动应用程序。 对于团队工作,使用Office 365,Slack,Asana和Visual Studio Team Systems。 总体而言,标准的.NET / Azure堆栈没有什么特别的。

我们在Microsoft Bot Framework +之上为乌克兰语言编写了自己的(相当简单)NER,并添加了与Viber的集成,这使我们能够以乌克兰语言快速创建QnA(问题和答案)聊天机器人(类似于Microsoft的QnA Maker,后者是Azure Cognitive的一部分)服务)并快速将其部署在所有流行的平台上-Messenger,Viber,Telegram,Skype,Skype for Business,Slack,Microsoft Teams,电子邮件,网络聊天,并使用Direct Line API将chatbot集成到移动应用程序中。



Azure + Microsoft Bot Framework上的标准聊天机器人体系结构

Microsoft已通过Microsoft Bizspark程序为我们的Azure项目提供了资源。 最近,Microsoft Bizspark被Microsoft取代,用于启动公司,获取资源变得更加困难,但是我们已经成功地应用到了另一个程序-Microsoft for Nonprofit,在该程序中,您可以以300美元的价格获得Office 365和300美元的Microsoft Azure资源,每年免费提供。 因此,尽管事实上该项目实际上是社交项目,但所有流程都是按照真实业务项目的方式构建的。

谈到业务。

商业模式和定位


融资问题经常被问到我们,以及实际上关于我们如何定位项目的问题。

从一开始,我们就将DonorUA定位为无利可图的社会项目。 但是无利可图并不意味着人们不需要支付薪水和账单。 然而,在许多人的心中,不盈利就等于免费。 我们不想参与资助计划,坦率地说,几乎所有资金都在谈判的早期阶段将我们拉开序幕-他们说,这不是一种形式。 但是我们不想填写无数的招标文件,实际上,我们不知道如何做。 因此,几乎所有项目融资都是其自有资金,部分资金来自与该项目无关的一个人。

我们没有考虑将项目通过获利者获利的选择-大多数求助者求助于我们,已经在心理和物质上都存在问题。 那些可以购买我们服务的人通常不与我们联系,而是通过“他们的渠道”解决问题。

当社交项目的定位“没有成功”时,我们开始将该项目定位为一家电子卫生初创公司,实际上,它与事实并非遥不可及,但有一些细微差别。 这样的定位是有回报的-我们定期开始进入媒体,能够赢得几次创业竞赛,并且我们开始被邀请作为公民技术和社会创新的专家。 不幸的是,这并没有给我们带来赠款,合作伙伴或投资。

在一个初创公司竞赛中发生了一个有趣的情况,获胜者应该获得约75,000美元的开发资金。 但是,在我们赢得比赛之后,我们收到了……一本书。 是的,乌克兰的初创企业竞赛是毫无意义和残酷的:-)然后还有更多的决赛,胜利和参与,但是在某些时候,我们意识到这是浪费时间。

目前,我们提供具有社会责任感的企业来举办公司捐赠日,并成为捐赠运动发展的一部分。 我们正在积极寻找与这些公司进行合作,以提供全新水平的团队建设以及企业社会责任。

于是我们开始赚点钱。 关键字有点 :-)而且我们还有很多计划!

机器学习与人工智能


监视社交网络,聊天机器人,NLP / NER-实际上,我们已经使用单独的AI元素来解决某些问题。 但是使用MO和AI的可能性更大。

目前,我们正在致力于解决几个问题。

根据历史数据预测献血量


这项工作相当标准,但是问题在于历史数据很少,充其量只是汇总的数据,因此您无法使用它们。 但是我们的数据还不够。 尽管如此,我希望将来与血液中心的更紧密集成将使我们能够获得个性化的历史数据,并且这将使我们能够利用AI算法的全部功能来预测需求。

预测捐赠者将在接下来的X天内献血的可能性为N


为了开发模型,我们使用了开放数据集- 输血服务中心数据集 ,实际上它包含来自其中一个血液中心的真实数据。 在对公开数据进行培训之后,我们开始分析使用Donor UA收集的数据。 您可以在此处了解更多信息。

减少受赠人的匹配数


供体和接受者的匹配算法效果很好,但是它有一个明显的缺点:当您增加数据库并选择流行的血型时,我们将获得数千次匹配。 更多并不总是更好。 我们真的不希望来自我们的邮件被捐助者视为垃圾邮件。 因此,有必要解决在不损失质量的情况下减少供体与接收者的匹配数的问题。 此外,我们应该说服不太活跃的捐助者定期捐款。

为了解决问题,我们使用了大量工具-从Microsoft Azure机器学习开始,以各种python库和Microsoft的新工具-ML.NET库结束。

而不是结论


现代技术开辟了许多新的机会,包括解决人类的尖锐问题。

通过我们的例子,我们想证明活跃的人和现代技术的协同作用可以创造奇迹。 在DonorUA的框架下,三年来,我们直接帮助了2.5万人,而2万人的献血活动可能挽救了6万人的生命。

云技术,人工智能和机器学习算法为开发人员和企业提供了新的机遇,而您只能梦想再有十年。

. .

.

关于作者


— CEO DevRain Solutions, CTO UA, ..., Microsoft Artificial Intelligence Most Valuable Professional, Microsoft Regional Director.

Source: https://habr.com/ru/post/zh-CN415017/


All Articles