语义的博弈

NLP(Natural Language Processing)方面,语义一直是一个(不太)重要的组成部分——经过证实,大部分语言文字的处理模式都是由以统计为核心的解决方案生效的。而语义又是在处理中不可回避的一个话题,基于语义的搜索也是搜索技术未来的一个重要指导方向。

对语言处理稍有研究的人都明白一个问题:对结果集(Recall Results)的精度要求越高,所需要的语料就要越丰富,语料库(Corpus)的指向性也就要越高(Specific Areas)。对语料库的要求使得在通常情况下希望获得显著结果的项目或者理论无法达到预期的效果——使用现成的语料可能不具备领域方面的优势;使用自建的语料库耗时耗力的同时又存在诸如噪声(Noise)、不平滑(Smooth)、量级(Order of Magnitude)等方面的问题使得结果无法令人满意。将这个问题扩展到搜索方向,那就是整个Internet。

如何构建一个包含所有互联网信息的语料库(或者就是知识库),使得能够在搜索中根据关键词(Key Word)获知所有“相关的”信息的同时,随着互联网信息的不断发布产生,语料库能够自动化学习,并不断完善精确,这是一个非常有趣的问题。标签化(Tag)是一个非常好的思路,这也是现在语义网(Semantic Web)探索的方向。

到目前为止,互联网的基本信息载体依然是HTML,虽然诸如Markdown、XML之类的东西希望能做一些突破,然而用于搜索方面则显然无力。HTML的Tag在语义方面有先天的不足——标签系统(Tag System)不具有实际意义,如一个table标签,表示的是网页中结构的形式,而不代表其内容的属性;假设在服务器端的数据库中,某列数据代表用户的姓名,但放在网页中,这种标记的属性就消失的无影无踪了。这样的结果是——几乎每个网页都用了一种不同的内容属性结构,除了内容制造者,其他人无法使用泛化的方式理解其内容的意义,这里就等同于对小型的领域进行语义上的上下文探究一样无迹可寻,甚至只能不停的使用人力来做这种“鸡吃米山,狗舔面山”的工作。而对于整个互联网来说,这就是无数个“小领域”,相信集合Google百度Bing也无法完成这种宇宙大爆炸类型的工作吧。

基于这个思路,语义网的出现顺理成章。它希望使用一种更精确的标签化语言,替代HTML或者在HTML上做改Change和Extension。

W3C: <http://www.w3.org/standards/semanticweb/> 


Google,微软,Yahoo: <http://schema.org/>

W3C已经提出了Semantic Web的一个标准,同时几个搜索引擎巨头也一起制定了自身的标记规范。希望可以通过新的标准,把互联网的信息从字符串变成结构化的数据。

比如:

html:
<div>
<h1>Avatar</h1>
<span>Director:JamesCameron(bornAugust16,1954)</span>
<span>Sciencefiction</span>
<ahref="../movies/avatar-theatrical-trailer.html">Trailer</a>
</div>

SemanticWeb:
< div itemscope itemtype ="http://schema.org/Movie" >
< h1 itemprop="name" > Avatar < /h1 >
< span > Director: < span itemprop="director" > James Cameron < /span > (born August 16, 1954) < /span >
< span itemprop="genre" > Science fiction < /span >
< a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer" > Trailer < /a >
< /div >

对比相同内容的两种表述方式,新的方法可以让搜索引擎通过标签,把孤立的字符串,用属性串联起来。通过Avatar,搜索引擎知道了JamesCameron是阿凡达的导演,也知道了它属于科幻类型的电影。

然而,这种机制的推广依赖与全体互联网人员的参与,虽然是大势所趋,但受限于复杂性和工作量,相关信息的建立不仅是一个漫长的过程,也是一个需要广泛合作的“全民运动”,新标签的类型关联、领域的模型、算法设计……如果没有好的激励方式,未来仍难以预期,甚至你我的有生之年都是无法寄以希望的。