档案

Archive for the ‘思路’ Category

没人会坐下来建元数据[2008]

2012/01/03 1条评论

[originally posted on 2008-10-28, http://tw.rpi.edu/weblog/2008/10/28/why-bother/]

Why Bother…

From Talis: “Jim Hendler at the INSEMTIVE 2008 Workshop”

that people will (and do) create metadata when there are obvious and immediate benefits in them doing so. No-one really consciously sits down to share or create metadata: they sit down to do a specific task and metadata drops out as a side-effect.”

I can not agree any more. I have tried to tag all my blogs once upon a time, after a few weeks, I found myself bored because there is no clear, immediate benefits for doing so. I would only tag things that I have to, like to tell my friends a list of posts of the same topic.

The only tagging system that is consistently successful upon me is the gmail labeling: I organize mails related to the same task (like writing a paper) on daily basis, because it is very useful, and immediately useful. Even though, I only label a tiny fragment of all my emails.

I have seen too many people having their (PC) desktops full of files and being too lazy to organize them – myself is one of them. Every year I have to spare a day or two to reorganize my harddisk, and dig out the hidden treasures of my “Downloads” folder. I believe for semantic web to be successful, creating an ontology should be at least as easy as and as useful as organizing files on a harddisk.

In fact, people are creating metadata or even ontology everyday: every email sorting, every contact on the cell phone, every folder creating, every calender item, every wiki post, … We just need to make them explicit, and most of all, without bothering the user to click even one more button.

Jie Bao

P.S. 2012-01-03 今天回来看,再次同意得不能再同意了!要实现一个实用的系统,要为用户做减法,而不是要求他提供元数据。

分类:语义网, 思路, 旧文

密码保护:数据财产托管和交换

2011/12/31 要查看留言请输入您的密码。

此内容受密码保护。如需查阅,请在下列字段中输入您的密码。

分类:Web, 思路

人生记录

2011/12/26 留下评论

我买菜或者开车,或者随便其他什么时候,经常冒出一些想法,比如对某个历史事件的看法,或者一个什么技术思路,或者过去一件有趣的事。这种事吧,你说叫我立即记下来,也小题大做。回家或者到公司,马上又有别的更重要的事要做,没有条件来记,通常也就忘了。

忘掉一个有趣的想法,是一个非常让人烦的事。所以有时候,我索性什么都不看,什么都不听,什么都不想,省得弄出一个想法来,又把她始乱终弃。

我试过用Evernote或者语音博客。这些都不理想。语音检索起来还很麻烦——除非把语音识别给做进来。发布mp3,和不发布效果差不多。我以前也有很多录音,可是几乎没有去听过。为什么?和文字或者图片不同,语音是线性的,非常难以迅速定位。而且,听语音的环境高于看文字或者图片。作为例证,我的语音博文的访问数远远低于文字博文。

推而广之,我需要的不仅仅是记录我的想法的工具,而且是一种能全面记录我的人生的东西。如果我不会忘记我每天最关键的那些人和事,日积月累,可能会产生一种惊人的效果。这里,“不忘记”是指我有一个新的辅助记忆,帮助我的生物记忆,“收到不忘”,“过目不忘”,“过耳不忘”,“想到不忘”。一旦我需要查找这种记忆,工具就会以一个极小的时间延迟,把我10年前偶遇过的一个同行的名字,或者20年前读过的一篇文章,帮我找到。

其实Apple的Siri的专利里,是提到Long-term memory这一块的。谁也不敢说Siri的下一步是什么!

我期待,又恐惧这人生可以被持续记录的技术的成熟。可以肯定,即使Apple推出这个服务,我一定、绝对、百分之百不会用它。

分类:Web, 思路

知识与智能

2011/12/18 1条评论

有一段时间,我很纠结于语义网的应用有没有用到推理。连推理都没有,叫什么“语义”网呢?

今天看禅宗故事,赵州和尚说:“放下著。”猛然想,其实应该放下“推理”,语义网并不一定需要推理,至少现在还不需要。

推理是什么?是从一些已知的知识得到一些隐含的知识。这是智能的一种。

知识和智能有什么区别?古人和现代人(更精确些,他们中最聪明的那一小撮),知识上可能有区别,在智能上,其实差别就不见得有多大。“上知天文,下晓地理”,“前知五百年,后知五百年”,这大部分是知识,不是智能。“道旁苦李”、“想君小时,必当了了”,这是智能(某种推理),不见得需要太多知识。

语义网的早期阶段,很多人(包括我)认为它是人工智能在Web上的应用。这个想法长远看并没有错——长远看,所有的应用都会变成智能的。问题是,有多长远?我们搞工业化应用,等不了十年二十年,3年5年就要见成绩。OWL之类要求追求推理的能力,推理的完备性,推理的可扩展性,其实是太超前了。

Nova Spivack等说,智能网络(Intelligent Web),要到2030年才能见端倪。我看这个估计可能还太乐观了。更有人认为,OWL是一个错误,因为它的表达力不够,我们应该回归一阶逻辑。这个,这个,似乎应该推迟到2040年或者2050年来做。

我倒是希望科学发展会快一些,证明我的估计太保守。不过如果要做工业的应用,对投资和用户负责,还是保守一点的好。

那现在的语义网,不做智能,还做什么?

我觉得,就是知识。“上知天文,下晓地理”,“前知五百年,后知五百年”。即使没有推理,或者或有或无支持一点小小的推理,这个知识的网络已经很厉害了。

知识是一种联系,连接就是知识。说得俗一点,就是一张图,联系世界上的各种事情。智能是用来生成新的连接的方法。其实不支持智能,也一样是有用的。

更重要的是,机器的智能虽然还很弱,人的智能可是顶顶厉害的。而人的闲置智能,多得很,都用来打麻将了。人和机器比,弱点在知识的存储。

Web是什么?是用机器把人连接起来的一种方式。要提高系统的总体智能,就要抓住瓶颈。瓶颈在哪里?

  • 机器的智能低而人的智能高。就要把人的闲置智能合理利用起来。Social Machine, Social Intelligence,等等
  • 机器的知识多而单个人的知识有限。就要把机器的知识、其他人的知识,以尽可能大的认知带宽(cognitive bandwidth)和行为带宽(behavioral bandwidth,就是从人想查到一个知识到实际查到一个知识的时间),在人需要的时候,传给人。Linked Data, Extended Mind, Knowledge visualization, Mobile Terminal,都是支持技术。

语义网(Semantic Web)对上面这两点都是支持技术。它没有必要一定要有推理。尤其是,语义网初衷之一,是让机器能读网页,这个说法有一定合理性,但是也很误导,容易让人忘了说到底知识是从人那里来,到人那里去。做工业的应用,在现有的成熟技术上服务于人,不必纠结于用不用某种技术,比如智能和推理。我们这一代人,只做我们这一代人的事情。

为什么要区分Context和一般知识

2011/05/28 1条评论

为什么要把context(域)和非context知识分开。比如temporal context, 我们可以写成ist(C(x), t),也可以写成C(x,t)。为什么不使用后一种方式?

用context建模有如下好处

1)用context建模可扩展性好。比如原来我们的知识库里有C1(x)… C100(x),现在要加一个时间维度,那要对所有的谓词都修改arity为2。如果以后又有新的context维度,又要修改。比如我们在Wikipedia上做编辑,编辑的revision log并不会加入页面本身作为正文——这些log就是各个版本的context。

