发明名称 基于领域知识地图社区结构的文档主题划分方法
摘要 本发明公开了一种基于领域知识地图社区结构的文档主题划分方法,主要解决与学科或领域知识相关的文档资源的划分问题,以便于将主题相关的文档存储在相近的逻辑位置,提高学效率。其特征在于:提出了基于Fast Geedy算法和GN算法的层次社区发现算法构建主题结构树;特征提取过程将知识单元直接作为特征向量,由于知识单元具有语义完整性,相对于传统的基于分词的方法更能够体现特征向量的主题特性;计算特征向量值的过程提出度中心度和知识单元文档频相结合的方法,其中度中心度的概念反映了知识单元在知识地图全局中的地位。通过以上方法,有效提高文档主题划分的准确率,适用于通用场景下基于知识地图社区结构的文档主题划分。
申请公布号 CN103412878B 申请公布日期 2015.03.04
申请号 CN201310299047.8 申请日期 2013.07.16
申请人 西安交通大学 发明人 郑庆华;董博;刘均;徐海鹏;李冰;贺欢;马天
分类号 G06F17/30(2006.01)I;G06F17/21(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 朱海临
主权项 一种基于领域知识地图社区结构的文档主题划分方法,其特征在于,包括下述步骤:一、领域知识地图社区结构树构建:(1)领域知识地图预处理过程,将领域知识地图转换为简单无向图,并将转换后的领域知识地图作为社区结构树的根社区节点,将其加入到待分析节点队列CAQ中;社区节点的形式化表示如下:CNode(V<sub>C</sub>,Children,Parent)  (1)其中,V<sub>C</sub>表示社区节点包含的知识单元集合,Children表示社区节点的子节点集合,Parent表示社区节点的父节点;(2)领域知识地图层次社区划分过程,从CAQ中取出队首节点CH,分别使用Fast Greedy和GN算法对CH对应的领域知识地图或其子图进行社区划分,并引入模块度阈值<img file="FDA0000595011610000011.GIF" wi="50" he="54" />;若上述两种算法得到的社区划分结果对应的模块度值均小于<img file="FDA0000595011610000012.GIF" wi="57" he="59" />,则划分无效,执行步骤(3);否则,对比上述两种算法划分结果对应模块度值,选取其中较大的模块度值对应的社区划分结果,创建其中每个社区对应的社区节点,作为CH的子社区节点,并将其加入CAQ队列;(3)对CAQ中的所有节点进行步骤(2),直到CAQ队列为空,从而得到领域知识地图对应的社区结构树C‑Tree,其形式化表示如下:C‑Tree(CNodeSet,croot,n)  (2)其中,CNodeSet表示社区结构树的社区节点集合,croot表示社区结构树的根社区节点,n表示社区节点数,即网络中存在的社区个数;二、通过对步骤一所得的领域知识地图对应的社区结构树进行社区主题辨识,构建领域主题结构树,实现社区结构到主题结构的映射;三、文档特征向量提取:(1)构造特征空间,将领域知识地图中的所有知识单元作为特征项,构成多维度的特征空间;(2)文档的预处理过程,将文档转换为纯文本形式,提取每个文档的文本段,使用基于向量空间模型的TF‑IDF算法将文档的文本段与领域知识地图库的知识单元ku对应的文本段内容进行相似度匹配,若相似度达到阈值μ,则认为文档包含ku,据此提取出文档包含的所有知识单元;(3)利用公式(3)计算特征空间中知识单元在领域知识地图中的度中心度,结合文档中知识单元的出现频次,将文档抽象为如下形式:X<sub>j</sub>={W<sub>1</sub>,W<sub>2</sub>,...,W<sub>i</sub>,...,W<sub>n</sub>},其中n表示特征向量的维度,W<sub>i</sub>表示第i个特征项的权重,其形式化表示如下:W<sub>i</sub>=C<sub>deg</sub>(ku<sub>i</sub>)<sup>*</sup>kuf(ku<sub>i</sub>,d)  (7)其中,kuf(ku<sub>i</sub>,d)表示知识单元在文档d中出现的频次,C<sub>deg</sub>(ku<sub>i</sub>)表示知识单元ku<sub>i</sub>的度中心度;公式(3)的表达式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>C</mi><mi>deg</mi></msub><mrow><mo>(</mo><msub><mi>ku</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>deg</mi><mrow><mo>(</mo><msub><mi>ku</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mi>deg</mi><mrow><mo>(</mo><msub><mi>ku</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>,</mo><msub><mi>ku</mi><mi>i</mi></msub><mo>&Element;</mo><mi>KU</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000595011610000021.GIF" wi="1017" he="211" /></maths>其中,deg(ku<sub>i</sub>)表示知识单元ku<sub>i</sub>社区内的度,KU表示领域知识地图或其子图包含的知识单元集合;四、文档主题划分模型构建:(1)构造训练数据集,对于给定的训练数据集D中的每一个文档,使用步骤三所述方法提取其特征向量,结合步骤一中的领域知识地图社区结构树C‑Tree和步骤二中领域主题结构树T‑Tree,将训练数据集抽象为如下形式:D={(X<sub>1</sub>,Y<sub>1</sub>),(X<sub>2</sub>,Y<sub>2</sub>),...,(X<sub>j</sub>,Y<sub>j</sub>),...,(X<sub>m</sub>,Y<sub>m</sub>)}  (8)其中,X<sub>j</sub>(j=1,2,...,m)表示第j个文档的特征向量,Y<sub>j</sub>(j=1,2,...,m)表示第j个文档的主题标签集合,其形式化表示如下:Y<sub>j</sub>={L<sub>1</sub>,L<sub>2</sub>,...,L<sub>i</sub>...,L<sub>k</sub>}   (9)其中,m为训练集文档个数,k为社区主题个数;(2)训练过程选择BR‑SVM算法,采用交叉验证方式,基于训练文档集D,训练得到文档主题划分模型M;五、文档主题划分:对待划分的文档,提取文档包含的知识单元,使用步骤三方法得到文档特征向量表示,使用步骤四得到的文档主题划分模型实现文档主题划分;上述步骤中,步骤二所述构建领域主题结构树的具体方法为:(1)社区中心点分析,计算C‑Tree中的每个社区节点所包含知识单元在社区对应的领域知识地图子图中的度中心度,选取中心度较大的节点集作为社区中心节点组CCNS;知识单元在社区对应的领域知识地图子图中的度中心度计算按公式(3)进行;(2)对CCNS中的知识单元,查找领域知识地图库,得到CCNS包含的核心术语集,结合知识单元的度中心度和核心术语在CCNS中知识单元出现的频次,计算核心术语term的中心性权重W<sub>Central</sub>,其形式化表示如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>W</mi><mi>Central</mi><mi>term</mi></msubsup><mo>=</mo><msubsup><mi>&Sigma;</mi><mi>ku</mi><mi>CCNS</mi></msubsup><mi>C</mi><mrow><mo>(</mo><mi>ku</mi><mo>)</mo></mrow><mo>*</mo><mi>&delta;</mi><mrow><mo>(</mo><mi>term</mi><mo>,</mo><mi>ku</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000595011610000031.GIF" wi="1013" he="95" /></maths>其中,C(ku)表示CCNS中知识单元的中心度,δ(term,ku)表示term在ku中出现的频次,选取中心性权重最大的核心术语作为社区的主题;(3)对于C‑Tree每个社区节点进行步骤(2),从而构建领域主题结构树T‑Tree,实现社区结构到主题结构的映射,T‑Tree形式化表示如下:T‑Tree(CTopicSet,troot,n)  (5)其中,CTopicSet表示社区主题节点集合,troot表示主题结构树的根节点,n表示主题个数;社区主题节点形式化表示如下:CTopic(Y<sub>C</sub>,SubTopics,PTopic)  (6)其中,Y<sub>C</sub>表示社区主题标号,SubTopics表示主题节点的子节点集合,PTopic表示主题节点的父节点。
地址 710049 陕西省西安市咸宁西路28号