手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表全部文章

关注:师生网络——可视化学术家族树介绍(Specification)

看到这篇文章的时候还是挺感兴趣的。
几年前,微软出过一个实验性的搜索叫做:人立方,但没有更多的接口和参数。虽然很早之前SNS的建立依据就是每六个人就会通过各种关系认识。人立方却不太一样,他是基于很多的内容搜索来判断他们之前是否有关系,虽然不是特别准,但多少你会发现其实原来你可以认识这么多人,表面上好象你们真没有关系,但仔细看看,好象却真的有点关系。
OK,这篇文章我看到的时候,感觉有点象这种概念,事实上,我在之前就在想,怎么样将一部武侠小说中的人物关系理理清,比如那些经典的小说,很多人在看完一遍两遍三遍后都理不清那之前的关系。比如,射雕里面的人物超多,很多人的关系也很乱,如果再算上,神雕和倚天屠龙记,这三部曲,能够在看到一个人名后把相关的人物连接起来的人还真的不多。好象现在也确实有人在做这种事情,但纯人工的太累了吧?
下面的这篇文章其实和那种开枝散叶的人物关系真的不太一样,但多少接触接触吧。。。
----------开始上原文

什么是可视化学术家族树?

可视化学术家族树是继承于微软学术搜索的,以树形可视化图形,展现学者间师生关系的学术关系查询与展示平台。

家族树的用途?

为用户提供与展示学者间的师生关系,方便用户更好的了解一个学者极其相关学者。

如何才能使用学术家族树?

1、 你需要一台电脑

2、 你需要一个浏览器,不论IE, Firefox, Chrome, Safari,还是Opera(国产的那几款如傲游,360等也可以)

3、 微软的Silverlight(银光)插件,下载地址:http://www.microsoft.com/silverlight/(什么?不知道?好吧,这是百度百科:http://baike.baidu.com/view/942429.htm

4、 然后,然后,输入网址就可以用了。

那么网址是什么?微软学术搜索:http://academic.research.microsoft.com,不过,家族树暂未上线,请大家稍等片刻,可以先用用其它的功能,看看作为一款学术搜索平台,是不是符合你的口味呢?

下面进入正题。

Spec

作为一个网站,或者说是一个搜索页面,一个用来搜索和展现师生关系的网页。整体架构按照网站的标准来分,可以分成两部分——前端与后端。

前端为界面的设计及数据的展示,后端为数据的获取与存储。

每一款软件必然会有自己的主打招牌,也会有许许多多的特点。成功的软件不一定什么都要做到最好,但至少要有特点。我们的特点是什么?

前端:

1、 最直观的界面布局

做数据的可视化一直是学术界的一个研究热点。当你手上有大量的数据时,以怎样的形式将其展现出来,能够让用户看得清晰明了?这个问题一直困扰了我们 许久,因为我们的屏幕大小是有限的,人眼一次性可以接受的信息量也是有限的,既然是做可视化,也不能简简单单的列一个列表出来就了事。那么该怎么做呢?在 我们统计的数据中,拥有最多学生的学者一共拥有102个学生(直接学生),这102个学生目前分布在近40个不同的研究机构(含公司与高校),要将这 102个学生与40个机构展现出来,可不是一件容易的事,尤其是对于有密集恐惧症的朋友们,你们肯定不情愿看见屏幕上密密麻麻层层叠叠的点吧?

这是去年的一张测试图,你能满意吗?这人的学生还不算很多。

 

下面是我们前段时间的一个版本,有没有觉得很恐惧?

 

不过,经过数周的共同努力,我们终于是克服了这个难题,想出了一种根据人数及其影响力与相关程度的聚类分布方式,随时为用户呈现出简约清晰地界面,不会给你的心理带来任何的密集恐惧感。相信当你真正使用时,心里应该会比较舒坦。

 

2、 华丽的展现动画

或许是因为基于silverlight平台的缘故,动画制作变得非常简单。而在我们的师生关系展现中,由动画带来的视觉效果毫无疑问的会提升用户的使用体验。

 