2)contex可以被组合形成新的context. C(x, t1, t2) 不如 ist(C(x), t), t= t1^t2。也可以是其他的逻辑连接符,C(x, t1, t2)这种方式就表现不了了。

3)参前文《RDF and Context (域)》所说:域可以被重用(也就是把冗余部分压缩掉)。域可以被推理。域之间可以有关系。

分类:逻辑, 思路

量子信息论和语义信息论

2011/05/28 1条评论

这两者之间其实有很近的关系

一个量子比特(qubit)是多个纯态(pure state)的叠加。例如|s>= 0.707 |0> + 0.707 |1> 就是说 |s>以概率0.707*0.707=0.5为|0>,以概率0.5为|0> 。也就是,如果进行100次测量,那近似 50次得到|0>。

在语义信息论中,一个消息,也即是一个逻辑的表达式,代表多个模型。每个模型有自己出现的概率。例如,假如模型的集合是一个一个的人,其中20%是小孩,20%是老人。那消息“小孩或老人”的逻辑概率是40%,其中一半的可能是小孩,另一半是老人。

也就是,单个模型对应量子信息论中的基态。可写为

|小孩或老人> = 0.707 |小孩> + 0.707 |老人>

注意,在经典信息论中,如果{0,1}的分布概率是{0.5,0.5}这个信源没有冗余,(香农)熵是1比特。在量子信息论中,如果{|0>,|1>}的分布概率是{0.5,0.5},它的(冯诺伊曼)熵要比1比特小,因为在所有的可能输出中(现在有无穷多种), 0.707 |0> + 0.707 |1>出现的概率最大。

由于语义信息论中,一个消息可能对应多个不同的模型,这本身包含了语义歧义性(semantic ambiguity)。所以,语义信源的平均语义熵,必然的小于信源的模型熵(model entropy,也即是把模型本身当作消息时,计算的经典香农熵)。也就是,平均语义熵对应于冯诺伊曼熵。这个熵小于模型熵,但是可能大于或者小于信源的语法熵。这提供了语义压缩的可能。

注意,Bennett & Shor 1998说(我的翻译):

若经典数据由于数字位的不等频率或数字位间的相关,是冗余的,可以利用某些技术如Huffman编码压缩。量子数据具有以上两种冗余,但还有第三种方式:若数据流中的状态是非正交的(例如 一水平和45度 对角光子的随机流),作为物理态不能完全区分。这样的数据流不能用经典方法压缩,因为发送站在试图读数据时可能会产生干扰。然而 在对输入的n个状态的数据块进行幺正变换后,量子编码可以(无须对状态有任何了解)将其所包含的信息压缩到较少的量子比特,在接收端通过相反的变换可以几乎完全重建原始信号。

利用量子纠缠进行量子压缩,对应于利用语义模糊进行语义压缩。

Reference

参: Seminar on Quantum Compression. Ofer Shayevitz

中文资料参: 量子信息讲座(中国科学院量子信息重点实验室)

我以前翻译的量子信息论文章(1999):
http://www.cs.iastate.edu/~baojie/acad/past/past.htm#quantum
原文是 Charles H. Bennett, Peter W. Shor: Quantum Information Theory. IEEE Transactions on Information Theory 44(6): 2724-2742 (1998)

分类:思路, 信息论

笔记:描述逻辑的云计算(1)背景

2011/05/14 1条评论

Description Logic in the Cloud 这是很扯蛋的说法

或者说描述逻辑的并行计算(Parallel Computing with Description Logic),主要是指查询和推理两种任务。

对于RDFS或者OWL-RL的某个子集,利用MapReduce或者其他基于集群的(cluster-based)的计算,工作不少。不过一般都是基于规则(rule-based)的推理,不保证推理的完备性(completeness)。很多只支持非常有限的推理,比如BBN的SHARD工作。

模块化本体(modular ontology)语言,如Distributed Description Logics, E-Connections and Package-based Description Logics,基于非经典局域语义(Local Model Semantics),可做分布式推理。但是局域语义的复杂性,使它们不适合现在的工程应用。

所以这个系列,主要是在普通全局语义下,探讨完备的推理算法。其中包括对Tableau Algorithm (树图算法)的并行化的一些讨论。

下面附对Rule-based并行推理的一个简短比较(摘自我自己的一个报告)。这些工作,主要是parallel triple-store,而不是parallel reasoner。

———————————

Distributed RDF Reasoning

Most existing work on distributed RDF reasoning relies on parallelization of rule-based reasoning or partition of data on a cluster.

WebPIE (Web-scale Parallel Inference Engine) by Urbani et al [7, 6] performs rule-based forward reasoning based on the MapReduce programming model. It is implemented using the Hadoop framework.  They have shown inference on a triple set of 100 billion triples and in 1.35 hours on 64 nodes against 10 billion triples. This system does not support querying.

SAOR (by Hogan et al.) [1] computes the closure of an RDF graph using two passes over the data on a single machine. A fragment of the OWL Horst semantics is implemented to allow more efficient materialization and to prevent “ontology hijacking”.

In MaRVIN [10, 4], Kotoulas, Oren and others have presented a technique based on data-partitioning in a peer-to-peer network. A load-balanced auto-partitioning approach was used without upfront partitioning costs.

In Williams, Weaver et al [5], straightforward parallel RDFS reasoning on a cluster is presented. This approach replicates all schema triples to all processing nodes and distributes instance triples randomly. Each node calculates the closure of its partition using a conventional reasoner and the results are merged. To ensure that there are no dependencies between partitions, triples extending the RDFS schema are ignored. This approach does not support complete RDFS reasoning.

Newman et al. [2] decompose and merge RDF molecules using MapReduce and Hadoop. They perform SPARQL queries on the data but performance is reported over a dataset of limited size (70,000 triples).

Husain et al. [8] report results for SPARQL querying using MapReduce for datasets up to 1.1 billion triples.

