标签建构方法及系统的制作方法

文档序号:6563092阅读:107来源:国知局

专利名称::标签建构方法及系统的制作方法
技术领域
:本发明是有关于计算机技术,且特别有关于标签地图自动建构方法。
背景技术
:随着Web2.0观念的兴起,应用大众分类方法论(folksnonomy)的网站也渐渐普遍,例如Del.icio.us网站。相较于传统由专家或作者执行的分类管理(taxonomy),Folksnonomy是由使用者将网站、档案、数字影像等网络资源以标签(tag)作分类。标签为用来代表资源的关键词或描述性用语。图1显示标签地图(TagCloud)的一实例。图1中,字体越大的标签代表其联结的资源越多。可以由网页服务器的一网页接收一标签、该标签对应的资源地址、描述及批注后,将该标签加入标签地图。当该标签被使用者点选时,该网页服务器重新引导(redirect)该使用者至该资源地址。然而,同一标签可能指向完全不相关的对象。举例来说,MIT可能表示"MadeinTaiwan"及"MassachusettsInstituteofTechology"。i亥问题会卩条^f氐搜寻的准确率(precision)。另外,也可能不同标签指向完全相同的对象。例如标签"cat"与"cats"可能指向相同的网页,"NewYork"、"New—York"可能都是指纽约市。另外标签之间可能互为关联词,例如标签"peri"、"javascript"及"programming",或"java"、"jdk"及"j2ee"。标签用i吾的这类问题会降低搜寻的搜全率(recall)。
发明内容为解决上述现有技术中所存在的问题,本发明的主要目的在于提供一种标签建构方法及系统。基于上述目的,本发明实施例提供一种标签建构方法,该方法包含下列步骤接收代表网络资源的多个标签;决定多个标签中每一个所对应的资源范围;根据每一标签对应的资源范围以建立上述多个标签成为一阶层化关系网络中的节点;利用上述阶层化关系网络辅助资源搜寻。本发明还一种计算机可读取储存媒体,用以储存一计算机程序,该计算机程序可加载至一计算机装置中以执行上述实施例所提供的标签建构方法。另外,本发明实施例提供一种标签建构系统,包含标签模块、建构模块及搜寻模块。标签模块接收代表网络资源的多个标签。建构模块决定多个标签中每一个所对应的资源范围,并才艮据每一标签对应的资源范围以建立上述多个标签成为一阶层化关系网络中的节点。搜寻^t块利用上述阶层化关系网络辅助资源搜寻。另外,本发明实施例提供一种标签建构方法,包含下列步骤接收代表网络资源的多个标签,包含第一标签及第二标签;决定每一个所对应的资源集合;依下列步骤以分类上述第一及第二标签若上述第一及第二标签分别对应资源集合OA及OB,且资源集合Oa大于資源集合0B,且第一及第二标签对应共同资源,且上述共同资源在Os中所占比率大于一预定比率,则判别笫二标签被归属于第一标签。通过本发明利用阶层化关系网络作为辅助资源搜寻的图像导览,可以帮助使用者逐步放宽或缩小搜寻范围,调整搜全率(recall)与准确率(precision),改善标签的基本层级差异。图1显示一标签地图2显示标签建构系统的结构示意图3a图3j显示阶层化关系网络示意图4显示标签建构方法实施例的流程图5显示标签的阶层化关系网络建构方法的实施例的流程图6显示连结净皮加权后的阶层化关系网络示意图;以及图7显示多个计算机装置所构成的网络系统实施例的示意图。主要组件符号说明1~处理器;2~存储器;10区域;100标签建构系统;UO区域;111~标签模块;112提示模块;120区域;121~标签库;122建构模块;123关系网络暂存区;130~区域;131搜寻模块;132搜寻结果暂存区;133排列模块;140~区域;141标签接口;142搜寻接口;150输出模块;700服务器;C多个客户端计算机;H阶层化关系网络。具体实施例方式以下说明是本发明的较佳实施例。其目的是要举例说明本发明一般性的原则,不应视为本发明的限制,本发明的范围当以权利要求所界定的为准。以下揭示标签建构方法。标签建构方法包含取得标签、标签分类、辅助数据搜寻、执行搜寻及排列搜寻结果等步骤。图2显示标签建构系统的结构示意图。请参照图2及图4,区域IIO、120及130中的模块分别作为建立标签、处理标签及资源搜寻之用。区域140中包含图形化使用者接口(Graphicaluserinterface,简称GUI),即图2中的标签接口141及搜寻接口142。标签模块lll通过标签接口141接收标签及对应资源(例如网页、图片、文件等网络资源)并输入至标签库(Tagrepository)121(步骤S400)。建构模块122决定多个标签中每一个所对应的资源范围(步骤S402),根据每一标签对应的资源范围以建立标签库121中标签之间的关系,并将标签库121中的标签建立为其关系网络中的节点,称为阶层化关系网络H(步骤S404)。区域130中的模块再使用阶层化关系网络H以辅助资源搜寻(步骤S406)。举例来说,搜寻模块131通过搜寻接口142接收搜寻字符串或关键词,进行搜寻以取得搜寻结果,以储存至搜寻结果暂存区132。排列模块133参照阶层化关系网络H以计算搜寻结果中的资源的信息密度指针,并依据信息密度指针以排列搜寻结果中的资源,再存回搜寻结果暂存区132。输出模块150显示排列后的搜寻结杲。搜寻模块131也可以在搜寻接口142显示阶层化关系网络H或其中的部分节点以辅助使用者进行搜寻。以下表格1显示标签库'121中标签与资源之间的关系,其中标签与资源之间的数字显示标签才莫块111所接收的该标签用来代表或指示该资源的次数<table>tableseeoriginaldocumentpage9</column></row><table>表格l表格1可以用标签与资源的一矩阵R代表,如下:<formula>formulaseeoriginaldocumentpage10</formula>Rij为第i个标签用来描述第j资源的次数,其中i及j为整数,且0《i<12,0《j<6。建构模块122可以每一标签所对应的资源类别数目作为每一标签对应的资源范围。因此,建构模块122可以决定多个标签中每一个所对应的资源范围。例如标签Sun对应"初阶Java"、"J2MEintro"、"程序设计"、"C弁一点点,,以及"Java&J2ME,,等五个资源,而JDK只对应其中的三个资源。因此标签Sun的资源范围大于JDK的资源范围。建构才莫块122根据每一标签对应的资源范围以建立上述多个标签成为上述多个标签的阶层化关系网络H中的节点。首先,建构模块122根据每一标签的资源范围对上述多个标签排序。资源类别数目的统计请参照以下表格2:<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>表格2每一标签对应的资源类别数目为该标签在表格l的同一列中的非零项的数目。每一标签对应的使用次数为该标签用来描述资源的次数的总合。建构模块122根据每一标签的资源类别数目对上述多个标签排序,如果有多个标签的资源类别数目相等,就再依其使用次数作排序。若二标签的资源类别数目及《吏用次数都相同,则以输入系统100对时间先后顺序排序。以下表格3显示排序后的结果<table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table>表格3已排列的标签顺序为programming,Java、API、Sun、J2EE、C#、Javascript、JDK、J2SE、JSP、J2ME及Php,将依序加入阶层化关系网络H。建构模块122利用表格3以产生用二元数据来表示标签与资源间的关系的表格4:<table>tableseeoriginaldocumentpage12</column></row><table>表格4其中l代表有关系,0代表没有关系。表格4可以用一矩阵M代表标签与资源的关系,如下<formula>formulaseeoriginaldocumentpage13</formula>(2)向量Mi用来表示第i个标签的标签向量。举例来说,第0个标签programming的标签向量为[l1011l]。建构模块122产生阶层化关系网络H时可以利用以下的数组数据结构Tag[]:储存所有已排序过,且尚未加入阶层化关系网络H的标签。hierarchy[]:储存所有已加入的阶层化关系网络H的标签的备份。Terminal[]:储存所有已加入阶层化关系网络H而尚未有子节点的标签。Tag—Relation[][]:标签的关系矩阵,为一01矩阵,若Tag—Relation[x][y]-l表示第x个标签为第y个标签的子节点,x及y都为整数。建立阶层图参照图5,建构模块122执行以下步骤。建构模块122依照上述方式将标签库121中的标签排序后(步骤S500),初始化阶层化关系网络H(步骤S502)。如图3a所示,建构模块122加入根节点S及终端T节点至阶层化关系网络H。所有找不到父节点的标签,以根节点S为父节点。T节点连接Terminal[]中的所有末端节点,即任何没有子节点的节点。根节点的标签向量可以设为[l1111l]。此时Terminal[]及hierarchy[]都仅包含根节点S。建构模块122从排序后的上述多个标签中取出一标签(例如标签"programming")以加入上述阶层化关系网络H作为一节点(步骤S504)。举例来说,如图3b所示,当建构模块122取标签"programming"作为目前节点时直接以根节点S作为其父节点。建构模块122判别Tag[]是否还有标签(步骤S506)。如无,建构模块122输出阶层化关系网络H至关系网络暂存区123(步骤S508)。如有,建构模块122从排序后的上述多个标签Tag[]中依序取出一标签Tag[x],称为目前节点(步骤S510),x为整数。建构模块122复制阶层化关系网络H中的全部标签至hierarchy[](步骤S512)。建构模块122由终端节点T开始,依宽度优先搜寻(breathfirstsearch,筒称BFS)算法的顺序取得阶层化关系网络H中的一节点hierarchy[y]作为待检查节点(步骤S514),该节点必须存在于hierarchy[]中。从hierarchy[]中删去hierarchy[y](步骤S515)。建构模块122比较目前节点Tag[x]与上述取得的待检查节点hierarchy[y]的关系是否符合下列条件(步骤S516)。上述目前节点Tag[x]及上述取得的待检查节点hierarchy[y]分别代表一第一及第二标签。第一及第二标签对应的资源集合分别为OA及OB。若符合下列式子,则目前节点Tag[x]及上述取得的待检查节点之间可以建立一父子关系Al(3)其中,入为预定数字,以下假设为0.8。IOAJ为OA的数目。|oAnoB^Oa及Ob的交集的資源数目。在此步骤S516中,建构模块122对上述目前节点Tag[x]及上述待检查节点hierarchy[y]执行父子关系检查。在父子关系检查中,当上述第一及第二标签所共同对应的资源数量符合上述式子(3)时,建构模块122使上述二标签中资源范围较大与较小的标签之间建立一父子关系(步骤S518),并分别成为该关系中的父节点与子节点。在Tag一Relation[][]中的对应位置输入"1"。如否,建构模块122直接执行步骤S522。步骤S522中,建构模块122判别hierarchy[]中是否还有标签(步骤S522)。如是,重复步骤S514。如否,重复步骤S506。所有找不到父节点的标签,以根节点S为父节点。举例来说,当建构模块122取标签"Java"作为目前节点时,对标签"Java"=0.8^与标签"programming"作父子关系检查。此时|0八|=5而因此,如图3c所示,建构模块122使上述二标签中资源范围较大与较小的标签之间被建立一父子关系(以图3c中的连结Ll表示),并分别成为该关系中的父节点与子节点。同理,如图3d所示,当建构模块122取标签"api,'作为目前节点时,|0J,所以标签"Java"成为标签"api"的父节点。须要了解的是,当一已检查节点(例如标签"Java")已成为上述目前标签(例如标签"api")的父节点,则该已检查节点的祖先节点(例如标签"programming")不需再与上述目前节点进行该父子关系检查。因此,建构模块122从hiemrchy[]中删除待检查节点hierarchy[y]及上述待检查节点的祖先节点(步骤S520)。相反地,当一已检查节点经检查后不是上述目前标签的父节点,则该已检查节点的祖先节点仍需与上述目前节点进行该父子关系检查。举例来说,如图3e所示,当建构模块122取标签"sun"作为目前节点,标签"api,,作为待检查节点时,1^14,所以标签"api"不是标签"sun"的父节点。因此,标签"java"需要与标签"sun"进行该父子关系检查。此时建构模块122取标签"sun"作为目前节点,标签"java"=1>义作为待检查节点时,|0J,所以标签"Java"成为标签"s皿"的父节点。标签"Java"祖先节点(例如标签"programming")不需再与上述目前节点进行该父子关系检查。同理,建构模块122分别在图3f、图3g、图3h及图3i中把标签"j2ee"、"C弁"、"javascript"及"jdk"加入阶层化关系网络H,最后完成图3j。经由上述说明可知,建构阶层化关系网络H即是在进行标签分类。若存在标签A及B分别对应资源集合OA及Ob。当下列条件被满足时(1)标签A的资源范围大于标签B的资源范围(即IOaWObI);(2)标签A及B对应共同资源WpoAnoB*a),①指空集合);(3)上述共同资源在Os中所占比率(或比值)大于一预定比率(例如比值入),即1^1一;则标签B被判别归属于标签A。辅助资源搜寻关键词提示搜寻接口142接收一搜寻用关键词。当上述关键词符合上述阶层化关系网络H中的一特定标签(例如java),提示模块112则取得上述特定标签的所有相邻节点。搜寻模块131显示上述相邻节点所对应的标签内容,作为候选的搜寻关键词。当上述候选标签的标签内^^皮选取时,搜寻模块131以上述标签内容为关键词进行搜寻。另外,可以利用一参数D来设定上述特定标签的相邻节点的范围。举例来说,上述参数D用来设定上述特定标签与其相邻节点的距离,以下以每个连结为1单位距离来计算。当参数D-1时,搜寻模块131输出与上述特定标签相距一层连结的标签(包含父节点及子节点)至输出模块150来加以显示。例如与java相距一层连结的标签为Sun,Programming,api及jsp。当参凄tD=2时,搜寻模块131输出与上述特定标签相距二层连结以内的标签(包含父节点及子节点、祖父节点及孙子节点)。例如与java相距二层连结的标签为Javascript,j2ee,jdk,C存及php。参数D可以供使用者设定调整。搜寻模块131也可以直接显示阶层化关系网络H,或将其中节点按字母顺序排序后以标签地图形式显示。搜寻模块131可以依照标签被使用的次数以决定其在标签地图中的大小。辅助资源搜寻搜寻结果排列搜寻模块131通过搜寻接口142接收搜寻字符串或关键词,进行搜寻以取得搜寻结果,以储存至搜寻结果暂存区132。排列模块133参照阶层化关系网络H以计算搜寻结果中多个资源的信息密度指针。建构模块122可以依照下式赋与标签关系(即阶层化关系网络H中连结)权重。以二标签的标签向量A和B为例,我们计算A和B的余弦相似度(cosinesimilarity):(4)以为上述二标签之间的关系的权重。举例来i兌,programming的标签向量为[110111〗,Java的标签向量为[10111l],API的标签向量为[111110],Sun的标签向量为[IOI101],J2EE的标签向量为,C#的标签向量为,JDK的标签向量为[100101],JSP的标签向量为[l00100]。上述标签之间的关系权重如图6所示。计算资源对象分数的公式如下/:k附++,))S:对象符合作为关键词的标签所得到的信息密度指针分数。Wi:父/子节点和关键词之间的关系权重。Wj:祖父/孙子节点和关键词之间的两层关系权重乘积。k,n,m:该对象符合k个标签、n个父/子节点以及m个祖父/孙子节点。因此,根据上述算式(5),当S^,且一资源符合关键词java时,其分数为(1)+(0,75+0.43+0.51.0.72)+(0.38+0.87)。排列模块133可以依照算式(5)以计算搜寻结果中多个资源的信息密度指针,并依据信息密度指针以排列搜寻结果中的资源,再存回搜寻结果暂存区132。输出模块150显示排列后的搜寻结果。上述标签建构方法可用于储存在计算机可读取储存媒体的一计算机程序实作。参照图7,系统IOO可以由计算机程序组成,执行于服务器700。存储器2储存系统100,当系统100载入至服务器700时,处理器l执行如上所述的方法。可以从电缆、无线通信信道,或光盘、硬盘、卸除式磁盘驱动器等,或从其它储存媒体中栽入系统100至存储器2。服务器700可以通过网络耦接于多个客户端计算机C。多个客户端计算机C通过浏览器以输入标签至系统100,并显示系统IOO提示的候选标签、阶层化关系网络H及搜寻结果。总之,上述系统可以建立标签的阶层化关系图,以提供给使用者作搜寻资源的接口,并能经由选择不同阶层的标签以调整搜寻范围的大小。虽然本发明已以較/f圭实施例揭露如上,然其并非用以限定本发明,任何所属
技术领域
中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视权利要求所界定的为准。权利要求1.一种标签建构方法,其特征在于,该方法包含接收代表网络资源的多个标签;决定多个标签中每一个所对应的资源范围;根据每一标签对应的资源范围以建立上述多个标签成为一阶层化关系网络中的节点;利用上述阶层化关系网络辅助资源搜寻。2.如权利要求1所述的标签建构方法,其特征在于,建立上述多个标签的阶层化关系网络的步骤中还包含取得一第一标签及一第二标签;对上述第一及第二标签的执行父子关系检查;其中该父子关系检查还包含当上述笫一及第二标签所共同对应的资源数量符合一条件时,使上述二标签中资源范围较大与较小的标签之间建立一父子关系,并分别成为该关系中的父节点与子节点。3.如权利要求2所述的标签建构方法,其特征在于,上述资源范围即网络资源的数目。4,如权利要求3所述的标签建构方法,其特征在于,上述第一及第二标签对应的资源集合分别为Oa及Ob,上述条件为下列式子IAI—其中,入为预定数字,iOAi为OA的数目,|oAnoB^Oa及Ob的交集的资源数目。5.如权利要求2所述的标签建构方法,其特征在于,该方法还包含a.才艮据每一标签的资源范围对上述多个标签排序;b.初始化上述阶层化关系网络;c.依序从排序后的上述多个标签中取出另一标签,称为目前标签;d.从上述阶层化关系网络的末端节点开始,依宽度优先搜寻算法的顺序取得上述阶层化关系网络中每一节点,与上述目前标签进行上述父子关系检查,其中当一已检查节点已成为上述目前标签的父节点,则该已检查节点的祖先节点不进行该检查;以及e重复上述步骤c及d直到所有标签都加入该阶层化关系网络。6.如权利要求1所述的标签建构方法,其特征在于,上述资源搜寻还包含接收一搜寻用关键词;当上述关键词符合上述阶层化关系网络中的一特定标签,则取得上述特定标签的所有相邻节点;以及显示上述相邻节点所对应的标签内容。7.如权利要求6所述的标签建构方法,其特征在于,该方法还包含当上述标签内容被选取时,以上述标签内容为关键词进行搜寻。8.如权利要求6所述的标签建构方法,其特征在于,该方法还包含利用一参数来指定上述特定标签与其相邻节点的距离。9.如权利要求1所述的标签建构方法,其特征在于,上述资源搜寻还包含当以一标签作为一关键词搜寻得到多个资源时,利用上述阶层化关系网络计算上述多个资源的信息密度指针;依据每一资源的信息密度指针对上述多个资源进行排序;以及显示排序后的上述多个资源。10.—种计算机可读取储存媒体,用以储存一计算机程序,其特征在于,上述计算机程序可加载至一计算机装置中以执行如权利要求1至9中任一项所述的标签建构方法。11.一种标签建构系统,其特征在于,该标签建构系统包含一标签模块,接收代表网络资源的多个标签;一建构模块,决定多个标签中每一个所对应的资源范围,并根据每一标签对应的资源范围以建立上述多个标签成为一阶层化关系网络中的节点;一搜寻模块,利用上述阶层化关系网络辅助资源搜寻。12.如权利要求11所述的标签建构系统,其特征在于,上述建构模块取得一第一标签及一第二标签,对上述第一及第二标签执行父子关系检查,其中,在该父子关系检查中,当上述第一及第二标签所共同对应的资源数量符合一条件时,上述建构模块使上述二标签中资源范围较大与较小的标签之间建立一父子关系,并分别成为该关系中的父节点与子节点。13.如权利要求12所述的标签建构系统,其特征在于,上述资源范围即网络资源的数目。14.如权利要求13所述的标签建构系统,其特征在于,上述第一及第二标签对应的资源集合分别为Oa及Ob,上述条件为下列式子^门^>义其中,入为预定数字,IOAl为oa的数目,IOA门OBl为Oa及Ob的交集的资源数目。15.如权利要求12所述的标签建构系统,其特征在于,上述建构模块执行下列步骤a.根据每一标签的资源范围对上述多个标签排序;b.初始化上述阶层化关系网络;c.依序从排序后的上述多个标签中取出另一标签,称为目前标签;d.从上述阶层化关系网络的末端节点开始,依宽度优先搜寻算法的顺序取得上述阶层化关系网络中每一节点,与上述目前标签进行上述父子关系检查,其中当一已检查节点已成为上述目前标签的父节点,则该已检查节点的祖先节点不进行该检查;以及e.重复上述步骤c及d直到所有标签都加入该阶层化关系网络。16.如权利要求11所述的标签建构系统,其特征在于,上述搜寻模块接收一搜寻用关键词,当上述关键词符合上述阶层化关系网络中的一特定标签,则取得上述特定标签的所有相邻节点,以及显示上述相邻节点所对应的标签内容。17.如权利要求16所述的标签建构系统,其特征在于,当上述标签内容被选取时,上述搜寻模块以上述标签内容为关键词进行搜寻。18.如权利要求16所述的标签建构系统,其特征在于,上述搜寻模块利用一参数来指定上述特定标签与其相邻节点的距离。19.如权利要求11所述的标签建构系统,其特征在于,当上述搜寻模块以一标签作为一关键词搜寻得到多个资源时,利用上述阶层化关系网络计算上述多个资源的信息密度指针,依据每一资源的信息密度指针对上述多个资源进行排序,以及显示排序后的上述多个资源。20.—种标签建构方法,其特征在于,该方法包含接收代表网络资源的多个标签,包含第一标签及第二标签;决定每一个所对应的资源集合;依下列步骤以分类上述第一及第二标签若上述第一及第二标签分别对应资源集合0A及0B,且资源集合0A大于資源集合Ob,且第一及第二标签对应共同资源,且上述共同資源在Ob中所占比率大于一预定比率,则判别第二标签被归属于第一标签。全文摘要本发明提供一种标签建构方法及系统,所述方法包含下列步骤接收代表网络资源的多个标签;决定多个标签中每一个所对应的资源范围;根据每一标签对应的资源范围以建立上述多个标签成为一阶层化关系网络中的节点。利用上述阶层化关系网络作为辅助资源搜寻的图像导览,可以帮助使用者逐步放宽或缩小搜寻范围,调整搜全率(recall)与准确率(precision),改善标签的基本层级差异。文档编号G06F17/30GK101192220SQ20061014948公开日2008年6月4日申请日期2006年11月21日优先权日2006年11月21日发明者谢文泰,赖威慎申请人:财团法人资讯工业策进会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1