后端:

1、 最全的真实数据

“最全”这两字,在任何地方可能都有夸张的嫌疑,在这里也不例外,毕竟谁也不敢保证我们的数据就一定是最全的。也许许多人来使用我们家族树时,并没 有找到自己想要的信息,于是他会放弃使用我们这款平台,这并不是我们想要的结果。我们不是万能的,我们并不能猜到谁跟谁有师生关系,我们的一切数据都是有 根据的,即在大家都可以访问到的网页上说明了谁与谁是师生,只有这样的数据才有可能被我们收录。并不是说你读了谁谁的研究生,但你不告诉我们,我们自己就 可以猜到的。例如以下的作者主页里,就写明了他们的学生信息。

http://www.une.edu.au/staff/nrei3.php

http://www.math.ttu.edu/~barnard/vita.html

虽然不太好找,但还是存在的。

为什么说是最全?在互联网上,也出过不少的学术家族树网站,不过都不怎么给力,而且仅仅是针对某一领域,相比于他们,我们的数据更加的丰富。在微软 学术搜索里面有超过1000万的学者信息,其中有60多万目前我们发现了其个人主页。我们的工作之一,正是在这些个人主页上去挖掘师生关系。当然,这样能 够获取到的信息并不多,因为大多人的主页上未必会写上师生的信息。当然我们还有许多其他的数据源,如Wikipedia,Mathematical Genealogy Project等等,虽然最终获取的总量并不大,但也比市面上其他所有网站的信息要全面地多的多了。我们的所有数据都是有根据的,绝不是自己猜测的,在这 点上我们与清华大学的arnetminer走了完全不同的方向。它们是经过论文的合作网络分析出师生关系,但这种分析往往准确度不高,并且没有足够的信服 力,用户们经常会发现错误的关系,这会极大的影响我们的心情。

数据不全这是必然存在的问题,因此我们为用户提供了编辑的窗口,希望用户们能够帮助我们去填充与校正更多地数据,当然前提是用户要提供证据(比如某个页面url)来支撑填充的数据。这样既可以让他人更加了解你,也能让我们的数据更加丰富,更准确。

我们目前一共搜集了15对师生关系对,且每一对都有其出处,如果你没有发现你,希望您能主动加入进来。或许将来某一天,当学术搜索与社交网络融合在一起时,家族树会更加显示出其用处。

 

2、 最快的反应速度

所有的数据都是存放在数据库中的,当数据很小时,查询是很快的,但是当数据超过千万时,速度可就没那么快了。正常的用户是没有心情去花几十秒几分钟 等待一个页面的更新的,这太浪费人的生命了。在我看来,任何搜索引擎,用户所能忍耐的极限时间,是不会超过5秒的,通常都在2秒以内。是的,既然要搜索, 那必然是要建立索引的,而我们正好就为我们的学术家族树建立的索引服务器(Index Server),所有的查询都能在毫秒级别的时间内获得输出结果。是的,你想搜谁,你就搜谁,秒搜秒看,其乐无穷。

挑战无处不在,哪怕傍着微软的大腿也不例外。学术家族树的编码阶段已经结束,现在正处在测试阶段,大约在12月底,就会与大家正式见面的。心动了吗?心动不如行动,收藏我们的博客,等待我们的Release,哇哈哈哈哈~~~

-------------------

关注一下人立方:http://renlifang.msra.cn/

上面的文章来自于:http://www.cnblogs.com/rosting/archive/2011/11/27/2264758.html

Yii for SAE 提交到google code

Yii for sae终于提交到了google code了。

yii framework for sina sae platform. 初步实现将yii framework 移植到 sina SAE云平台。 assets目录生成到storage中,runtime则是用memcached来实现, 也因此需要激活storage和memcached。 几乎不需要改原来的代码,如果需要设置主从数据库,请另外加一个components节点:sdb,配置信息与db一样,但需增加一个 'isSlave'=>true,即OK。不过在这种情况下,所有的model都请继承SaeActiveRecord?