References

  1. A. Hogan, A. Harth, and A. Polleres. Scalable authoritative OWL reasoning for the web. International Journal on Semantic Web and Information Systems, 5(2), 2009.
  2. A. Newman, Y. Li, and J. Hunter. Scalable semantics the silver lining of cloud computing. In Proceedings of the 4th IEEE International Conference on eScience. 2008.
  3. Adjiman, P., Chatalic, P., Goasdou, F., Rousset, M.-C., and Simon, L. (2006). Distributed Reasoning in a Peer-to-Peer Setting: Application to the Semantic Web . Journal of Artificial Intelligence Research, 25:269,314.
  4. E. Oren, S. Kotoulas, G. Anadiotis, R. Siebes, et al. Marvin: Distributed reasoning over large-scale semantic web data. J. Web Sem., 7(4):305-316, 2009.
  5. G. Williams, J. Weaver, M. Atre, J. A. Hendler. Scalable Reduction of Large Datasets to Interesting Subsets, In Web Semantics: Science, Services and Agents on the World Wide Web, , 2010
  6. J. Urbani, S. Kotoulas, E. Oren, F. van Harmelen, Scalable Distributed Reasoning Using MapReduce, in: Proceedings of the 8th International Semantic Web Conference, 2009.
  7. J. Urbani, S. Kotoulas, J. Maassen, F. van Harmelen, H. Bal, OWL reasoning with WebPIE: calculating the closure of 100 billion triples, in: Proceedings of the 7th Extended Semantic Web Conference, 2010.
  8. M. F. Husain, P. Doshi, L. Khan, and B. Thuraisingham. Storage and retrieval of large rdf graph using hadoop and mapreduce. In M. G. Jaatun, G. Zhao, and C. Rong, (eds.) Cloud Computing, vol. 5931, chap. 72, pp. 680-686. Springer Berlin Heidelberg, Berlin, Heidelberg, 2009.
  9. R. Soma and V. Prasanna. Parallel inferencing for OWL knowledge bases. In International Conference on Parallel Processing, pp. 75{82. 2008.
  10. S. Kotoulas, E. Oren, and F. van Harmelen. Mind the data skew: Distributed inferencing by speeddating in elastic regions. In Proceedings of the WWW. 2010.

Web3.0:互联用户产生的结构化资源

2011/05/03 9 条评论

Web3.0就是互联用户产生的结构化资源

Jie Bao

2011-05-03

==Web1.0和Web2.0的成功==

Web的成功,来自它是“Web”:它将资源互联起来。HTML,HTTP, URL这些东西是Web应用早期的支持技术,但是它们不是Web本身。后来的Web应用,比如QQ,P2P,GoogleMaps,它们用了很多更新颖的通信技术,并不是说,浏览器里的应用才是Web应用。用了HTML或者别的标记语言(Markup Language)的应用,如果不遵循Web的互联原则,它不能算Web应用: 比如Latex(至少到目前为止)。

Web 2.0的成功,来自它增加了资源的来源。Web 1.0时代,资源主要来自少数网站的编辑。Web2.0使每个人,只要会使用计算机,都可以成为资源的提供者。一个新的资源(比如一个新的Tweet),又会激发其他的资源被产生。这里面最主要的技术,我以为是Web Form(表单):表单使用户不需要知道HTML或者服务器设置就可以发布资源。

==Web2.0到Web2.5==

在我看来,论坛(Forum, BBS)这种形式就已经是Web 2.0了,中国的Web时代开始于90年代后期,赶上了Web1.0时代的尾巴,而论坛大行其道一直到现在,这就是Web 2.0,比什么Wiki, blog, microblog都成功。美国这边BBS不发达(相对中国),email list, usenet当年是主流,所以后来有了social web,觉得新鲜,其实中国大学生泡妞早就用BBS了:请比较美国电影《电子情书》( You’ve Got Mail,1998)和同年的小说《第一次亲密接触》,你会发现美国泡妞和中国(小说是台湾的,大陆也一样)泡妞技术手段有代表性的不一样。到今天,天涯论坛的影响力还是开心网不能比的。

Web 2.0被称为social web,有些人认为是因为它将社会关系引入网络故而成功。我以为,社会关系是web 2.0已经成功以后的添加剂,如果依然使用HTML来发布资源,社会关系是无法大规模映射到网络上的。有一种观点:一个失败的Web公司建一个网站,一个成功的Web公司建一个社区。社区的构造,并不自Facebook始,也不自实名制始。社会关系的引入,是个人化了原有的社区,论坛等,使原来不适合在大众场合发布的资源(比如:“我现在在吃早饭”),现在合适了,这就激发了资源的发布。资源数量的增长,使大规模的和用户相关的数据分析成为可能,从而激发了新的商业模式和盈利手段,使这个过程可以良性循环下去。

那为什么Facebook和Twitter抢了大量的眼球而不是传统的论坛(以至于电影《Social Network》就是讲Facebook)?因为他们意识到了传统的交互式发布手段所忽视的一些东西:关系。这些关系,可以是人的关系(比如朋友,比如关注),可以资源的关系(比如回帖,比如附件),可以是人和资源的关系(比如发布,比如喜欢)。早期的社交应用,比如QQ或者BBS,坐在这样的宝山上不知道用,把这些关系本身隐藏着在他们的系统的零零散散的地方。Facebook和Twitter将这些都打破了。对商业来说,你用户说了什么其实不最重要,你和其他用户或者某种产品的关系才是重要的。Facebook和Twitter提供了这种资源采集的手段,作为Web上的“关系”的传感器,绕过了机器学习或者自然理解这些复杂的手段,直截了当地使资源被利用。从这个角度讲,Facebook这一代应用应该称为 Web 2.5。

==什么是Web3.0==

Web 3.0,并不是语义网,更不是RDF/OWL。我觉得,这个核心就是如何促进更多的资源被加入正循环:更多资源,更多商机,更多资源… 之所以我们需要高质量的资源,是因为高质量的资源包含更多的商机(相对成本),而不是因为我们喜欢高质量本身。比Web 2.0或者Web 2.5时代实现资源采集和使用方式的本质变化的,就是Web 3.0。

其实Web3.0时代已经开始了,和所有的技术演进一样,它是悄悄的,不经宣传的。它也通常是不经规划,而通过对成熟技术的整合而出现的。事先的规划未必有效,发展的动力未必是技术的追求。对代的变化,应着眼于资源生态链的模式变迁,而不是一种具体的技术手段。

尽管Web3.0的最终模式我们不可预料,它早期的一些脉络,我们或可管窥。

首先,Web 3.0将是对Web2.5的一种演进而非革命。正如Hendler在Web 3.0: Chicken Farms on the Semantic Web里讲的,Social Web有助于Semantic Web所需要的数据发布手段。Web 3.0上的资源,最大量的,还是人们日常生活中的那些活动和资源在Web上的映射。比如我们在哪里买东西,买了什么,我们和谁打电话,我们在路上看到什么。这些,现在大家在Facebook和Twitter上都在做。Web 3.0将以一种前所未有的方式将更多有用“没用”的数据弄到Web上来。谁忽视这些“没用”的数据,谁就会失去商机。

其次,Web 3.0上的资源,必然需要一种门槛更低,更方便的发布方式。Web 1.0时代(HTML时代)的数据发布者大概不过几千万人。Web2.0时代(表单时代)在十亿人规模。Web3.0时代(传感器时代),要将世界60亿人口中绝大多数都变成数据的发布者。这个方式的雏形,现在是利用手机之类移动平台。手机作为全方位的传感器:文字,语音,图像,光线,重力,时间,空间(GPS),姿态,压力,方向,加速度…….是极佳的数据采集平台。而且,它对使用者的要求远比计算机低,使文盲和老人都有可能参与进来。手机的意义,就如同当年表单的引入,使资源发布的规模出现数量级的变化。不仅有硬件的传感器,还有软件的传感器:用户在终端上的行为会被详细记录,经过某种优化、过滤和隐私保护,自动发布到Web上形成有价值的数据。以后有什么更新颖的方式,不可预料。

又次,Web 3.0上的资源,将不仅仅是文字,图像,视频这些传统的资源,而且会有更多的非传统数据,比如GPS位置,比如速度,比如背景噪声。通过这些数据的分析,并利用Web 3.0上其他的数据,商家(在一定隐私保护条件下),可以推理出,某人正在接孩子上学,某人正在开会,某人和某人是同事等等。这些信息,对商业的意义,不言而喻。

这些Web 3.0上的新资源,天然是结构化的。我们身边结构化的数据并不少,比如我们回邮件,邮件之间有“回复”关系。可惜这种关系通常被浪费了,你要在一堆”RE”,”RE RE”中来阅读查找,而不可以查询。Web 3.0将充分使这些用户产生的数据用一开始就是结构化的,而不需要依赖并不成熟的AI技术来从非结构化数据中获取结构化数据。这种数据,使我们对它做语义的标注和推理成为可能。比如我们可以通过用户历史GPS位置采样和商店的分布数据来推理他的购物偏好。从这个角度,语义网将成为Web 3.0的一个支持技术。但语义网的大规模应用,将是在用户产生的高质量结构化数据成为现实之后,而不是之前。目前的语义应用,很多只能称为语义技术的应用,而不是语义网的应用——正如Latex是标注语言的应用而不是Web的应用。

==从动作到资源==

Web 1.0 和Web 2.0时代的资源,大多通过鼠标和键盘建立。Web 3.0时代,只需要更少的努力,就可以将资源发布。所有的动作,都可以产生资源,主要是各种数据。

不仅手机将是这种资源的来源,人的各种行为都将容纳到Web资源的发布中。比如电视节目的选择和查询。又如带wifi的体重仪,可以将体重自动发布到用户的健康监督网站,甚至自动发送给他的医生。又如通过带有3G和GPS的车辆,Web用户将精确地知道发生交通堵塞的地点和原因和各路段的平均速度。其他如电表,冰箱,跑步机,婴儿床,都可能成为数据的来源。

各大网站目前都在做用户行为数据的收集。但是,这些数据被作为私有资源,提供数据的用户本身并不能从中得到直接利益。这种模式不利于刺激数据的产生。只用当用户的数据被以某种方式安全的方式互联,并直接反馈利益给用户,数据才会以前所未有的速度产生。

P.S. (2011-05-19)  上面说的,有读者认为类似“物联网”的概念。我认为,物联网本身并不是我试图推销的概念。关键,是合理的记录用户的行为,自动产生有价值的数据。传感器是一种有效的方式,还可能有很多其他的方式,试举几个生活中的例子

  • 我在查询一个研究方向的过程中,下载了很多文章,然后将这些文章归档,建立页面并加链接到Bibtex。有时,还要搜索作者的个人主页。这些工作,很多完全可以自动化,在我浏览的过程中可以通过记录我的行为完成,并加以部分的数据集成(如从DBLP)
  • 每年报税的时候,一年中所有的收入和交易应该自动汇总,而不需要报税人手工输入。

==数据之互联==

用户所产生之结构化数据,需要在不同Web应用之间建立关系。我搬一次家,要在上百个网站修改我的家庭地址(一种结构化数据)。我所有的web login,打印出来起码有10页纸。整合此类数据的跨系统集成和重用,被很多人认为是Web3.0的特征之一。

这种互联,比如Facebook就在做。OpenID做了很多年,不成功,因为它缺少背后的商业利益。Facebook的互联,形成了一种可怕的数据集成力量。这种力量可以用来做非常多的事情,正面或者邪恶的。

用户行为产生的数据,将可以和某种知识库相联系,如电视可以和IMDB相连,ATM可以和Yodlee相连。由此,可做某种简单的查询和推理,例如列出今晚各频道所有有中国血统演员的电影。或者进行推荐。其间用到的推理,一般会是极简单的规则(如分类树),但需要实时的响应。

==什么不是Web3.0==

Web3.0现在是一个流行词(Buzz word)。本文只讨论Web3.0上资源的一些特点,Web3.0还有很多其他可能的特性,并未涉及。但有些技术,并不可视为Web3.0的核心特征。他们和Web3.0或有相关性,而非因果性。

  • 云计算和网络存储(从BBS时代开始,就已经“云”了)
  • 实时网络(实时性乃是数据采集方式变化的另一个结果)
  • 智能网络(所谓的复杂的推理和agent技术,并不是Web3.0的必要条件)
  • 物联网(Web3.0需要数据来自用户的行为,数据发布自动化;传感器是一种方式,但未必是唯一的方式)

==总结==

本文认为,Web的代际演进,核心问题是资源的发布和利用方式的变化。Web 3.0将是在现在的Social Web的基础上演化出来的新的资源生态模式。其支持技术包括资源发布技术(如手机),资源采集范围(如地理位置)和资源集成方式(如语义网和推理)等。新资源发布和利用方式和新商业盈利模式的良性循环互动,是其成功之关键。

==参考==

2011-04-30 语义网、蒸汽机、电视电话

2011-04-28 语义网是一层数据的皮

2011-04-28 Web 3.0:基础与基础之基础

2011-04-23 语义网和世界语

2011-04-21 语义网就是数据

笔记:层化产生式系统(1)

2011/04/25 3 条评论

Louiqa Raschid: A Semantics for a Class of Stratified Production System Programs. 31-57 (bibtex)(download)(citation)

这个文章讲有一种分层的production rule系统,可以转化为一般的LP系统,从而有陈述性语义(declarative semantics)——而不仅是操作语义(operational semantics)。

另参 P.M. Dung, P. Mancarella, “Production Systems with Negation as Failure,” IEEE Transactions on Knowledge and Data Engineering, vol. 14, no. 2, pp. 336-352, Mar./Apr. 2002, doi:10.1109/69.991720

==层化LP==

如果LP中有“非”(not),那不能保证推理结果的唯一性,例如

P :- not Q.
Q : -not P.

那{},{P,Q}都是一个model。所以,到底P是真还是假,不确定。

是不是就不可以有非呢?层化是说,可以有非操作,但是谓词(或者命题)要分个三六九等, 高等级的谓词可以依赖于低等级的谓词的非,反之不可以。例如

P :- not Q.
Q :- not R.

这个就没有问题。如果我们把not的依赖画个关系,那这个图要求无环。这样的LP,称为层化stratified logic program 。对产生式程序(production program),也有对应的层化。就是本文研究的对象。

层化LP有well-founded semantics (WFS, Gelder 1988)。对locally stratified LP,有perfect model semantics (Przymusinska, 1986)。暂不深谈。

==目的==

为什么要研究这种层化的产生式程序?因为它有陈述性语义。好处如下

  • 产生式系统的推理通常要经过一个复杂的匹配过程(参RIF-PRD的语义);陈述性语义相对简单,无论是数据库还是LP(参考answer set的构造)。
  • 当我们执行产生式规则时,无法检验结果的正确性(correctness, or soundness)。打个比方说,如果我们把生孩子的过程看成一个产生式程序,那怀孕生产,都是其中的过程,最后生下一个孩子,或男或女,但是我们既不能事先预测,也不能检测这个性别是不是表达“对”了(相对受精卵)。反之,如果我们把受精卵的DNA作为语义,那首先,我们可以预测,这个孩子能不能生出来(类比于逻辑的termination),而且生出来以后,如果XY染色体出来的小宝宝没“把”,那肯定是基因表达(推理过程)出错了。
  • 操作语义本身不能保证执行的可终止性(termination)和结果的唯一性(deterministic)。
  • 操作语义很难用来做证明程序的等价性(equivalence),冗余性(redundancy),包含性(embedding),一致性(consistency)等。我认为这一点最重要!

霍恩逻辑有好几种语义:不定点(fixpoint)语义,模型论(model-theoretic)语义,操作(operational)语义相互都是等价的。

数据库有证明论(proof-theoretic)语义和模型论语义,也是等价的。

那么我们能不能对 产生式程序 定义 模型论语义(也即陈述性语义)——及对应的不动点语义?一般不能,但对层化的产生式程序,可以。

层化的产生式程序有标准的最小模型(minimal model)语义。把层化的产生式程序翻译成层化的LP,原有层化LP的研究就都可以借鉴过来了。

【未完,待续】

分类:笔记, 逻辑, 思路

语义网中的推理是不是银弹?(3) 分类树就够了

2011/04/25 1条评论

续语义网中的推理是不是银弹?(1)(2)

【4年过去,我现在还是同样的想法,并且继续奇怪为什么没有人来搞。搞这个有商业价值吗?道旁苦李吗?】

2007-6-9

我再斗胆说一遍:SW的大规模应用,先阶段只会是基于分类树,至多DAG。只要把分类树搞起来,80%以上的应用可以涵盖。

2007-6-16

为什么大家不能用Hierarchy来做些事情呢?比如Wikipedia, MySpace, Flicker,给tag加上分类,不就可以实现很简单的语义查询了吗?其实,虽然ontology语言很复杂,但是真正最有用的部分,大概就是分类吧。我没有field research, 不过大家给自己个人主页加meta data,分email,给文件分目录,不都是分类吗?分类,或许是数据库不能表达,而又最重要的“语义”了吧。

简单的场合,当然很容易作分类。对某些复杂的场合,比如我们设想一个情况:我们先用DL之类复杂的建模工具,建好一个本体,然后对他作classification,得到一个DAG。当然,如果有些无名节点很重要,可以优化一下这个本体的结构,给它们以名字。然后,我们在语义网的前端,就发布这个DAG,作为这个本体的逼近。可以肯定,表达力是弱了。但是,如果90%的应用可以用分类表达,who cares the other 10%?

DL的背景是专家系统,知识表现。应该说,它也最适合做一群知识分子的toy。作为老爷爷,老奶奶都能用的工具,Web真的需要DL吗?甚至,Web真的需要RDF吗?

DAG的查询是线性的,如果稍加优化,常数时间。当然,优化分布式的,动态的,triliion规模的DAG的推理也不是一个简单的工作。

回顾一下Google,(最初的)PageRank的核心问题无非是计算大规模稀疏矩阵的特征向量。如果我们开发一个DAG的推理机,可以处理以百亿记的网页上的DAG的transitive closure, 或许真的可以做一些Semantic Search呢 (Swoogle能做什么?)毕竟,常数时间复杂性才是现实的bussiness.

7年之痒,也许真应该看看基于逻辑的语义网是不是大超前了。或许,RDF都似乎过强了些。如果我们有一个语义网的“逼近”,只有subclassof的,也许是一个现实的选择吧。毕竟分类在图书馆里作为一个行之有效的方法,已经用了几百年了。

PS 我对某些人宣称的用EL来建模Gene Ontology很怀疑。据我对身边所有搞生物信息学的人的统计,无任何一人用到超出DAG的功能。

——————–
2007-6-16

ESWC 2007和ISWC 2006都提供RDF元数据了。不过,有什么用呢?对一个没有接触过SW的人,他能看出这两个网站和别的web 1.0的网站有什么区别?有什么新颖的功能?解决了什么以前的技术不能提供的功能?比如,我想查询“Logic Prgramming”方向上美国来的文章,他们能提供什么样的一个查询接口?(比如一个文章的关键词是ASP,我希望它也能被查询到。)
同理, Mindswap,”the first semantic web site”,用户能从它那里得到什么“实用”的新功能?

当然,解决这些问题并不需要特别复杂的技术(很大程度上,分类树+RSS就可以)。一个Killer Application,不应该是因为自己用了RDF或者OWL或者有一个后台的DL推理机而沾沾自喜,而应该是彻底的面向傻瓜用户,提供简单而有用的功能。

folkonomy, 大概是最现实可行的吧。

——————–

后面跟了一些关于folkonomy和tagging的讨论

【完】

分类:语义网, 思路, 旧文

RIF-PRD的过程语义和描述语义

2011/04/21 1条评论

同时开始写RIF和策略语言(policy language)这篇文章。现在是三篇同时开工,争取每篇每天写一页——我不知道有些牛人是怎么做到日试万言,倚马可待的。

RIF-PRD的官方语义是过程语义Procedural Semantics(也称operational semantics),也就是有一些“action”,通过这些action,模型的状态会发生变化。比方说,你和面,有加水和加面两个动作,那每个动作之后,这个面团的状态就会发生一些变化——那从逻辑上讲(如果你把和面的过程也看成逻辑的计算),这个面团的语义变化了,比如从小面团变成了大面团。

理论上讲,你加面和加水的次序发生改变,是不会影响面团的最终次序的。但对有些工作,次序错了那后果是完全不通的。比如我们和面是为了蒸馒头,那加酵母这个动作一定要在蒸这个动作前面。所以对过程语义,句子的次序是很重要的。“屡败屡战” 和“屡战屡败”在皇帝看来意境不同,“情有可原,法无可赦”(对马加爵)或者“法无可赦,情有可原”(对药家鑫)之类的法律活用,都是过程语义的活学活用的例子。

描述语义(descriptive semantics)又是什么?很多时候,我们不关心句子的次序,只关心它们最终说了什么。比如一个聪明的皇帝,不管是看到“屡败屡战” 还是“屡战屡败”,都最终指向一个模型,里面有两个元素:{屡败,屡战}。那么那个大臣在描述语义下,不管怎么玩弄词句,都是要被砍头的。

在互联网上,我们大多数时候没有办法预测知识描述的次序——比如链接出现的顺序。这就是为什么大多数语义网的语言,比如RDF和OWL,都用了描述语义(比如模型论语义)。而且描述语义的推理机,可以有正向推理,反向推理等很多方式,比过程语义一根筋往前冲要灵活。

RIF的BLD(基本逻辑方言)也是用的描述语义,因为它就是没有“Negation”(逻辑非)的Horn Rule(霍恩规则)。

但是RIF的PRD(产生式规则方言)只有过程语义?为什么?主要是因为引入了逻辑非。有了非,次序就很重要了,例如

  • 如果没有鸡蛋,就不吃方便面
  • 如果家里有方便面,就去买鸡蛋
  • 看见一包方便面

按这种排列,在过程语义下,最后就吃不到方便面。把次序整个颠倒,就有的吃。

很多时候,我们又需要逻辑非,又想有次序无关性,怎么办?ISWC2010上有篇文章讲这个事:

Declarative Semantics for the Rule Interchange Format Production Rule Dialect
by Carlos Viegas DamasioJose Julio AlferesJoao Leite

但是我认为这个方法,是没多大意义的。因为它所做的,是把产生式程序本身给一步步记下来,然后给这个详细的记录一个描述语义。打个比方说,你把加水加面加酵母上锅蒸的全过程都一二三四五记下来,然后去数这个记录里汉字的分布。你得到的结果到是次序无关的,但是有什么用呢。而且,你的过程已经走完了,馒头都出锅了(推理过程已经结束),还要你的描述语义做什么呢?我们要这个描述语义,是希望它能帮我们确定推理结果(比如,知道馒头这样搞一定蒸得出来)——虽然我们并不需要知道这个推理结果。

所以我要做的,就是发展RIF-PRD的另外一种描述语义。PRD的全集是没法搞的,只能是一个子集。这个文章,就在说这个子集,已经如何从这个子集映射到一些策略语言上(算是应用)。拖了半年了,终于下了决心把它彻底完成。

分类:逻辑, 语义网, 思路

XBRL,金融数据和语义网

2011/04/19 2 条评论

浏览了几个中文的新闻,均来自XBRL中国官网

语义网技术提升XBRL功能 (2010-07-14)。相关的英文文章是 Consuming XBRL Financial Information: Semantic Web Prototype App Aims To Make It Easier, Faster, Automatic — And Socially Connected (2010-07-14)

文中的Dr. Graham G. Rong,是我们(RPI)在MIT的合作伙伴。Rong博士和我在2010年1月在MIT的一个Linked Data课程上相识。他有金融领域的背景和人脉;我们聊到我对金融数据的兴趣,Rong博士就向我介绍了XBRL。这就开始了后来的一系列工作(见前一篇文章《基于语义网的证券分析》)。由于这个工作和RPI现在做的政府数据方向颇有关系,我们得到了TWC Director Hendler教授的支持。我们一个博士生,Xian Li也有金融领域的工作背景,也参与到这个方向上来。

上引文章里对语义网和XBRL这两种技术的结合,做了很好的原则性阐述。我这里再非正式地讲一点我个人的看法。这些看法都不成熟,所以都没有在发表的文章里讲过。

首先,XBRL是XML,是数据的结构的规范而不是数据的语义的规范。如何理解?比如,我们写文章,规范文章要有标题,要有摘要,引用的格式如何,这些是结构。至于这个文章说的是什么,是建一个观点还是灌水,这是语义。但是这样说,要很小心,因为XML界一样有语义的研究,在论文里措辞要很谨慎,虽然此语义非彼语义。

用语义网做数据的建模,或者其简化的版本,互联数据(Linked Data),自然可以应用到金融数据的建模上。比如说,我要研究波士顿地区半导体方向的公司的财务情况,那要看这些公司的10-K(年报)或者10-Q (季报),还要看这些公司的简况,比如公司所在地和业务范围。这里面有很多知识问题。比如,我看到一家公司位于Nashua, NH,这算不算波士顿地区呢?或者,一家公司的产品包括了射频功率放大器,那它是不是一家半导体公司呢?或者,A公司的2010财年第4季度盈利明显高于B公司的2010财年第4季度,但两个公司各自前一个季度的盈利差不多,是不是B出问题了呢?

这里面有许多语义可以利用。比如,从Wikipedia,我可以知道Nashua, NH算在波士顿大区,离波士顿大概40英里;从某产品分类,我知道射频功放是一种半导体器件,尽管那家公司没有提“半导体”这词;我还发现,A,B两个公司的财年定义是不一样的,一个包括了圣诞后的季节性萧条期,一个没有。这些都可以帮助我们决策做参考。

再比如,我们要挑选ETF。现在有很多网站可以帮助我们。但是,在某个网站上,我选了亚洲区ETF,发现它遗漏了很多中国的ETF?为什么,因为这个分类里,并没有中国区ETF是亚洲区ETF这样的一个简单的知识。

又比如,我看IPad卖得很火,想投资Apple股票。可是AAPL现在市盈率很高,不敢跳,怎么办?其实网上有很多人,买了IPad回来拆,分析里面的配件(这个就是知识了)。有分析师(fool.com上就有几位)就按这些配件找相应的公司,推荐这些股票。这个决策过程,要浏览很多网站,看很多数据(比如相关公司的P/E, P/B, 历史数据, 各种噪声)。如果有一个平台,把这个自动化了,那我就可以自定义一些ETF(也就是股票组合),比如IPad ETF, XOOM ETF, 卖得最火的手机的最常用配件的ETF,等等。

但是,是不是说,我们把数据转化成了RDF或者OWL,就让数据天然有了语义了呢?我看过很多这样的应用(未必在金融领域),对其中语义部分的有效性和必要性,持审慎的态度。对金融数据,我认为同样的态度也是必要的(有的方法直接映射XML的结构到RDF上,这个语义的质量是很差的,我怀疑能不能用)。这也是我在和部分业内人士交谈中,得到的一个非常理性的反应。

首先,简单知识的建模,比如分类关系和ER(Entity-Relation)关系,在语义网之前就有很多的工作。复杂知识的建模,是一个代价很高的过程。金融要求处理瞬息万变的数据,这个建模的复杂性是非常高的。语义的提取本身,是一个极具挑战的工作。试图完美体现一个金融知识模型,比如SEC的GAAP或者某个公司的Taxonomy,这个劳动量是非常大的,而且各公司未必有这个人力或者兴趣来做。所以,我想,一个合理的方法,还是综合使用结构化数据和非结构化数据,象Watson系统那样,大量的吃进数据,并利用现有的语义网数据。不要试图建立一个包罗万象的金融本体。

其次,推理到底在这个过程起多大的作用?我想,一个关键还是不可以拘泥于逻辑的推理。非常多的金融数据是模糊的,比如Twitter的数据(参StockTwits.com)。基于概率的模型,或者基于机器学习(比如神经网络)的模型,也许能更好的处理这类数据。

另外,就是金融数据的海量性和实时性。所有的查询和推理系统,都必须能适应极大量的数据,几个毫秒的差距都可能造成损失。基于推理机的语义网查询推理系统,能不能用,怎么用,待考。并行计算如何用,或者非传统数据库(比如基于列的数据库)如何用,如何在它们上面实现简单的金融领域需要的推理,待学习。

总的来说,我对这个方向很有信心。但是这是一个很大的系统工程,需要大的投入,需要和金融界很好的沟通。目前有团队在做这个事,具体如何发展,待观察。

另参考(都是原则性的科普,不可不信,不可全信):

我另整理有一些XBRL和语义相关的资料,待以后写相关文章的时候再整理于此。
分类:语义网, 财经, 思路

域态逻辑的模型论

2011/04/11 4 条评论

春天不是读书天
晕晕乎乎正好眠
抬你扛(telcon)催如星火
不知此日到何年

(开场诗完)

A Model Theory of Context Logic

目前正在写一篇关于域态逻辑的会议论文,大概还有4个星期的时间,今后几天,一天写一页就好。这里瞎扯的,发散思维,都是些胡想。(BTW,等我灌完这篇,再灌一篇Journal,仁至义尽,就真的不想再灌了,还是多看看编程宝典,搞钱,买房,抱(我们家那个小胖)妞,quit)

那么目前的关键,在域态逻辑的模型论语义。

为什么要有语义?因为我们现在感兴趣的不仅是有名字的域(named context),而且域本身的表述也是一种知识,可以进行推理。比如我们说“总理”,在大陆这个context下大家会认为是周恩来,在宝岛台湾这个context下大家会认为是孙中山。但是在这两个context下,“总理”是一个政治家这个陈述都是成立的。

ist(总理=周恩来, 大陆)
ist(总理=孙中山, 台湾)
ist(总理->政治家, 大陆v台湾)

那这个最后的“大陆v台湾”是一个域公式(context formula),本身没有名字。用一阶逻辑,我们还可以定义更复杂的域公式,例如“败给意大利两次的国家

国家(x) ^ 败(x,意大利, year1) ^ 败(x,意大利, year2) ^ year1<>year2

特别是对不可数的域,我们不可能声明所有的域上的真值,必须用域公式进行真值的转移(truth transfer)

[BTW,太久没有用中文写专业的东西了,怎么觉得这些句子这么别扭,不象人话。]

所以,域本身也需要一个模型论语义在支持域上的推理。

为什么不用局域模型语义(Local Model Semantics,LMS)?LMS讲,所有的model(模型)分成许多独立的集合,每个集合是一个局域模型(local model)。局域模型之间有个体之间的关系(domain relation),来关联域之间的语义。问题是,LMS不支持域本身的推理,只支持有限的域间的知识转移。

所以,我们现在有两种模型

  • 普态知识的模型(model of non-context knowledge)
  • 域态知识的模型(model of context knowledge)

ist(F,C) – 陈述F在域C上为真,是什么意思呢?

先看没有域的时候,F为真,是针对一个模型m满足F, 记为m|=F。

在LMS里,说m是C的一个元素。

在域态逻辑里,模型是一个二元对(pair)。普态模型和域态模型有一种对应关系,我们称为“居于”(is in)。比如“下雨了”,普态有模型(什么样的雨,多大的雨),对于的域有模型(北京东城区、上海黄浦区等)。我们有这样的模型关系:

isin(10毫米阵雨,上海黄浦区)

有这个关系,我们就可以说

ist(下雨了,中国) 是真的。因为

10毫米阵雨 |= 下雨了    ;    上海黄浦区 |= 中国

一般的,我们定义模型对和域态陈述的关系为:

<m, mc> |= ist(F,C)  if  m|=F, mc|=C and isin(m, mc)

如果对所有的mc|=C都有<m, mc> |= ist(F,C),那我们记为m|=ist(F,C)

如果对所有m, m|=ist(F,C), 那ist(F,C)是永真式(tautology)。

例如 ist(a^b->a, C)就是永真式。

如果<m,mc>|=ist(F1,C1)则<m,mc>|=ist(F2,C2), 则 ist(F1, C1)->ist(F2, C2)

下一步,做域态的概率建模。挖坑先。

参考文献

C. Ghidini and F. Giunchiglia.Local Model Semantics, or Contextual Reasoning = Locality + CompatibilityArtificial Intelligence,127(2):221-259, 2001

Sasa Buvac: Quantificational Logic of Context. AAAI/IAAI, Vol. 1 1996: 600-606 [bibtex]

 

 

 

 

分类:逻辑, 思路

连续信号的逻辑

2011/04/11 留下评论

在学习Continuous Model Theory(连续模型论)。为什么?对于连续信源,要理解它的语义,势必要了解如何对连续信号做推理,那首先就要了解它的模型论语义。

要理解语义不确定性原理,应参考连续信号中时域和频域分辨率的矛盾。在工程上表现为增益带宽积,在理论上表现为香农的有噪信道容量定理。为建立工程信噪比和语义信噪比的关系,需了解连续信号和它的离散采样在推理作用下的关系。基本物理量,比如动量和位置(它们本身互为傅立叶变换),本身并无语义。但是当其中一个物理量有语义,也就是它本身作为模型,通过推理过程影响另外一些物理量,那此时的不确定性原理如何表现?

这个领域应该是已经有很深入的研究了。对Continuous Logic,我在看V. I. Levin的一些文章,并进一步看它的参考文献。

为了不受资料的限制,在看以前,先提纲我自己的想法,等看过文献后,回来检验。

首先,连续信号是不可数的。可数的信号可以离散化为二元信号的幂集,传统的算法信息论和统计信息论都可以解决。连续模型势必是一个不可数集合,对应实数集而不是整数集。

其次,一阶逻辑可以表达连续函数。我们可以利用逻辑关系用一个函数定义另一个函数,只要这些函数都是R.E.(递归可遍历的)。但是,我不清楚如何做两个连续函数的逻辑运算,比如与(and)、或(or)。

【待续】

从概率时态逻辑到概率域态逻辑(Probabilistic Context Logic)

2011/04/08 3 条评论

接着《RDF and Context (域)》说context。

这里主要参考了Paulo Shakarian等人的Annotated Probabilistic Temporal (APT) logic。Shakarian在VS的组里。什么,VS是谁?看来你没搞过数据库。

APT逻辑的基本思路很简单(我觉得,好文章的基本思路都很简单)。这篇文章的Related Work写得尤其好。里面比较了马尔可夫决策过程(Markov Decision Process, MDP)和概率计算树逻辑(Probabilistic Computation Tree Logic, PCTL)。

什么是概率时态逻辑?比如我坐D305火车从南京到上海,那我会以99%的以上的概率在5小时内到达,80%以上的概率在2小时内就到了。形式的表达,就是

at(D305,Nanjing)->at(D305,Shanghai) [5, 0.99, 1]

at(D305,Nanjing)->at(D305,Shanghai) [2, 0.80, 1]

很简单不是?

这个句子的语义(Semantics)是这样的。如果我们考虑全国的列车位置,比如at(D305,Nanjing), at(D31, Beijing), 那这个集合就是全国列车的一个“模型”(model)。从时间time到模型model,可以建立一种映射,称为线程(thread)。比如只考虑一天的火车运行,从0到23,一共24个时间点,每个点都对应一组列车的位置

0 -> { … }

11 -> { at(D31, Beijing) …}

21 ->{ at(D31, Shanghai), at(D305,Beijing) …}

24 -> {}

由于火车可能晚点,那每天这个从时间到位置的对应,不一定完全一致。所以,可能的线程不唯一,存在很多不同的可能性。

我说, “坐D305火车从南京到上海,那我会以99%的以上的概率在5小时内到达”,是指在所有可能的线程(也就是,晚点的可能性)里,100个里面有99个甚至更多,我已经到上海了。

整个APT文章,然后用了很长的篇幅讲复杂性分析和推理(entailment)算法,其实都是题中之意,烦而不难。

OK,那什么是概率域态逻辑(Probabilistic Context Logic)?[注意,域态逻辑这个名字是我自己瞎起的]。因为时态只是域态的一种特例,其他如空间域(spatial),依赖关系域(dependence, 比如因果依赖或者provenance),也可以用APT类似的方法建模,那么此时的轨迹(trajectory),不再只是时间的函数,而是域的函数(with contexts as the domain)。你要是觉得这就是模态逻辑modal logic),也对(时态逻辑本来就是一种模态逻辑,经典的context logic也是模态逻辑),只不过我们现在允许更多的操作符。

