基于本体语义标注

    本体是哲学中的概念,主要是描述实体,以及实体与实体之间的关系。本文包含三部分,首先介绍下本体在哲学中是啥(根据自己的理解,精确性还有待考核),接着说下本体和文本分类的关系,最后说下基于本体进行语义标注。

    人是如何产生概念?
    最先是根据純直观接受外部事物,这部分是感性的,而感性元素又是如何变成理性概念呢?通过思维,人又是如何思维才能由感性过度到理性?因为凭空的思维还是处于感性阶段,无法形成理性概念。思维依据纯粹知性概念(范畴表),达到了从感性到理性的过度,形成概念。范畴表是先天的与生俱来的这是最根本的概念,这些纯粹知性概念先天的作用客体,从而使我们的一切经验成为可能,是一切理性知识的基础。概念最主要的职能就是判断,依据范畴思维出的知识具有客观性,也就是所谓的真命题。这样人们经验不断扩充,形成知识,最终到概念体系。哲学中的本体就是最根本的东西,是一切概念的基础。我把他们理解为范畴。(注:这些知识来源康德的《纯粹理性批判》,可能总结的不精确,希望有更高见解的人指正)

    应用到计算机中,在文本分类方面,为了更好的把文档集进行分门别类,同时更好的处理异构数据,人们开始把本体和文本分类结合起来。其大致流程主要如下:
    1)必须创建领域本体(就是特定领域的概念,概念和概念之间的关系,比如体育领域,有足球,篮球,排球,篮球中又包含NBA,CBA,WNBA等,而在NBA中包含小牛队等...)。而创建本体用什么工具?有什么语言书写必须随之考虑。创建后的本体如何解析。
       当然工具有很多,书写语言自owl出现后,基本上用owl语言。解析工具apache的jena是很好的解析工具。

    2)解析本体文件。(比如用Jena工具)
 
    3)解析后的本体文件转换成概念向量。

    4)对文本抽取关键词(当然大部分是基于TF/IDF算法),抽取后的关键词构建文本向量,然后和概念向量计算相似度,达到一定的阈值后放入对应的概念体系下。从而达到的对文档集的分类。

    说起来比较容易,做起来还是有一定难度的

    最后说一下基于本体的自动语义标注。
   
    1)首先还是要有特定领域的本体文件,没有本体文件谈何基于本体。
    2)解析本体文件构建语义字典。(因为本体文件中把概念之间的关系已经表示的很清晰,这也就是本体的职能,所以解析后形成的字典就是语义字典)。
    3)关键词到语义字典的映射,一个关键词可能会有映射出多个语义对象,因而这就涉及到消歧。(这里假设输入的是一篇文档,当然如果是普通的网页,那么可以对网页进行信息抽取结构化,最终还是一片文档)
    4)会产生多少中歧义呢?
    假设从文本中分出N个term,(T1,T2,...TN),每个term根据映射函数映射出多个语义对象,即semanticFuction(Ti) = {semanticObject1,semanticObject2,...semanticObjecti},这样会长生P1 X P2 X P3 ... X PN 个结果。  

    而对于消歧是根据常识进行推理,进而产生了多种算法,比如语义距离算法,最短路径算法等。是根据一个什么样的常识呢?
    我们平时在阅读文档是可以明白,一篇文档一般都是阐述一个领域的知识,文档中的用词都是有一定的语义联系。因而根绝这些从本体构建的有向无环图可以得出最短路径算法或者最短语义距离算法,具体算法不做阐述。
 
    依据算法处理后,最终产生一个结果。

    本体的功能很强大,这里只是简要阐述下。知识不分界限,尤其是在计算机行业,真是智慧结晶的地方。
   

猜你喜欢

转载自fay19880111-yeah-net.iteye.com/blog/1491629