配置信息中,在params里增加 'params'=>array(

'sae'=>array(
'storage' => array(
'assets' => 'assets', 'runtime'=>'runtime',
), 'db'=>array(
'slave'=>'sdb', 'master'=>'db',
)
),

);
----
配置起来是不是很简单?
当前目前还是有一点问题的

  1. 比如对于文件的LOG暂时无法实现,准备使用memcache存储部分,等到了一定大小后,扔到storage中存储。
  2. GII暂时还不能在线上使用,这个有点纠结,因为GII是需要生成文件 ,而sae平台不支持生成文件。如果扔到storage中,效率又不能保存。如果扔到memcache中。include之类的又不知道是否能够完美实现?纠结中。。(生成到storage?然后下载?扔到models目录中?这多没意思,与其这样,还不如本地建好model,然后SVN上传呢)
  3. 好象cdbcache是用了sqlite,原本看代码里是能够自动生成的,但在线上,怎么搞呢?存到storage中又没有效率?哎。。。

不过,暂时基本功能都实现了,嗯项目地址是:http://code.google.com/p/yiiforsae/

Tags: yii, sae

出门吃饭时必备参考:当煎饼果子被称为吮指蛋香超薄碎蔬铁板Q饼夹销魂麦香脆饼时

来自豆瓣,觉得很有用。。。
http://www.douban.com/note/186312698/
出门吃饭的话,可以备一份。看完了就不会被骗了,最起码可以了解行情