BTW, 不了解模态逻辑的,去看Cube 2 Hypercube这个电影,每个cube都有无穷多平行宇宙,很考验脑细胞。

(Cube 2-Hypercube[2002] PART 2, 10min/part)

具体细节,过几天再讲。(老原则,也许填,也许不填)

参考文献

分类:逻辑, 思路, 流水帐

语义不确定性原理

2011/04/06 留下评论

科学松鼠会上看到一篇精彩的文章《不确定性原理的前世今生》(1,2,3,4),联想到语义信息论上的一些问题。关于测不准,我以前也写过一段介绍

【广告之后马上回来(其实是我要回家吃饭)】

P.S. 2011-04-08 这个坑看来一时半会是填不了了。我主要是在想对一个信号做逻辑的变换, i.e., 信号本身是模型而不是信号(看这话绕的),那获得的最终信号(i.e., 推理结果)的频域特征是什么?不确定性原理还是否有效?BTW, 一个茴字有四种写法,这个“茴”是模型,四种写法是信号…

P.S. 2011-05-28 似乎想明白点了。语义不确定性,就是对某些模型(model)不可区分。经典的信息论,传输的是模型本身,而语义信息论对应的是模型的叠加态。参后文《量子信息论和语义信息论

分类:思路, 信息论

RDF and Context (域)

