科学网

 找回密码
  注册

tag 标签: 架构

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

科研论文的格式架构与人体架构的对应关系
jiangjiping 2019-1-30 09:01
科研论文的格式架构与人体架构的对应关系 蒋继平 2019年1月30日 虽然科研论文的专业期刊多如牛毛, 数不胜数, 但是, 绝大多数科研论文都有一个共同的格式架构。这个格式架构几乎被所有专业期刊采用, 也被所有论文作者用来作为写论文的标准。 一个标准的科研专业论文一般具有这些格式架构: 1. 题目(Title)。 2. 作者和通讯地址(Authors and Addresses)。 3. 摘要(Abstract)。 4. 引言(Instruction)。 5. 材料和方法(Materials and Method)。 6. 结果和讨论(Result and Discussions)。 7. 参考资料(References )。 一共有7个部分组成一个标准的科研论文。 当然, 不同的期刊会有一些小小的变动。 比如说: 参考资料部分也可以用引用文献(Literatures Cited)来替换。 根据以上的信息, 我觉得科研论文的格式架构与人体架构有着很相似的对应关系。 首先, 题目是人的头发。都是架构最上面的部分, 也是最引人注目的地方。 其次, 作者和地址应该是前额部分, 一般不会引起多大的关注。 再者, 摘要相对于人的脸面, 是给人印象最深的部分。 然后, 引言是人的脖子, 是承上启下的关键部位。 接下来, 材料和方法好比是胸肩和上肢。 材料和方法是一篇论文的核心内容,胸肩和上肢也是一个人的核心部位。 还有, 结果和讨论对应于腹部和大腿。 最后, 参考资料好像是小腿和脚。参考资料是做实验的依据, 小腿和脚是人站立的依靠。 从以上的分析和对比很容易看出, 一篇标准的科研论文从题目到参考资料就像是一个站立的人体, 题目是人的头发, 参考资料是人的小腿和脚, 中间从上到下的顺次是摘要(脸), 引言(脖子),材料和方法(肩和上肢及胸部),结果和讨论(腹部和大腿)。 鉴于这样的对应关系, 不难理解,一篇优秀的科研论文必须具有下列特色。 第一, 一个合意和引人注目的标题(发型和颜色, 发型应该与体形匹配)。 第二, 一个具有特色和新意的摘要(眉清目秀和鼻梁高挺, 让人一看就喜欢或者印象深刻)。 第三, 一个非常得体和精炼的引言(一根不太长也不太短的, 不粗不细的脖子, 要不然, 会给人一种长脖子, 短脖子, 粗脖子, 或者细脖子的感觉)。 第四, 一段非常具体和内容翔实的材料和方法的展示(一个肌肉丰满, 轮廓明显,架构均称的手肩胸组合)。 第五,一席具有逻辑分析推理的结语和讨论(一个不太肥胖臃肿的腹部和一对肌肉丰满, 但是不太长, 也不太短的大腿,要不然, 会给人一种肥胖或者短腿的感觉, 反正要与整个论文保持均称)。 最后, 参考资料既要全面又要尽量做到精炼, 所以, 要控制在一定的数量范围内, 但是, 又要尽量将相关研究的信息包含在内(一双大小尺寸均匀正常的脚和小腿, 让人站在那里有一种稳妥的感觉)。
个人分类: 万花镜|1855 次阅读|0 个评论
Web应用架构入门之11个基本要素
stefanzan 2018-8-20 11:16
译者: 读完这篇博客,你就可以回答一个经典的面试题:当你访问Google时,到底发生了什么? 原文: Web Architecture 101 译者: Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 当我还是小白的时候,如果知道Web应用架构就好了! 上图展示了我们 Storyblocks 的架构,对于初学者来说,似乎有些复杂。 下面我通过用户访问 Strong Beautiful Fog And Sunbeams In The Forest 页面的处理过程来简单说明各个架构要素的作用: 当用户点击 Strong Beautiful Fog And Sunbeams In The Forest 访问我们的图片服务时,浏览器会先给 DNS(域名解析服务) 服务器发送请求,获取IP地址,然后再给Storyblocks服务器发送请求。 用户的请求会到达我们的 Load Balancer(负载均衡服务) ,Load Balancer会随机选择我们10个 Web Application Server(网页应用服务) 中的一个来处理这个请求。 Web Application Server会先在 Caching Service(缓存服务) 读取图片信息,然后再从 Database(数据库) 中读取其他数据。 当Web Application Server发现图片的color profile(颜色分析)还没有计算时,会给 Job Queue(任务队列) 发送一个color profile任务。 Job Server(任务服务) 会从Job Queue中获取corlor profile任务进行异步计算,计算结束之后再更新数据库。 Web Application Server会给 search service(搜索服务) 发送搜索请求,以图片的名字作为关键词,来查找类似的图片。 如果用户恰好是登录状态,Web Application Server会去访问 Account Service(账号服务器) 来获取账号信息。 Web Application Server会给 data firehose(数据加载服务) 发送一个 Page View(网页浏览) 事件,并把它记录到我们的 Cloud Storage System(存储云) ,最终加载到我们的 Data Warehouse(数据仓库) 中。数据分析师会通过Data Warehouse中的数据来分析我们的运行情况,辅助我们的商业决策。 Web Application Server会渲染出HTML,并把它通过Load Balancer发送给用户的浏览器。页面中的JavaScript和CSS文件存储在我们的 Cloud Storage System(存储云) 中,并通过CDN进行分发。因此,用户的浏览器会直接访问CDN来获取JavaScript和CSS文件。 最后,浏览器再渲染整个页面给用户看。 我们的 Strong Beautiful Fog And Sunbeams In The Forest 页面有一张非常漂亮的森林图片,网页截图如下: 接下来,我会依次介绍每一个要素。 1. DNS DNS全称为Domain Name Server,即域名解析服务,它是互联网的基础。提供域名(比如google.com),DNS可以返回其IP地址(比如85.129.83.120)。有了IP地址,用户的计算机才知道应该访问哪个服务器。这一点类似于手机号码,域名与IP的区别等价于”给马云打电话”和”给201-867–5309打电话”。以前你需要通过电话本查找马云的手机号码,那DNS就类似于互联网的电话本,你需要它来查询某个域名的IP。 2. Load Balancer 图片来源 Load Balancer(负载均衡服务器)是我们对应用进行横向扩展的关键。它会把请求分发到多个 Web Application Server(网页应用服务) 中的一个,这些Application Server运行的程序是一样的,对同一个请求的处理方式完全相同,它们会把请求返回给客户端。Load Balancer的作用就是分发请求,这样,当某个服务器宕机时,仍然可以保证服务。 目前,业界最受欢迎的Load Balancer是 Nginx , Fundebug 用的也是 Nginx 。 3. Web Application Servers 图片来源 Web Application Server,即网页应用服务,理解起来相对简单一些。它们负责执行核心的业务逻辑,处理用户的请求,并返回HTML给用户浏览器。为了完成工作,它们通常需要访问多种后端服务,比如数据库、缓存、任务队列、搜索服务等。在Load Balancer中提到过了,Web Application Server通常有多个副本,它们从Load Balancer获取用户请求。 Web Application Server需要使用特定的编程语言(Java, Node.js, Ruby, PHP, Scala, Java, C# .NET等) 和MVC框架(Node.js有Express, Ruby有Rails, Scala有Play, PHP有Laravel等)来实现。 Fundebug 后端语言用的是 Node.js ,框架用的是 Express 。 4. Database 图片来源 现代应用基本上都需要使用1个或者多个 Dabase(数据库) 来存储数据。利用数据库,我们可以方便地对数据进行各种处理,比如定义数据结构、插入数据、查找数据、更新数据、删除数据、对数据进行计算等。一般来说,Web Application Servers会直接访问数据库,Job Server也一样。另外,每一种后端服务都有可能会需要独立的数据库。 目前,业界最受欢迎的开源数据库技术有 MySQL 、 MongoDB 等。 Fundebug 用的是 MongoDB 。 5. Caching Service 图片来源 Caching Service ,即缓存服务,提供简单的键值对存储和读取服务,它可以让数据的存储和读取的时间复杂度接近于O(1)。对于复杂的计算,我们会将计算结果存储到缓存中,这样下次需要结果时,就不需要重新计算了,可以从缓存中直接读取结果。Web Application Servers会将数据库查询、外部调用结果、某个URL对应的HTML文件等存储到缓存中。 下面是一些真实的缓存实例: Google会缓存常见查询的结果,比如”dog”或者”Taylor Swift”,而不是每次去重新计算。 Facebook会缓存你登陆时看到的数据,比如动态、朋友等,细节可以阅读 Scaling Memcache at Facebook 。 我们Storyblocks会缓存React服务端渲染的HTML,搜索结果等。 目前,业界最受欢迎的缓存技术是 Redis 和 Memcache 。 Fundebug 用的是 Redis 。 如何你希望实时监控线上应用的BUG,欢迎免费试用 Fundebug ! 6. Job Queue Servers 图片来源 大多数网页应用都需要在后台进行一些异步计算,这些计算并非直接与响应用户请求有关。比如,Google需要爬取整个互联网的网页,并为其建立索引,这个计算不是在你搜索的时候进行,而是异步进行,他们一直在更新网页索引。 异步计算有多种不同的方式,最普遍的方式就是Job Queue,即任务队列。它由两部分组成,一个保存任务的队列,以及一个或者多个运行任务的服务。 Job Queue中保存了需要进行异步计算的任务。最简单的任务队列是first-in-first-out (FIFO),即先进先出,而更为复杂的队列会有优先级机制。对于 Web Application Servers来说,当需要计算某个任务时,将这个任务加入队列就可以了。 在Storyblocks,我们利用Job Queue运行非常多的后台任务,比如编码视频和图片、为CSV加标签、统计用户数据、发送密码重置的邮件等。刚开始我们用的是FIFO队列,后来我们增加了优先级机制来保证响应时间要求高的任务(比如发送密码重置邮件)可以尽快处理。 Job server(任务服务)负责运行任务,它们不断从队列中获取任务然后执行。Job Server也可以使用各种后端语言编写, Fundebug 用的是 Node.js 。 目前,业界流行的Job Queue技术有 RabbitMQ 、 ActiveMQ 、 Kafka 等, Fundebug 用的是 RabbitMQ 。 7. Full-text Search Service 大多Web应用都会支持搜索功能,用户输入关键词,应用返回相关结果。搜索技术也被称作 full-text search ,即全文检索,是通过 inverted index (倒排索引) 来是的。如下图所示: 事实上,数据库比如 MySQL 会支持全文检索功能,但是一般来说我们会采用独立的 Search Service(搜索服务) 来计算和保存倒排索引,并提供搜索接口。目前最受欢迎的全文检索技术是 Elasticsearch ,当然还有其他选择,比如 Sphinx 和 Apache Solr , Fundebug 用的是 Elasticsearch 。 8. Services 当应用规模足够大时,很可能需要将一些服务拆分出来。这些服务并不向外部提供,而是提供给Web Application Servers以及其他内部服务。在Storyblocks,我们有很多这样的服务: Account service(账号服务) :管理我们所有站点的用户账号数据,提供统一的账号系统。 Content service(内容服务) :管理我们所有视频、音频和图片的元数据,它会提供下载内容和查看历史的接口。 Payment service(支付服务) :提供接口来结算用户的信用卡。 HTML → PDF service(HTML转PDF服务) :提供HTML转PDF的接口。 Services也可以使用各种后端语言编写, Fundebug 用的是 Node.js 。 9. Data 图片来源 AI时代,一个公司的成败取决于它如何利用数据。一个典型的数据处理处理流程有3个主要步骤: Web Application Servers负责收集数据,通常是一些用户行为记录,将数据发送给 Data Firhose(数据加载服务) ,Data Firhose负责将流数据可靠地加载到数据存储和分析工具。 AWS Kinesis 和 Kafka 可以作为Data Firhose。 Data Firhose将收集的原始数据以及初步处理过的数据存储到数据云中。 AWS Kinesis Data Firehose 可以方便地将数据存储到 AWS 云存储 (S3)中。 初步处理过的数据可以加载到 Data Warehouse(数据仓库) 进行处理。我们使用的是 AWS Redshift ,大型公司有些使用Oracle的 Data Warehouse 。如果数据非常大的话,可能需要使用 Hadoop 。 还有,我们Storyblocks会每天晚上将Web Application Servers和各种Services的运行数据加载到Redshift中。这样,我们的数据分析师可以结合所有数据进行综合分析。 Fundebug 使用 Kafka 作为Data Firhose,使用阿里云的 对象存储 OSS 作为数据仓库,使用 Hadoop 进行离线数据分析。 10. Cloud storage Cloud storage即数据存储云,可以通过安全、可扩展的数据存储服务,可以存储任意数据,并可以通过HTTP接口进行操作和管理。亚马逊的 AWS 云存储 (S3)是当前最受欢迎的数据存储云,我们Storyblocks依赖它来存储视频、音频、图片、JavaScript、CSS以及前文提到过的用户行为数据等。 Fundebug 使用阿里云的 对象存储 OSS 以及腾讯云的 对象存储 COS 作为数据存储云。 11. CDN CDN,全称为Content Delivery Network,即内容分发网络,它可以利用更靠近用户的服务器分发HTML、CSS、JavaScript和图片等静态资源,有效降低页面加载时间。不再使用单个源服务器提供服务,而是利用全球各地的服务器作为缓存服务器分发静态资源,用户可以直接从更加靠近他们的缓存服务器下载资源,而不需要去访问源服务器。 如下图所示,当西班牙的用户给纽约的网站请求某个页面时,静态资源可以从英国的缓存服务器直接下载,而不再需要进行速度很慢的跨大西洋访问: 图片来源 这篇博客 详细介绍了CDN技术。一般来说,网页应用会使用CDN来分发CSS,JavaScript,图片以及视频等静态资源。 Fundebug 使用腾讯云以及七牛云的CDN服务。 参考 RabbitMQ入门教程 不要争了!技术选择没那么重要 MongoDB之compact操作详解 MongoDB复合索引详解 当Node.js遇见Docker 关于Fundebug Fundebug 专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了6亿+错误事件,得到了Google、360、金山软件等众多知名用户的认可。欢迎免费试用! 版权声明: 转载时请注明作者Fundebug以及本文地址:https://blog.fundebug.com/2018/08/20/11-element-of-web-application/
2672 次阅读|0 个评论
【朝华点滴:百万架构图幻灯片的演进】
liwei999 2018-1-28 22:58
以前提过这个 million-dollar slide 的故事,今天找出来几张旧图,回看一路风尘留下的足迹,思绪不由飘向 漫天风雪的水牛城,我旅美生涯的起点 。美国是个伟大的国度,它为一个赤手空拳游离主流之外的异国流浪者提供了一个舞台,终使其跨越世纪的 科研美梦成真 。 说的是克林顿当政时期的 2000 前,美国来了一场互联网科技大跃进,史称 .com bubble,一时间热钱滚滚,各种互联网创业公司如雨后春笋。就在这样的形势下,老板决定趁热去找风险投资,嘱我对我们实现的语言系统原型做一个介绍。我于是画了下面这么一张三层的NLP体系架构图,最底层是parser,由浅入深,中层是建立在parsing基础上的信息抽取,最顶层是几类主要的应用,包括问答系统。连接应用与下面两层语言处理的是数据库,用来存放信息抽取的结果,这些结果可以随时为应用提供情报。 话说架构图一大早由我老板寄送给华尔街的天使投资人,到了中午就得到他的回复,表示很感兴趣。不到两周,我们就得到了第一笔100万美金的天使投资支票。投资人说,这张图太妙了,this is a million dollar slide,它既展示了技术的门槛,又显示了该技术的巨大潜力。 这个体系架构自从我1997-1998年提出以后,就一直没有大的变动,虽然细节和图示都已经改写了不下100遍了,下面的两张架构图示大约是前20版中的,此版只关核心引擎(后台),没有包括应用(前台)。 1999 版 2000 版 2003 版 2003 版之二 2004 版 下面两个版本是天使或A轮投资人帮助美化来吸引其他投资人的: 九九归一,天变不变道恒不变,最终的架构图反映在我的【 立委科普:自然语言系统架构简说 】中的四张NLP联络图上: 【相关】 【 立委科普:自然语言系统架构简说 】 【美梦成真 】 《朝华午拾:创业之路》 《立委流浪图》 【语义计算:李白对话录系列】 【置顶:立委NLP博文一览】 《朝华午拾》总目录
个人分类: 立委科普|5479 次阅读|0 个评论
【关于NLP体系和设计哲学】
liwei999 2016-6-30 15:50
【立委科普:NLP 联络图 】 【立委科普:自然语言系统架构简说】 【立委科普:自然语言parsers是揭示语言奥秘的LIGO式探测仪】 《泥沙龙笔记:沾深度神经的光,谈parsing的深度与多层》 【立委科普:语言学算法是 deep NLP 绕不过去的坎儿】 《OVERVIEW OF NATURAL LANGUAGE PROCESSING》 《NLP White Paper: Overview of Our NLP Core Engine》 White Paper of NLP Engine 《泥沙龙笔记:deep,情到深处仍孤独》 《泥沙龙铿锵三人行:句法语义纠缠论》 《泥沙龙笔记:知识习得对本体知识,信息抽取对知识图谱》 【泥沙龙笔记:再谈知识图谱和知识习得】 【立委科普:本体知识系统的发展历程】 Notes on Building and Using Lexical Semantic Knowledge Bases NLP 是什么,不是什么?做什么,不做什么? 【 关于 NLP 以及杂谈 】 【 关于NLP体系和设计哲学 】 【 关于NLP方法论以及两条路线之争 】 【 关于 parsing 】 【关于中文NLP】 【关于信息抽取】 【关于舆情挖掘】 【关于大数 据挖掘】 【关于NLP应用】 【关于人工智能】 【关于我与NLP】 【关于NLP掌故】 《朝华午拾》总目录 【关于立委NLP的《关于系列》】 【置顶:立委NLP博文一览(定期更新版)】 【 立委NLP频道 】
个人分类: 立委科普|2268 次阅读|0 个评论
导亦有道,我是这样做NLP导师的
热度 1 liwei999 2016-6-27 02:17
我: 我是这样教导学生 NLP和 AI 的: 人工智能里面没有智能 知识系统里面没有知识 一切都是自己跟自己玩 一切都是为了自己玩自己的时候 努力玩得似乎符合逻辑 自然 方便 而且容易记忆和维护 学: 前面的听懂了,AI 这块有点懵懂 我: 没关系 前面听懂了是关键。后面是哲学,哲学的事儿不必那么懂。你都懂了 我这个做导师的怎么吃饭呢? 学: 给功能词加 features 怎样才妥? 我: 功能词可以枚举,原则上可以没有 features,无所谓妥不妥。看你怎么用 用起来觉得妥就妥 觉得别扭或捣乱 就不妥。如果你永远不用 则没有妥不妥的问题 给了与不给一个样 因为永远没用到。没用到是可能的,譬如你总是为这个词写 WORD 的规则, 不让它有机会被 feature 的规则匹配上 那么 features 就是摆设 也就谈不上妥不妥。 学: 有道理。本来就这么几个词,写WORD就好了,不需要为Feature伤脑筋。 我: 有点开窍的意思 学: 跟老师多交流,才能开窍,不然我就钻进自己的死胡同了。 我: 人都是这样的 钻进n个胡同以后才能在 n+ 的时候开窍。没进过胡同就开窍的 那不是天才 那是死人。 学: NLP 里面的知识表达,包括词典的 features,应该怎么设计呢? 我: 从词典表达 lexical features 到句法语义逻辑的表达,大多没有黑白分明的标准答案。 就是自己这么给了 显得蛮合理 也好记忆 否则自己就不舒服 或记不住。更重要的是 给了 features 以后 规则好写了 规则自然 简洁 有概括性 且方便维护。 almost everything is coordination u assign u use no one is in between no intelligence no god as long as it makes sense to you (not to others) so u know what u r doing as long as it is natural and easy to remember as long as you find it convenient to use certain features in rules and rules are easy to read and easy to maintain in principle u can assign anything to any words or choose not to assign what goes around comes around you play with yourself computer knows nothing features are just 0s or 1s WHAT GOES AROUND COMES AROUND that is NLP in an integrated system whether it refers to POS, chunking, SVO or logical form it is to make your job easy and yourself comfortable u have no need to make others happy unless your system is a middleware commodity to serve your clients if your NLP and your NLP apps are within your own control they are integrated in your system in your own architecture everything is internal coordination This is my lecture on NLP Architecture for Dummies 白: you是谁?个人、团队、公司? 我: good question, it is the architect in most cases: he has the say. Sometimes it can be a bit democratic if the architect wants to motivate his team, for example the naming right. 白: 是全局系统的architect,还是NLP这嘎达的architect? 我: a bit of knowledge is named as f1 or f2, that is arbitrary and the major consideration is memonic-like, features must be easy to remember, but sometimes we let a team member decide its name, such practice often makes the team happy, wow I can act like God, wow I can decide a drop of the sea in the system language … 白: 伟哥还没回答我最后一个问题: 是全局系统的architect,还是NLP这嘎达的architect? 我: the former because we are talking about NLP and NLP apps in an integrated system: apps 不是产品 而是语义落地。落地后 还有一个产品层面 包括 UI 等 那已经不劳我们操心了。落地是与产品的接口而已。NLP 核心引擎与 NLP 落地 是一个无缝连接的系统 这种 design 可以羡慕死人。 如果是有缝对接 如果是两拨人马 两个设计师 甚至两个公司 那就扯不完的皮 擦不完的屁股 成不了大事儿。NLP 和 NLP 产品可以分开 而且应该分开 但是 NLP 与 NLP落地 最好不分开。NLP 落地 包括(1) IE (2) MT (3) dialogue (mapping) (4) QA (5)…… 内部分层 但外部不分开 这就叫无缝连接 可以说 offshelf 害死人,component technology 没有啥前途。选择 offshelf 或 license components 往往是无奈之举,自己暂时没有能力 或不具备条件做,也有找的借口冠冕堂皇:不要 reinvent wheels,最后害的还是自己。 我们已经害过几次自己了 吃尽了苦头 才有这 “十年一悟”,以前说过的: 做工业NLP 自给自足是王道。 白: 这个,关键看公司拥有什么样的专家了。专家不同模式也不同。 我: 也与时代有关: 20 年后也许不必自给自足,就一样做好NLP落地。 【相关】 【立委科普:NLP 联络图 】 【立委科普:自然语言系统架构简说】 自给自足是NLP王道 置顶:立委科学网博客NLP博文一览(定期更新版)】 《朝华午拾》总目录
个人分类: 立委科普|3042 次阅读|1 个评论
【立委科普:自然语言系统架构简说】
热度 2 liwei999 2016-6-1 16:29
对于自然语言处理(NLP)及其应用,系统架构是核心问题,我在博文【 立委科普:NLP 联络图 】里面给了四个NLP系统的体系结构的框架图,现在就一个一个做个简要的解说。 我把 NLP 系统从核心引擎直到应用,分为四个阶段,对应四张框架图。最底层最核心的是 deep parsing,就是对自然语言的自底而上层层推进的自动分析器,这个工作最繁难,但是它是绝大多数NLP系统基础技术。 parsing 的目的是把非结构的语言结构化。面对千变万化的语言表达,只有结构化了,patterns 才容易抓住,信息才好抽取,语义才好求解。这个道理早在乔姆斯基1957年语言学革命后提出表层结构到深层结构转换的时候,就开始成为(计算)语言学的共识了。结构树不仅是表达句法关系的枝干(arcs),还包括负载了各种信息的单词或短语的叶子(nodes)。结构树虽然重要,但一般不能直接支持产品,它只是系统的内部表达,作为语言分析理解的载体和语义落地为应用的核心支持。 接下来的一层是抽取层 (extraction),如上图所示。它的输入是结构树,输出是填写了内容的 templates,类似于填表:就是对于应用所需要的情报,预先定义一个表格出来,让抽取系统去填空,把语句中相关的词或短语抓出来送进表中事先定义好的栏目(fields)去。这一层已经从原先的领域独立的 parser 进入面对领域、针对应用和产品需求的任务了。 值得强调的是,抽取层是面向领域的语义聚焦的,而前面的分析层则是领域独立的。因此,一个好的架构是把分析做得很深入很逻辑,以便减轻抽取的负担。在深度分析的逻辑语义结构上做抽取,一条抽取规则等价于语言表层的千百条规则。这就为领域转移创造了条件。 有两大类抽取,一类是传统的信息抽取(IE),抽取的是事实或客观情报:实体、实体之间的关系、涉及不同实体的事件等,可以回答 who dis what when and where (谁在何时何地做了什么)之类的问题。这个客观情报的抽取就是如今火得不能再火的知识图谱(knowledge graph)的核心技术和基础,IE 完了以后再加上下一层挖掘里面的整合(IF:information fusion),就可以构建知识图谱。另一类抽取是关于主观情报,舆情挖掘就是基于这一种抽取。我过去五年着重做的也是这块,细线条的舆情抽取(不仅仅是褒贬分类,还要挖掘舆情背后的理由来为决策提供依据)。这是 NLP 中最难的任务之一,比客观情报的 IE 要难得多。抽取出来的信息通常是存到某种数据库去。这就为下面的挖掘层提供了碎片情报。 很多人混淆了抽取(information extraction) 和下一步的挖掘(text mining),但实际上这是两个层面的任务。抽取面对的是一颗颗语言的树,从一个个句子里面去找所要的情报。而挖掘面对的是一个 corpus,或数据源的整体,是从语言森林里面挖掘有统计价值的情报。在信息时代,我们面对的最大挑战就是信息过载,我们没有办法穷尽信息海洋,因此,必须借助电脑来从信息海洋中挖掘出关键的情报来满足不同的应用。因此挖掘天然地依赖统计,没有统计,抽取出来的信息仍然是杂乱无章的碎片,有很大的冗余,挖掘可以整合它们。 很多系统没有深入做挖掘,只是简单地把表达信息需求的 query 作为入口,实时(real time)去从抽取出来的相关的碎片化信息的数据库里,把 top n 结果简单合并,然后提供给产品和用户。这实际上也是挖掘,不过是用检索的方式实现了简单的挖掘就直接支持应用了。 实际上,要想做好挖掘,这里有很多的工作可做,不仅可以整合提高已有情报的质量。而且,做得深入的话,还可以挖掘出隐藏的情报,即不是元数据里显式表达出来的情报,譬如发现情报之间的因果关系,或其他的统计性趋势。这种挖掘最早在传统的数据挖掘(data mining)里做,因为传统的挖掘针对的是交易记录这样的结构数据,容易挖掘出那些隐含的关联(如,买尿片的人常常也买啤酒,原来是新为人父的人的惯常行为,这类情报挖掘出来可以帮助优化商品摆放和销售)。如今,自然语言也结构化为抽取的碎片情报在数据库了,当然也就可以做隐含关联的情报挖掘来提升情报的价值。 第四张架构图是NLP应用(apps)层。在这一层,分析、抽取、挖掘出来的种种情报可以支持不同NLP产品和服务。从问答系统到知识图谱的动态浏览(谷歌搜索中搜索明星已经可以看到这个应用),从自动民调到客户情报,从智能助理到自动文摘等等。 这算是我对NLP基本架构的一个总体解说。根据的是近20年在工业界做NLP产品的经验。18年前,我就是用一张NLP架构图忽悠来的第一笔风投,投资人自己跟我们说,这是 million dollar slide 。如今的解说就是从那张图延伸拓展而来。 天不变道亦不变。 以前在哪里提过这个 million-dollar slide 的故事。说的是克林顿当政时期的 2000 前,美国来了一场互联网科技大跃进,史称 .com bubble,一时间热钱滚滚,各种互联网创业公司如雨后春笋。就在这样的形势下,老板决定趁热去找风险投资,嘱我对我们实现的语言系统原型做一个介绍。我于是画了下面这么一张三层的NLP体系架构图,最底层是parser,由浅入深,中层是建立在parsing基础上的信息抽取,最顶层是几类主要的应用,包括问答系统。连接应用与下面两层语言处理的是数据库,用来存放信息抽取的结果,这些结果可以随时为应用提供情报。这个体系架构自从我15年前提出以后,就一直没有大的变动,虽然细节和图示都已经改写了不下100遍了,本文的架构图示大约是前20版中的一版,此版只关核心引擎(后台),没有包括应用(前台)。话说架构图一大早由我老板寄送给华尔街的天使投资人,到了中午就得到他的回复,表示很感兴趣。不到两周,我们就得到了第一笔100万美金的天使投资支票。投资人说,这张图太妙了,this is a million dollar slide,它既展示了技术的门槛,又显示了该技术的巨大潜力。 from 科学网—前知识图谱钩沉: 信息抽取引擎的架构 【相关】 【立委科普:NLP 联络图 (之一)】 前知识图谱钩沉: 信息抽取引擎的架构 【立委科普:自然语言parsers是揭示语言奥秘的LIGO式探测仪】 【征文参赛:美梦成真】 《OVERVIEW OF NATURAL LANGUAGE PROCESSING》 《NLP White Paper: Overview of Our NLP Core Engine》 White Paper of NLP Engine 《朝华午拾》总目录 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|8751 次阅读|2 个评论
构建一体化、多层次的国家临床研究网络
热度 1 jiaxf 2016-5-12 12:48
导语:当前我国迫切需要通过开展高质量、大人群、长期的临床研究,加快积累并形成一系列适合本国人群的特点、安全有效的疾病防、诊、治证据和规范,支撑临床诊疗的安全性和有效性。通过顶层设计,架构一体化、多层次、多学科覆盖、区域平衡的国家综合临床研究网络联盟,实现研究资源的整合与研究质量的控制,推进临床研究高质量、高效率的实施。 随着经济、社会的发展,我国居民健康水平和生活质量快速提升的同时疾病模式也发生着快速转变,健康水平的不断提升面临着严峻的挑战。围绕医学科技重点领域,创新科技发展,不断加强科技对健康水平的支撑,是国家医学科技发展的总体战略需求。 疾病防、诊、治疗的技术规范和标准是指导疾病防治活动的规范化措施,是全链条医学科技创新中最为重要的环节。而当前我国疾病防、诊、治的规范和相关技术标准多是在西方国家人群研究证据上发展而来的,缺乏在我国人群中的安全性和有效性评估,因而迫切需要通过开展高质量、大人群、长期的临床研究,加快积累并形成一系列适合本国人群的特点、安全有效的疾病防、诊、治证据和规范,构建我国临床诊疗循证的医学基石,支撑临床诊疗的安全性和有效性。 当前,国际上高质量的临床研究需要科学的设计、严格的质控、大规模的人群、长期的跟踪研究和多中心共同参与实施完成,具有技术难度高、资金需求量大、质控困难、管理协调工作量大等特点。 国际主流的研究模式是通过搭建国家临床研究网络,有效集成研究资源、规范研究过程、高效链接基础研究和转化应用、集成化协同开展研究,提升临床研究的效率和质量。典型医学科技发达国家均在积极完善建设国家临床研究网络,如英国国家临床研究联盟、美国NIH艾滋病、肿瘤临床研究网络等。 我国临床研究存在着“重复分散”和“孤岛化”等问题,长期依靠少数、小范围、分散的研究力量开展,基础薄弱、水平落后,研究成果质量差且不能有效地转化应用,使得原本不足的科技资源长期处于分散、低效的配置状态。借鉴国际相关经验,根据我国医学科技研发特点探索,研究搭建国家临床研究网络,利用我国较大的人口基数和丰富的患者资源,开展规范、科学的临床试验研究,提高我国临床医学研究的质量,推动临床研究成果的转化应用,扭转临床证据“输入国”为“输出国”,为我国疾病防诊治提供科学的解决方案,并为世界疾病规范性、个体化的防诊治策略的发展奠定基础,是我国医学研究模式创新发展的重要任务。 1. 我国临床研究发展现状和问题分析 临床研究是以疾病的病因和诊断、治疗、预防、康复的策略/产品为主要研究内容,以患者为主要研究对象,以医疗服务机构为主要研究基地,由多学科人员共同参与组织实施的科学研究活动。临床研究具有 高技术门槛、高资金和人员投入、高水平管理要求等特点 ,我国已开始重视临床研究,研究逐步规范,但研究的规范化管理和质量控制等环节依旧存在非常严峻的问题,顶层设计依旧薄弱,相关研究亟待开展。 近十年我国临床研究数量增长迅速,但研究能力偏弱,近半数的研究主体是外企;当前依然缺乏多中心、大人群、高质量、规范的临床研究。 2012 年起,科技部联合相关部委分三个批次启动了11个重点疾病领域的32家国家临床医学研究中心建设工作,开展国家临床医学研究协同网络建设工作,在集聚创新资源、优化组织模式等方面发挥了积极的作用。但我国临床医学研究网络的宏观架构尚缺乏国家层面统一规划,当前仍未形成一体化、多层级临床研究网络,主要存在如下问题: (1)临床研究机构间功能定位不清晰,相互孤立导致研究的低效。 (2)研究对象招募、随访和全程管理未能高效、高质量实施。 (3)研究规范缺失,研究过程质控不严,难以保证研究质量。 (4)研究伦理管理有待进一步加强,受试者安全保障应进一步提升。 (5)缺乏架构完善的研究信息管理系统,未能实现研究管理和研究过程的信息化管理。 (6)生物样本库规范化管理薄弱,样本库质量和利用率亟需提升。 (7)研究成果转化环节薄弱,需要平台和制度双重的支撑。 2. 国际临床研究的特点 (1)架构多层级临床研究网络 世界典型国家多通过架构临床研究网络,有效整合资源,提高研究的科学性,加速研究进程和成果转化,最终有效提高临床研究效率和质量。 国际典型临床研究网络如英国国家临床研究网络联盟(UK Clinical Research Collaboration,UKCRC),加拿大艾滋病、糖尿病等疾病临床研究网络及其在此基础上形成的加拿大临床研究联盟(Network of Networks,N2),美国NIH药物依赖和药物成瘾临床研究网络、艾滋病临床研究网络、肿瘤临床研究网络等。总体特点如下: ①世界典型国家临床研究网络一般由国家政府、国家级医学研究院或学会发起,可为综合型或单一疾病型临床研究网络,多为2~4层分层结构。 ②临床研究网络整合资源丰富,囊括大量国家研究机构、慈善组织、学会、社会团体、企业、医疗机构、社区等。 ③临床网络顶层功能为整合资源、控制质量、推动转化应用及组织协调,下面各级网络单元的功能逐渐具体,主要开展制定具体研究策略并实施临床研究等工作。 (2)依托临床研究网络,整合资源,实施高效的临床研究。 (3)建立严格的、国家层面统一且涵盖医学研究设计、过程和成果转化的研究规范和标准。 (如UKCRC在国家层面建立了标准化的人员、数据管理工具和临床研究规范、机构注册制度、患者注册制度、信息公开制度、伦理审查制度、研究质量控制规范等) (4)重视临床研究伦理管理和临床研究人才培训。 (5)采用信息管理系统实现研究过程和研究管理的网络信息化。 (6)加强生物样本库规范化管理,建立样本保存和共享管理机制。 (7)建立并不断完善转化医学平台,促进临床研究应用转化。 3. 构建我国临床研究网络的建议 我国临床研究网络架构的总体思想:通过顶层设计,架构一体的、多层次、多学科覆盖、区域平衡的国家综合临床研究网络联盟;通过相关部门的协作和标准规范的统一,实现临床研究资源的整合与临床研究高质量、高效率运行。 (1)国家临床研究网络主体 国家临床研究网络的主体应包括:①医学科技管理部门;②公益性医学科技研究院;③医学高等院校;④各级医疗机构及社区;⑤第三方质控和评价机构;⑥其他,如社会出资方、医疗/制药企业等。 (2)国家临床研究网络层次结构 国家临床研究网络联盟为三级网络,自上而下分别为:唯一的国家临床研究中心;按地区或学科分类的区域临床研究中心和临床研究单元。 ①国家临床研究中心 国家临床研究中心是国家临床研究网络的最高核心单位,挂靠在国家级医学研究机构,可由国家医学科技行政管理部门和国家级医学研究机构联合组成。 ②区域临床研究中心 区域临床研究中心可按照地区或者临床学科区分,依据地区人群健康需求或者某医学研究领域发展水平,可分为地区型临床研究中心和学科(疾病或健康问题)型临床研究中心两种。区域临床研究中心由多家挂靠机构组成,实行轮值主席管理制。挂靠机构可为医学科研机构、医学高等院校或具有较强科研实力的综合性三级甲等医疗机构。区域临床研究中心覆盖我国华北、东北、华东、华中、西南、西北、华南各大地理分区,每个区域根据实际需求设一至多个区域临床研究中心。区域临床研究中心在国家临床研究中心制定的标准和规范下牵头实施临床研究工作。区域临床研究中心接受国家临床研究中心的指导、管理和监督,负责对下设的临床研究单元进行指导、管理和监督,并在国家临床研究中心和临床研究单元之间起到纽带和桥梁作用。 ③临床研究单元 临床研究单元由执行临床研究的医疗机构或社区站点组成。临床研究单元由区域临床研究中心选择、准入考核并设立,根据研究需求实行不固定设置模式。临床研究单元直接接受区域临床研究中心的指导、管理和监督,配合开展相关监管工作。 (3)各级临床研究网络主体的功能定位与职责 ①国家临床研究中心 国家临床中心功能定位于:顶层设计、制度规范制定、资源整合、协调关系。 国家临床研究中心负责制定国家临床研究网络发展规划;整合多途径资源,合理分配资源;制定推行临床研究相关管理制度、技术标准规范;开展成果评价及技术转化推广工作,促进研究成果向产业化和临床应用转化;成立专家咨询委员,负责临床研究网络的战略咨询和技术评价、仲裁等工作;综合协调各利益相关者关系;开展国际合作交流工作,提高我国临床研究的国际化水平;建立信息网络平台,实现研究团队和研究基地的规范认证并促进临床研究过程管理和资源、成果共享;设立人才培育项目或开展相关培训,促进临床研究人员和管理人员素质的提高并营造研究文化等。 ②区域临床研究中心 区域中心功能定位为:组织实施临床研究、开展研究过程管理、上下联通。 区域临床研究中心负责设立本区域的临床研究单元,开展研究对象信息注册;负责协调本区域的临床研究资源;负责临床研究方案的制定与实施工作,包括实施统一的质控监督,进行研究全过程管理;管理本中心负责的临床研究的所有信息资源及生物样本资源;为临床研究单元的研究实施和管理人员提供技术支持;实施伦理和实验室安全管理等工作;协助开展第三方质控、评价等工作;按需组建本区域/学科专家咨询委员,负责区域发展战略咨询和技术评价、仲裁等工作;联系国家中心和下级临床研究单元,实现信息联通等。 ③临床研究单元 临床研究单元功能定位为:执行临床研究。 临床研究单元依据所掌握的临床资源,申请参与相关临床研究工作;严格按照研究方案开展临床研究工作,并可根据实际情况反映问题、提出改进措施;协助保持研究队列并及时反馈研究过程信息。 (撰文作者:中国医学科学院医学信息研究所/贾晓峰、殷环、陈娟)
5470 次阅读|1 个评论
前知识图谱钩沉: 信息抽取引擎的架构
liwei999 2015-11-1 09:43
【立委按】 以前在哪里提过这个 million-dollar slide 的故事。说的是克林顿当政时期的 2000 前,美国来了一场互联网科技大跃进,史称 .com bubble,一时间热钱滚滚,各种互联网创业公司如雨后春笋。就在这样的形势下,老板决定趁热去找风险投资,嘱我对我们实现的语言系统原型做一个介绍。我于是画了下面这么一张三层的NLP体系架构图,最底层是parser,由浅入深,中层是建立在parsing基础上的信息抽取,最顶层是几类主要的应用,包括问答系统。连接应用与下面两层语言处理的是数据库,用来存放信息抽取的结果,这些结果可以随时为应用提供情报。这个体系架构自从我15年前提出以后,就一直没有大的变动,虽然细节和图示都已经改写了不下100遍了,本文的架构图示大约是前20版中的一版,此版只关核心引擎(后台),没有包括应用(前台)。话说架构图一大早由我老板寄送给华尔街的天使投资人,到了中午就得到他的回复,表示很感兴趣。不到两周,我们就得到了第一笔100万美金的天使投资支票。投资人说,这张图太妙了,this is a million dollar slide,它既展示了技术的门槛,又显示了该技术的巨大潜力。 2. 2 . 2 . System Background: InfoXtract InfoXtract (Li and Srihari2003, Srihari et al. 2000) is a domain-independent and domain-portable, inter mediate level IE engine. Figure 4 illustrates the overall architecture of the engine which will be explained in detail shortly. The outputs of InfoXtract have been designed with information discovery in mind. Specifically, there is an attempt to: Merge information about the same entity into a single profile. While NE provides very local information, an entity profile which consolidates all mentions of an entity in a document is much more useful Normalize information wherever possible; this includes time and location normalization. Recent work has also focused on mapping key verbs into verb synonym sets reflecting the general meaning of the action word Extract generic events in a bottom-up fashion, as well as map them to specific event types in a top-down manner Figure 4 . InfoXtract Engine Architecture A description of the increasingly sophisticated IE outputs from the InfoXtract engine is given below: · NE: Named Entity objects represent key items such as proper names of person, organization, product, location, target , contact information such as address, email, phone number, URL, time and numerical expressions such as date, year and various measurements weight , money , percentage , etc . · CE : Correlated Entity objects capture relations hip mentions between entities such as the affiliation relationship between a person and his employer . The results will be consolidated into the information object Entity Profile (EP) based on co-reference and alias support . · EP : Entity Profiles are complex rich information objects that collect entity-centric information, in particular, all the CE relationships that a given entity is involved in and all the events this entity is involved in. This is achieved through document-internal fusion and cross-document fusion of related information based on support from co-reference, including alias association. Work is in progress to enhance the fusion by correlating the extracted information with information in a user-provided existing database. · GE: General Events are verb-centric information objects representing ‘who did what to whom when and where’ at the logical level. Concept based GE (CGE) further requires that participants of events be filled by EPs instead of NEs and that other values of the GE slots (the action, time and location) be disambiguated and normalized. · PE: Predefined Events are domain specific or user-defined events of a specific event type, such as Product Launch and Company Acquisition in the business domain. They represent a simplified versionof MUC ST. InfoXtract provides a toolkit that allows users to define and write their own PEs based on automatically generated PE rule templates. The linguistic modules serve as underlying support system for different levels of IE. This support system involves almost all major linguistic areas: orthography, morphology, syntax, semantics, discourse and pragmatics. A brief description of the linguistic modulesis given below. · Preprocessing: This component handles file format converting, text zoning and tokenization. The task of text zoning is to identify and distinguish metadata such as title, author, etc from normal running text. The task of tokenization is to convert the incoming linear string of characters from the running text into a tokenlist ; this forms the basis for subsequent linguistic processing. · Word Analysis: This component includes word-level orthographical analysis (capitalization, symbol combination, etc.) and morphological analysis such as stemming. It also includes part-of-speech (POS) tagging which distinguishes, e.g., a noun from a verb based on contextual clues. An optional HMM-based Case Restoration module is called when performing case insensitive QA (Li et al. . 2003a). · Phrase Analysis: This component, also called shallow parsing , undertakes basic syntactic analysis and establishes simple, un-embedded linguistic structures such as basic noun phrases (NP), verb groups(VG), and basic prepositional phrases (PP). This is a key linguistic module, providing the building blocks forsubsequent dependency linkages between phrases. · Sentence Analysis: This component, also called deep parsing , decodes underlying dependency trees that embody logical relationships such as V-S (verb-subject), V-O (verb-object), H-M (head-modifier). The InfoXtract deep parser transforms various patterns, such as active patterns and passivepatterns, into the same logical form, with the argument structure at its core. This involves a considerable amount of semantic analysis . The decoded structures are crucial for supporting structure-based grammar development and/or structure-based machine learning for relationship and event extraction. · Discourse Analysis: This component studies the structure across sentence boundaries. One key task for discourse analysis is to decode the co-reference (CO) links of pronouns ( he, she, it , etc) and other anaphor ( this company,that lady ) with the antecedent named entities. A special type of CO task is ‘Alias Association’ which will link International Business Machine with IBM and Bill Clinton with William Clinton . The results support information merging and consolidation for profiles and events. · Pragmatic Analysis: T his component distinguishes important , relevant information from unimportant , irrelevant information based on lexical resources, structural patterns and contextual clues. Lexical Resources The InfoXtractengine uses various lexical resources including the following: General English dictionaries available in electronic form providing basis for syntactic information. The Oxford Advanced Learners’ Dictionary (OALD) is used extensively. Specialized glossaries for people names, location names, organization names, products, etc. Specialized semantic dictionaries reflecting words that denote person , organization , etc. For example, doctor corresponds to person, church corresponds to organization. This is especially useful in QA. Both WordNet as well as custom thesauri are used in InfoXtract. Statistical language models for Named Entity tagging (retrainable for new domains) InfoXtract exploits a large number of lexical resources. Three advantages exist by separating lexicon modules from grammars : (i) high speed due to indexing-based lookup; (ii) sharing of lexical resources by multiple gramamr modules; (iii) convenience in managing grammars and lexicons. InfoXtract uses two approaches to disambiguate lexicons. The first is a traditional feature-based Grammatical/machine learning Approach where semantic features are assigned to lexical entries that are subsequently used by the grammatical modules. The second approach involves expert lexicons which are discussed in the next section. Intermediate-Level Event Extraction for Temporal and Spatial Analysis and Visualization (SBIR Phase 2 ) Wei Li, Ph.D., Principal Investigator Rohini K. Srihari, Ph.D.,Co-P rincipal Contract No. F30602-01-C-0035 September 2003 《朝华午拾:创业之路》 前知识图谱钩沉: 信息体理论 2015-10-31 前知识图谱钩沉,信息抽取任务由浅至深的定义 2015-10-30 前知识图谱钩沉,关于事件的抽取 2015-10-30 SVO as General Events 2015-10-25 Pre-Knowledge-Graph Profile Extraction Research via SBIR 2015-10-24 《知识图谱的先行:从 Julian Hill 说起 》 2015-10-24 朝华午拾:在美国写基金申请的酸甜苦辣 - 科学网 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|8949 次阅读|0 个评论
为什么美国的医院静悄悄?
热度 1 jiangjiping 2015-7-14 20:08
为什么美国的医院静悄悄? 蒋继平 2015 年 7 月 14 日 要想知道这个问题的答案,必须了解美国的医疗诊断体系和看病的程序。 总的来说, 美国的医疗诊断体系非常复杂和多样化。 它可以简单地分为私立和公立两类, 以私立为主。 公立医院一般称为 Community Hospital 。 这个体系的复杂和多样化主要体现在它的医疗诊断的具体结构上。 美国医疗诊断的具体结构可以概括地表述如下: Family care clinic ( 家庭健康护理诊所 ) 。 几乎所有美国人都会有一个这样的固定就诊点。 不管是正常的健康检查, 还是伤风感冒身体不舒服,人们首先与家庭护理诊所预约, 然后有家庭护理医生诊断。家庭护理医生一般会单独地拥有自己的诊所, 通常不在医院内开设门诊部。 通常情况下,人们必须获得家庭护理医生的推荐才能看专科医生和进行其他进一步的检查。家庭护理诊所是美国最为普及的医疗诊断机构,是治病救人的第一道防线, 其分布极其广泛, 几乎遍及每个城乡角落。这个机构为大医院分担了主要的就诊量。 是美国医院静悄悄的主要功臣。 Professional Diagnosis Clinic (or Center)( 专业检测诊断站(或者称作中心)。 这种机构是专门为民众检测血液, 尿液组份的,也有高级的医疗设备用来做超声波, 心电图, X 光, 核磁共震等诊断。 这种诊断所或者中心一般是独立的, 不在医院里。 这是美国的一个最新的, 也是发展最快的一个行业。 这个机构也为美国的医院减轻了一大工作量。是导致美国医院静悄悄的一个因素。 Specialist Clinic or Center ( 专科医生诊所或者中心 ) 。 这个以牙科最为著名。 美国的牙科医生很多, 都是独立的经营方式, 绝大部分牙科医生都是自己开诊所, 不在医院内。 其他的专科医生名目繁多, 比如说: 儿科, 妇科, 产科, 内科, 心血管科,耳科,眼科和五官科 等等。 这些专科医生中的许多都有自己的诊所, 不在医院内。这些独立诊所为医院分担了一部分就诊量。 Urgent Care Clinic ( 临时应急护理站 ) 。 这个机构主要用来对付意外的, 紧急的轻度伤病人员。 这样的病人没有预先的症状, 突然感到身体不适, 而家庭护理医生又没有时间来对付。 在这样的情况下, 病人可以直接到临时应急护理站就诊, 这样的护理站一般不用预约。 这样的护理站一般也不在医院内, 是独立的。 这个临时应急护理站也为医院的分流作出了明显的贡献, 尤其是对医院的急诊室( Emergence Room )的贡献更为明显。 Hospital ( 医院 ) 。 在美国, 正规的医院在每个城市数量不等。 医院的主要任务是急救( Emergency Room )和进行比较复杂的手术, 并对一些重症病人提供医疗护理。 一般情况下, 病人需要经过家庭护理医生的推荐才能到医院的某个专科就诊。 除了这些医疗机构和布局外, 美国的就诊程序也是导致美国医院静悄悄的一个关键因子。有过在美国看医生经历的人都知道, 在美国看医生必须先进行预约。一般的程序是, 选择一个自己信得过的医生作为家庭护理医生, 然后与这个医生预约看病的时间。因为这种预约的机制, 所以, 上诊所看病一般不会很拥挤, 排队等候的人不会很多。 最后, 也是非常重要的一点是, 一般一个医生有好几位护士做助手, 对于病人的一般情况由护士助手应对, 这省去了医生的大量时间和精力, 提高了医生对病人的诊断效率。 综上所述, 导致美国医院静悄悄的因素有三个 ; 大量的专业诊所分担了医院的客流量。 看病预约的程序有计划地和适当地平衡了供求的矛盾。 充足的专业人士, 合理的分工配置提高了医生的工作效率。 因为这样, 所以, 到美国的医院看病, 一般不会觉得拥挤和吵闹, 有一种静悄悄的感觉。
个人分类: 社会体制|4598 次阅读|2 个评论
从架构看大数据和云计算的关系
热度 2 Babituo 2015-1-31 12:43
从架构看大数据和云计算的关系 当说到大数据和云计算,乃至超级计算的关系时,很多专家都给出类似的科普级的观点:大数据是大菜,云计算是大锅,炒大菜当然要用大锅,有大锅当然能炒大菜。 比如,当我质疑新闻稿中说“天河一号”用于了大数据处理的说法时,闵应骅前辈给出了如下科普级的解释:大数据需要高速度的计算机。这个解释当然有道理,却还是解答不了我的疑问。我的疑问实际是:巨型机“天河一号”在架构上是如何支持大数据的计算的?它有支持巨型机实施大数据计算的架构么? 为什么会有此疑问?因为炒大菜的充分必要条件,不仅仅是有足够的地方存放足够多的食材,和有足够多的锅(云计算)或足够大的锅(巨型机)这两项条件,容易被忽视的是:如何才能够将这足够多的食材,怎么放到锅里去抄的问题。这,就是一个架构的问题。 直接形象一点吧,假设我们要做的事是:一次性炒一份让全北京市的人一顿吃的一道大白菜,假设大约需要1000吨的白菜吧。和我们平时家里吃一餐的几颗小白菜相比,算是大数据了(不很贴切,要贴切是可以的,但太罗嗦,“砖家”不要急着拍砖)。好,这么多的菜需要一锅炒出来,得需要一口多大的锅(巨型机)啊?或需要多少口不小的锅(云主机)同时炒啊? 好,假设我们要为此建一个超级大厨房(云计算中心),需要在20分钟内完成炒菜装盘送到餐桌前的过程,否则,菜就凉了,要不然,全北京市的人排队吃这“一顿午饭菜”,可能要持续进行一个月的时间。 咋办呢?这厨房得建成啥样的呢?怎么运作呢 让我来设计一下吧: 我们不能从农民的地里把这1000吨大白菜(大数据)用大卡车运来直接倒进锅里煮吧? 所以,我设计了1万个足球场大小的备料场。是这么分组的:100个操场负责卸菜,然后派发到每个卸菜场负责把卸下的菜,分发到100个操场上去进行挑拣,清洗和切细。嗯,知道吧,这就是一个负责大数据处理的集群。因为这些处理要在5分钟内完成,所以,必须是1万个备料场同时进行,分散并行处理,这就是所谓的Map。 切好的菜需要在炒之前地先运到灶台上去吧?所以,100条传送带把切好的菜料汇聚到一条超宽的传送带上,再由这条超宽的传送带送往灶台。这就是Reduce了,我们的传送带(网络)有足够的带宽,把这些菜料3分钟运到灶台是没问题的。 假设1口大锅(主机)一次3分钟大约可炒熟300公斤的洗好,切好的大白菜,假设有10分钟的时间来炒菜,那么,一口锅最多炒3轮,也就是900公斤,我们需要1000口这样的锅。实际上是不是这样也没关系,反正就是1000个下料口,1000个出菜口,里面到底是多少口什么锅无所谓,可能是3000口100公斤的大锅;也许是30口10吨大锅。经过“虚拟化”,从外面看上去就是1000口300公斤大锅了。每口大锅不会同步开炒,同步完成,炒的菜会给谁吃,也说不准。反正,尽量给这个炒完,可能歇会,再给下一个炒。如果吃菜的人不动,是给人炒菜的锅移动到吃菜的人跟前来炒,那么,看上去就是炒菜锅象天上的云一样在流动。流动到哪,就给那的人炒菜。所以,叫“云炒菜”,不是忽悠人的,而是为了让人好明白才这么叫的。 好了,“云炒菜中心”的架构就这么设计好了。我们可以看到,里面实际有两个中心:“理菜中心”和“炒菜中心”。理菜中心解决的要炒的菜多,排队炒等不起的问题;而炒菜中心解决的是吃菜的人多,每人一个专用锅浪费的问题。大数据处理和云计算,实际上目前还只是在不同的场地上,由不同的家伙式来干的不同的事。但由于只有一个名字:“(云)计算中心”,很容易让人误以为,只要是有这个名字的地方,就可以两种事都做齐了。而实际的事实是:大多数的有这个名字的地方,要么只是理菜中心,要么只是炒菜中心。能合二为一的地方,意味着它里面,大数据和虚拟云计算这两套家伙式(基础设施)都得有,而且必须能配合得起来。 比如,那个巨无霸,我是很怀疑在它的周围是否设有“理菜中心”的。巨无霸提供的只是炒菜的能力强准确地说,只是快,可能人家炒一锅,它可炒10万锅,“锅”当然也不小,能不能一轮就炒出一个大菜来,还要看有没有给它配一个自动供料的“理菜中心”。 我怀疑的理由是:让我们看看现在世面上的厂家的做的厨房和各家所用的厨房吧,你会知道我的怀疑不是胡思乱想的。 好,就让我们以云计算为例,来检视一下目前的云计算架构和大数据处理的架构吧,看看在架构上,我们是否已经准备好了“同时既能容纳足够多食材,又能容纳足够多的炒锅”的厨房和灶台了吧。 先看IBM的“蓝云” 看吧,这框出来的部分,显然只是一个大“灶台”-虚拟云计算环境。而作为理菜场的“大数据”在哪?难道要建在虚拟网络里吗?大数据可是实打实地需要网络吞吐量的哦,好吧,就算可以建在虚拟网络里,而且我们这100个大操场确实是从一块有足够大面积的场地(存储空间)中虚拟出来的,可难保这100个大操场的100张大门,不是从一张门虚拟出来的啊(是否有足够的网络与存储设备间的带宽,值得怀疑),尽管这张门也可能比较宽,但要做到真实所需的100张门这么宽,就没有虚拟的必要了。要知道,大数据处理,是依靠真实可同时开进开出的通道,才能做到并行“捡菜、切菜”的啊! 再来看惠普云计算解决方案吧。 是不是也是一个大“灶台”,它告诉你,那1000个炒菜锅,或许是100个刀片服务器虚拟出来的。而且,它还直接明了的告诉我们:服务器存储网络SAN是独立架构的。不管其SAN是用超融合设备还是用纯软件解决,总之,网络内的存储资源已被统一池化。这意味着:虚拟出来的主机系统,即便可以用来当作大数据处理的某个结点(一块理菜的场地),但这块场地的门,是否独立,能否支持全部主机的并行数据进出,是个大疑问。 再来看个国产的华为的吧 华为没有把大数据平台和云计算平台混谈。 这是其大数据平台架构: 显然,这个架构和“虚拟化”,池化无关。一个Hadoop集群完成“理菜中心”的任务,是比较完整的电信级的大数据解决方案。 下面这就是华为的“大灶台”虚拟云计算中心了: 厂家的看到这了,看到这,我们应该明白这个道理了:所谓云计算平台和大数据平台是两个不同的平台,我们在云计算平台中看不到集群的影子,在大数据平台中,看不到虚拟池化的影子。而不是所谓的:只要是云计算,就是用大锅炒大菜了。大数据和虚拟云完全是两个 可以不搭边 的不同应用。当然,也可以搭边,但要搭边,就一定要同时拥有这2套系统,才能用大锅炒大菜。在这,我只是打出了IBM和HP的“炒菜中心”方案,相信,IBM,HP也有自己各自的“理菜中新”方案。 下面来看玩家的。当然,先看亚马逊的。 这是亚马逊的弹性云平台EC2 这是一个真正把“理菜中心”和“炒菜中心”整合在一起了的一个方案。其弹性大数据处理MapReduce部分是一个相对独立的架构,底层跨在Ec2 Instances和S3 之上,意味着,这个独立的大数据处理平台,是构建在虚拟的计算资源和虚拟存储资源基础之上的。所以,我有点怀疑这个架构的大数据处理能力和效率,应该不会比Google强。 好,立马来看Google的云架构 看到了吧,Google是干什么的,Google的云架构主要是由N多个Node组成,每个Node其实就是一个“理菜中心”,所以,google的“云计算”里面,其实没有云计算,只有大数据处理。基于GSF的MapReduce是Google干的最多的活。他们不出租计算主机,所以不提供虚拟云。 微软的是个灶台,不用多说了,看下图就知道:没有大数据,只有虚拟资源服务。 下面看国内玩家的 百度在架构上显然是同时支持“炒菜”和“理菜”的,这点和亚马逊相当。和竞争对手Google比,至少在架构上设计更全面,可支持更丰富和开放的服务。当然,从实际开发的IT应用项目的数量和先进性而言,google领先于百度是毫无疑问的,但这和云计算架构无关。也就是说,作为一个平台,百度至少是不输给google的。 本来不想看的,还是来看一下“阿里云”吧 阿里云的架构显得很怪异,它更象一个独立的网络版应用系统,也就是一个功能级的应用支撑平台,而不是一个通用的系统级网络应用支撑平台。其架构从图示上看给人个感觉就是“混乱”。整个数据中心作为底层,之上支撑的仅仅是一个操作系统Linux,似乎是Linux装载在“数据中心”这个“裸机”上。再往上的层次也是,似乎是想将整个阿里云当作一台电脑来打造一样。 这个想法比较独特,但在技术支撑上,很可能被主流的云计算平台架构技术“吞没”。尽管阿里有钱了,这么任性,风险还是有点大。从应用的角度来看,阿里云的架构似乎只能支撑自己的一盘大菜,老百姓各炒自己的小菜,便是他的大菜。 总的看来,阿里云不是一个技术云,而是一个业务云。说白了,大数据系统是系统之下的系统,云计算系统则是系统之上的系统,阿里的架构师看来是不懂这个,或者太懂这个了,居然可以集成得像一台机器。如果是后者,其野心大得有点可怕,当然,也就风险很大。 接着从纯技术的角度来看下大数据和云计算的通行架构吧。 大数据,当然,以目前仍占主流的Hadoop为例,尽管它应该很快被Spark所替代掉。 写到这,不免让我有所慨叹:我们国内的技术跟风者,简直就像我们A股市场上的散户——如果把国际云计算技术比作A股市场的话。看看人家的顶尖大学在做什么,而我们的呢?难怪,当我发出豪言要超越他们的时候,显得那么“蚁马赛跑”。好在有“蚁群算法”,而没有“马群算法”,赛就赛吧,期待蚁王驾到,蚁群出现。 不用讲了,我已经讲过了,这就是个“大白菜料理场”而已。所有的技术概念都可以和大白菜料理场的概念对应上,你丝毫不必觉得它有什么神秘。如何映射概念,由于时间关系暂时也不展开了。 更想说说Spark的架构 说是Spark的架构,还真不如说是Spark的生态。说生态的感觉确实比架构的感觉舒服很多。多种物种的共生环境,确实比冰冷的组件、构件、模块结构相互支撑互动的系统,让人感觉温暖得多。计算机架构仿生的理念,总算逐渐被“发源”了——显然,这不仅仅是心理的温暖感的需求,而是技术质变的需求。 这里只说RDD,Spark的核心创新:抽象的弹性分布式数据集。还是用比喻来说科普一点:如果说MapReduce的机制,是生产线上的“皮带传动”运输处理线的话,RDD就是叉车托盘运输处理流程线。关键差别在哪?在分散数据在处理过程中的共享。当然,这意味着RDD必须比Mapreduce支持更多的操作,这些更多的操作支持,最终可使数据处理更灵活和流畅。可见,这种生态感是从骨子里透出来的。 这里不得不提一下我发现的“资源”概念。RDD是最接近资源概念的数据集概念,但还没有达到资源概念的创新高度。何以此说?资源是一种“分布式弹性对象”,走看吧,我敢打赌,未来RDD的升级版提出类似“分布式弹性对象”、再发展下去,当国外大拿们提出某种“软件组件虚拟化”的技术概念来的时候,国内的跟风卖力者必定又将趋之若鹜。殊不知,蚂蚁已经走在骏马之前了,可谁会跟蚂蚁的风?蚂蚁就算没命奔跑也带不起风啊。哦,原来,是“跟风”这种行为的错, 蚁 群可不是靠跟风来形成群体智慧的啊。 顺便提下REST,RESTful和“资源”的关系。最早的互联网是把数据资源化,接下来是把软件服务资源化,也就是RESTful,云计算环境下的互联网把硬件资产资源化了,当然,SOA走到了云计算的前面是一种阴差阳错,差错在SOA是软件服务的行为化。走在云计算后面的软件服务,将是:将资源进行到底——软件组件直至程序逻辑和语句的资源化。 RESTful是把用代码程序语言开发的软件资源化,而我的面向资源开发,是用虚拟化的软件资源开发程序。本质相同的是资源化的方法手段,本质不同的是资源化的架构层次。 资源化,就是虚拟化,云化,池化。其背后的本质,是将“分享、共享的技术机制(请决不要理解为仅仅是精神意念)”沉淀到底。RDD正是走在这条路上的“先行者”(先行马,前面还有只“先行蚁”,是资源,呵呵)之一。 一般云计算架构,上刘鹏的图了: 我猜这个刘鹏就是当面在北大推动网格计算的那位刘鹏。记得我和他通过一封邮件,邮件中我很赞赏他的工作和网格计算的理念,是将混沌的互联网引向有序的起点。他也给我回过邮件表示同意我的观点。 最后,给出我描绘的未来云计算的通行架构 最后,表达个人期望:我非常希望能加入一个类似“透明计算”团队这样的国家队,把面向资源开发的这只蚂蚁变成一匹骏马。最终让质疑我们国人技术创新能力的人闭嘴,让国外厂商来跟我们的风。 除最后一幅图,图片来自网络,版权归其作者所有 邱嘉文 2015年1月31日 于珠海诚开智能
个人分类: 面向资源软件开发方法|13462 次阅读|3 个评论
问题-模式与架构
Babituo 2014-8-31 07:35
俗语道:兵来将档,水来土掩。如果再加上孙子兵法的三十六计,如果再灵活运用在一场战役或战斗,架构的作用就会凸现才出来。 比如,毛泽东在论持久战中,总结了“敌进我退,敌退我进,敌据我扰,敌疲我打”的游击战术,这一整套战术和当时敌我双方的战力对比形势形成配合,在战场上形成了一种“持久战”的架势,结果导致战争架构演变成对我方有利的方式。 从架构的作用和地位来说,架构是一种对事物整体发展趋向的主体的决定因素。 所谓主体的决定因素,就是一种更大概率的决定因素-因为架构的不同,会改变事物朝不同的整体发展方向发展的概率。 所以,架构对于一个人工系统而言,必定是加入了人工扰动因素后的系统发展的主体发展决定因素。在这些人工扰动,就是架构设计。 也就是说,如果不对系统加以人工扰动,系统就会更可能朝人不期待的方向上去发展,导致系统朝不期待的方向上发展的原因就是“问题”。 所以,进行架构设计的起点,是问题。 “问题”是什么呢? 从架构的角度看:问题不是在实施某个具体操作和行动上遇到的障碍,而是假设系统各部件工作一切正常,甚至是理想的情况下,系统为什么还会朝我们不期待的方向上去发展?我们通常称这类问题为“结构性问题”。用于社会管理,就是通常说的体制问题。 因为系统的结构机制上的“设计”不合理,导致系统运行的整体效能低下,是常见的现象,这种现象一般出现在稍大较复杂的系统和较长的运行周期上。 正如“兵来将挡,水来土掩”一样,对于定常出现的问题,人们总能想到适当的办法来解决。从而对定常的问题,找到定常的的解决方案,这形成了模式。当问题不断地有规律地出现,那么,模式就会有规律地得到运用。比如,一年四季的变化中,节气的变化给农作物的生长会提供有利和不利的条件,会带来相应的农业生产上的问题,于是,人们就积累了很多顺应季节环境气候变化的农作上的应对办法,我们小时候背过的节气歌,就是典型的农作模式的描述。 每当问题的出现的规律被发现,人们就会在应对问题中逐渐形成解决方案的模式,模式代表了解决问题的经验和知识。而随着解决方案的实施不断重复,解决问题的资源就会逐渐形成有规律的流动或驻留,并产生分工和协作。消耗性的资源会加速流动,而工具性的资源则加速稳定驻留下来。由此,系统的架构逐渐演变形成。所以,架构,是建立在问题和解决方案相对稳定的系统基础之上的系统整体运作的模式集合。是一整套模式相互配合,应对系统外部环境变化出现的各类问题的“整体解决方案”。 比如,人类进化到今日,逐渐形成了人类生命系统的一整套生存和繁衍的模式,其中包括消化排泄系统,呼吸系统,血液循环系统,淋巴系统,神经系统,运动系统和生殖系统等多系统分工协作,有机配合的一个整体。这个整体的生命系统形成人类的生命架构,提供了人类适应环境变化甚至改造影响环境变化的能力,解决了人类在特定的地质年代上的生存问题。当然,这种影响自然环境能力也可能影响到整个自然生态系统架构的变化失去控制,导致人类长期演变形成的生命架构不再适应自然生态的架构。 总的来说,从问题-模式到架构的主线来看,架构是在变和不变之间取得动态平衡的系统演化的主导机制。
个人分类: 信息探索|1933 次阅读|0 个评论
企业组织架构管理必须界定差别、维护差别
shuhualu1016 2012-10-15 13:59
组织架构的目的在于明确界定组织成员相互之间的关系,并且是在以承认彼此在职责上的差别为前提的。但这并不是说在任何一种情况下都要分出高下三等的差别来。 没有差别,可以表现为两种情况: 一是群龙无首。走到一块的每一个人都是好样的,他们能力一样强,意志一样坚,目标高度一致。这就是群龙无首状态。这种群龙无首,会更有助于发挥每一个人的作用。在美国有一家曾被列入最有价值的 100 家企业之中的运输公司,员工总共不到 750 个人,却有 730 多个人是总经理或副总经理,并且还创造出骄人的业绩。这是近似于群龙无首的一种典型。 周易的作者也认定,“群龙无首:吉。”只要是真正的龙,走到一块来,并不是坏事。中国有“一山难容二虎”的名言,但虎性和龙性不一样。一山有二虎必然会发生争斗,这是由虎性决定的。龙的特性是奋发向上,而不是夺占领地,相互争斗。 二是乌合之众。乌合之众则是指一群人没有共同的目标,也没有分工,也没有稳定的相互联系。他们每一个人都各自想各自的,不顾及他人,每一个人都处于与他人具有同等权力的地位。这种人在一块儿是无法形成合力的,而且共处一个空间还不免发生争斗,造成内耗。 任何一个人处于这种乌合之众的群体之中,就不妙了,谁都会心生恐惧。 组织架构,就是针对乌合之众的人群而言的。只有通过组织架构界定差别,维护差别,以统一这乌合之众中的每一个人的意志行为,由众多的人构成的企业组织,才能形成团队整体合力。 在企业组织内部,只有明确了彼此的差别,才能有序,乌合之众才能转变为意志统一的生力军。但这种差别,是有限度的,人们所能容忍的差别是有底线的。差别过大,彼此之间不免因为这种过大的差别而造成距离和联系阻断,这也就是组织的分裂和组织目标的落空。 《易经·比卦》也为我们揭示了这个道理。坎上坤下为比。这里的比也就是相互亲附。只有彼此之间存在一定的差距,但这种差距不是很大,是在可容忍的范围之内,才能形成这种亲附关系。坎为水,坤为土。水在上,土在下。浸润下土的水在上,容留下浸之水的土在下。这就是亲附。如果水是水,土是土,二者不相及,比如把坎定义为云,那也就不是比了。云在天上,土在地上,两不相及,也就不可能有亲附关系。 在企业组织内部,成员相互之间亲附关系的创造,是形成团队合力的前提条件。如果想谋求团队合力,真正使企业变成一个团队整体,在组织架构上也就必须避免因为差距过大而造成分裂,瓦解组织。 可能有人会说,有一个特别出众,能力特别强的人,存在于这个企业组织之中,难道也要把这种巨大的差别磨平缩小吗? 这里的问题是这种假设是不是成立。人们常说,鹤立鸡群。现实的问题是,鹤真的能够立到鸡群中来吗? 物以类聚,人以群分。不同类,性质差别过大的事物是无法凑到一块来的。鹤立鸡群,可能鹤乐意,但鸡可能不愿意。鸡怕鹤来欺负它们,或者群起而拒之,或者逃而避之。 在世界企业发展史上,二十世纪中叶之前,劳资关系都甚为紧张,往往就是因为独立投资的老板,立到了单个力量薄弱的工人之中,剥夺了工人的利益所至。七十年代之后,作为一个相对独立的职业经理阶层出现了,这才改变这种局面。在企业组织内部,尽管差距仍然存在,但这种差距是以一种梯度的形式存在的,而且每个梯度之间的差距并不大。所以,彼此之间也就容易达成和解。西方发达国家在上个世纪中叶之后,劳资关系明显有所缓解,这除了工人的社会经济地位有所改善之外,在组织架构上的调整缩短了相互之间的差距,也是一个原因。 据《圣经·出埃及》记载,以色列人的祖先最先是在埃及定居。到摩西一代时,他们与当地人之间的矛盾激化了,他们请求离境。法老不准,摩西率领众连夜逃出埃及。法老发现后派兵围追。以色列众人由摩西一人率领,没有组织。他就成高立鸡群的鹤。 可他无法有效地带领这一群乌合之众,行动缓慢,面临重重危险。摩西的岳父给他提出了一个类似组织架构的建议,摩西立即采纳。他把每十个成年男子及其家人和随从分为一个组,十人设一个十人长,百人设一个百人长,管十个十人长;千人设一个千人长,管十个百人长……这十人长、百人长、千人长,全都从以色列男子中挑选来担任。一伙乌合之众由此就形成了存在差距,而差距有限的组织。组织活动指令层层下达,一层保证一层。所有小问题都分别由这十人长、百人长,或千人长处理,仅仅非常重大的问题才提交给摩西剖析解决。十人长、百人长、千人长,直至摩西,在这个以色列人社会中就是地位、作用、权力、价值各不相同,也正是这种不同,让色列人行动的速度和效率,一下提高了很多倍,才走出埃及,有了意志和智慧都出众的犹太民族。。
1901 次阅读|0 个评论
[转载]关于F/S, C/S, B/S, VPN结构
Bellasx 2012-4-13 15:22
网上的一个很经典的例子,原文链接:http://wenwen.soso.com/z/q102724326.htm 如果自己去厨房拿生的并且自己炒着吃, 这就是F/S架构. 如果 厨师 炒好了并端上来给你吃, 或者自己去厨房取,这就是C/S架构. 如果厨师炒好了, 由跑堂的端上来给你吃, 这就是 三层架构 .如果厨师炒好了, 由跑堂的交给送外卖的, 再送到你家里来给你吃,这就是B/S架构. 如果你害怕送外卖的在路上给你加一点 作料 或者半路被别人吃了, 这就是安全性. 如果你每次让酒店用 特快专递 送外卖, 这就是VPN.
个人分类: 体系结构|3413 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-26 12:39

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部