甜点微烤黄金小甜饼(南瓜饼)  五分熟神户小牛肉配珍珠甜米饭(牛肉盖浇)  法式卷心菜微甜浓汤(白菜汤)   特调微辣酸甜汁焗猪柳伴长葱 (鱼香肉丝)  木炭火焦烤微煎法国小填鸭 (烤鸭)  蜜糖配白醋焗野猪背脊嫩肉 (糖醋里脊)  意式秘制浓酱鸡肝烩波尔多酒渍青椒 (炒鸡下水)  珍珠蒜蓉微煎白菜(炒大白菜)  墨西哥特辣炖过油精致阿根廷小牛肉配当下时蔬 (水煮牛肉)  芝士浓酱伴意大利面条(热干面)  陈年俄罗斯酸汤加小辣椒煮深海鳕鱼 (酸菜鱼)  墨西哥特辣秘制浓汤杂烩配什锦鲜蔬 (火锅)  鲜香蒜茸浇汁精选各式杂肉 (麻辣烫)  意式蒜蓉微酸浇汁鲜猪嫩柳(凉拌白肉)  爆油葱香干煸五花肉 (回锅肉)  麻辣黑胡椒精腌碎肉炖白玉豆腐(麻婆豆腐)  西安精炖小牛肉浇汁配蒜蓉小面饼/美式上选鲜嫩猪肉汉堡 (肉夹馍)  香油葱花酱汁秘制什锦菜凉拌水晶粉 (凉粉)  四川辣汁煮小牛胃搭顶级小牛血配杂锦时蔬 (毛血旺)  酥炸黑色发酵豆块佐红辣椒蒜汁/小火御制特香脆墨腐块/特级初炸腌制豆乳凝冻浇酱汁/特选酱香豆腐精炸佐  芙蓉蒜醋汁 (油炸臭豆腐)  鲜白玉子配腌制小甜菜黑胡椒浓汤 (榨菜蛋汤)  红椒酱爆微型河鲜配姜茸酸汁 (小龙虾)  特制烟熏蜜汁辣味干鸭片 (酱板鸭)  法式甜酸西红柿片配黄油鸡蛋粒 (番茄炒蛋)  冷翠青葱段配盐渍蒸豆碎 (大葱蘸酱)  意式番茄鸡蛋浓汤浇通心粉 (鸡蛋打卤面)  铁板特煎外十分熟内七分熟碎牛扒佐青椒段洋葱块 (铁板牛肉)  冰镇西贡生虾佐苏格兰威士忌 (醉虾)  高加索焖鸡排香菜碎末配德式浓酱 (全熟/七分熟/五分熟/四分熟/三分熟) (白斩鸡)  百分百原汁澳洲玉子水晶冻 (蒸蛋羹)  泰式翡翠精焖水晶饭 (绿畦香稻粳米饭)  法式闷烧水生蜗牛佐辣椒蒜汁 (辣田螺)  中式炸面包 (油条)  特制甜糯米配日式蜜豆沙及八色澳洲香焙干果(八宝饭)  秘制酱渍猪排泰国香糯米寿司 (肉粽子)  翡翠豆蓉酥皮夹心松饼 (绿豆糕)  黄色毒药鸡尾酒 (雄黄酒)  吮指蛋香超薄碎蔬铁板Q饼夹销魂麦香脆饼 两款经典酱汁可供选择 —滨田酷感黄豆浓汁 —特调墨西哥辣椒烩酱 (煎饼果子)  特浓肉孜酱青葱拌意面 (杂酱面)  特调浓香酱蘸皇家白玉冰珂 (beancurd)(凉拌豆腐)  明前安溪茶蕊煎怀玉百合 (铁观音炒百合)  特制北冰洋鳕鱼汁至鲜布丁 (鱼冻)  西班牙热辣风情茴香桂皮油灼鱼排 (水煮鱼)  法式松脆芝麻小烤饼配墨西哥特制油煎香面卷 (烧饼夹油条)  意式酱汁淋细面饼包裹浓香美国小肥牛 (牛肉锅贴)  泰国翡翠珍珠梗卷中式黄金炸脆饼(甜/咸)(瓷饭团)  特制西班牙浓香茄汁烩日式香Q小猪肉条 (茄子排条)  传统烤茄瓜红烩浓香肉汁(肉沫茄子)  西班牙青椒红烩利大意小牛眼肉片 (青椒炒肉)  特调美味酸甜汁烩澳大利亚小尖椒 (虎皮青椒)  精制小麦面饼包裹浓汁肉眼扒 --- 肉包子  中式松花蛋烩特选猪肩肉配水晶香稻浓汤 --- 皮蛋瘦肉粥  白水炖煮精选五花肉配橄榄油油滚墨西哥特大青辣椒(青椒回锅)  意大利秘制风味水煮五花肉爆鲜青椒(水煮肉片)  海鲜杂烩配时蔬小菜浇中式意面(三鲜面)  豆腐脑:中式豆花布丁配特制鸡丝浇汁佐顶级蒜蓉辣酱  油条:精选花生油炸发酵汤种咸味法棍  盐渍乳黄瓜色拉配油醋汁及蒜醋汁——拍黄瓜  蒜泥沙司橄榄油沥茄瓜碎——过油茄子  白酒乡村浓酱汁焗鸡胸肉——红烧鸡

Tags: 吃饭, 参考

Yii for SAE

这两天在实现Yii for SAE,之所以想实现这样的功能,主要还是YII相对比较深入开发人员的人心吧?
这一定是我的个人偏见,因此不要打口水仗。
开发的时候,遇到的问题大多是runtime目录下的存储,以及主从数据库的问题,因此大部分的精力都是在解决这些。
所幸,还是可以利用yii的一些特性来搞定它。
嗯。70%已经完成了。如果差不多了,到时候会扔到google code上,这样想用的人就直接可以使用啦。

目前还在测试中,可以访问 http://ixyz.sinaapp.com进行测试。

Tags: yii, sae

用JavaScript实现JVM运行Java

这也太夸张了吧。。。。用javascript实现jvm来运行java???
看到这个新闻我真的震精了,javascript什么时候也变得这么牛了?也就是说我们在javascript上都看轻了很多。
上原新闻:
Java不同于一般的编译语言和解释语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。借助JavaScript引擎性能提升的东风,程序员Artur Ventura在JavaScript中实现了JVM虚拟机大部分标准,在Github上发布了BicaVM的源代码。
原文来自:http://developers.solidot.org/article.pl?sid=11/11/22/1129220&from=rss
真的很惊讶,原来javascript可以这样牛。

Tags: javascript, jvm, java