2011/04/06 4 条评论

昨天决定把Context翻译成域。今天接着说说用RDF来表示Context,主要是帮我自己理清思路。

去年做了一点这个方向的工作,参加了RDF Next Step Workshop。这是幻灯片:

现在有很多人研究怎么做RDF的时域(Temporal)和空域(Spatial)扩展,文章很多。一部分我认为重要的Temporal RDF的文章待会列到回复里。Spatial RDF我不很熟悉。比如一种建议是这样的:

:stmt2 rdf:subject <s>;
rdf:predicate <p> ;
rdf:object <o> ;
tmp:interval [
tmp:initial “t1″ˆˆxsd:dateTimeStamp ;
tmp:final “t2″ˆˆxsd:dateTimeStamp ] .

也就是用Reification.

Gutierrez等(2007)提出的抽象语法是

s p o [t1 t2]

那如果我们要表示空间域,比如“布什是总统”这句话在2002-2009时间域为真,在美国空间域为真。那我们就要再加一维

s p o [t1 t2] <s>

那如果有更多的其他context呢?比如情绪、上下文、背景数据(比如,“高个子”在NBA和武大饼屋含义不同)。那一个triple上加的注释(annotation)就会越来越多,不胜其烦。

一个办法就是把这些context通通包装起来,放在一个“context document”里面。一个triple,或者一组triple,在某些context里是真的,在其他一些context里为假。在查询的时候,首先指定我们感兴趣的context,则只有相关的triple被返回。

用抽象语法

s p o @c
c  [t1 t2] <s>

看起来差别不大。但是这样有几个好处:

  • 域可以被重用。如果有很多triple共享空间和时间,那不必重复
  • 域可以被推理。一个triple可以属于多个域,或者根据推理的结果属于某个域(域本身可以是变量,在具体语法上是空节点blank-node)
  • 域之间可以有关系。比如我们对谁是总统这种论断制定空域的封闭世界假设,那一旦知道且仅知道“布什是总统”这句话在2002-2009时间域为真,那在2010年“布什是总统”并为假。反之,“今天下雨了”这句话在Boston为真,在NYC可能也为真(开放世界假设)。又,“今天下雨了”这句在曼哈顿为真,这在NYC也为真。

为什么不仅是用Named Graph(名图)?名图只是表示了一种语法上的包含关系。你无法说,或者推理出,(s p o)属于名图g这种关系。名图可以用来做语法上的陈述,但是需要新的语义才能表示context(域)。

未完,下次讲域的不确定性(uncertainty)模态(modal property)。