Page 216 - 《软件学报》2024年第4期
P. 216
1794 软件学报 2024 年第 35 卷第 4 期
在基于 HDP 主题模型的领域主题提取方面, Liu 等人 [31] 通过时间信息、用户信息和标签信息构建领域知识,
引导文档-主题的分配过程, 提取微博文本主题. Zhang 等人 [12] 通过文本的领域类别信息和词语语义信息生成领域
知识, 改进文档-主题和主题-词语的分配过程, 提取领域主题和反映领域主题涵义的主题词.
为了生成领域主题层次结构, Alam 等人 [32] 结合预定义的领域类别层次和 HDP, 提出 ICB (imperial Chinese
banquet) 构造方法和 THDP (tree-structure HDP) 主题模型, 构建了同一领域的主题层次关系, 该模型没有考虑领域
主题之间的横向关联关系. 另外, Xu 等人 [33] 通过 hLDA 模型生成的主题和主题层次, 实现领域知识的自动获取,
在假设相近学术领域文本中主题或主题层次结构相同的前提下, 为相近领域文本构建领域主题层次. 然而, 对于领
域涵义相差较大的领域文本, 这类模型无法准确地构建领域主题层次.
因此, 在层次主题模型中, 本文将借鉴领域知识在文档-主题和主题-词语分配过程中的影响机制, 改进领域主
题和主题词的抽取效果.
2 主题方面共享的层次主题模型
本文首先提出主题方面共享的层次主题模型, 下面就其中涉及的层次构造方法和主题层次模型予以阐述.
2.1 nCRP+层次构造方法
中国餐馆过程 (CRP) [11] 假设餐厅的每张餐桌都有一道菜肴与之对应, 通过为每个顾客分配餐桌间接实现该顾
[2]
客的菜肴分配. 如果将顾客、菜肴和餐厅分别对应词语、主题和文档, 已有研究通过 CRP 过程描述 nCRP 的原
理, 实现主题关系构建. nCRP 构造方法包括若干个 CRP 过程, 每个 CRP 过程对应一道菜肴分配, 嵌套调用若干
个 CRP 过程则为每个顾客分配一系列体现层次关系的菜肴. 应用在主题模型中, 嵌套的 CRP 过程可用于构建主
题的层次结构.
另外, 已有研究通过 CRP 过程描述 CRF (Chinese restaurant franchise) 构造方法 [11] 的原理, 实现主题统一分配.
CRF 构造方法将 CRP 过程分为两种类型, 即顾客-餐桌 CRP 和餐桌-菜肴 CRP 过程, 分别实现所有顾客的餐桌分
配和所有餐桌的菜肴分配. CRF 构造方法首先通过若干个顾客-餐桌 CRP 过程, 为每个餐厅中的每个顾客分配餐
桌; 然后通过一个餐桌-菜肴 CRP 过程为所有的餐桌统一分配菜肴, 且每张餐桌只分配一道菜肴. 应用在主题模型
中, CRF 分配过程通过统一的菜肴分配共享主题基分布, 实现文档中词语主题的统一分配.
在 nCRP 构造方法中, 由于主题树形结构中同一层级不同分支中的节点是通过若干独立的 CRP 过程生成, 导
致同一层级不同分支节点的语义描述是相互独立的. CRF 构造方法通过在相同基分布中抽样出若干独立 CRP 过
程之间的聚类分布, 使得聚类结果中蕴含这些 CRP 过程的共性, 体现在主题模型中就是实现文档之间的主题共
享. 本文基于 CRF 的共享特性改变 nCRP 构造方法中相同层级 CRP 的分配过程, 即通过为每个层级中隶属于相
同父节点的节点, 构建 CRF 分配过程, 设计分层级的主题共享机制, 从而实现这些节点之间语义涵义的共享, 并将
这种基于 CRF 改进的 nCRP 构造方法称为 nCRP+层次构造方法.
为了实现层次化的共享, nCRP+构造方法定义了餐厅的菜肴风格和餐桌供应菜肴的菜肴类别, 并将它们分别
对应为文档的领域属性和子领域属性. 同时, nCRP+方法假设每个餐厅拥有特定的菜肴风格 (如粤菜、川菜等), 且
这些菜肴风格在所有餐厅中是共享的; 将各种菜肴风格中的所有菜肴划分成若干个菜肴类别 (如炒菜类、蒸菜类
等), 且这些菜肴类别在不同菜肴风格的餐厅中是共享的. 基于这种假设, 相同菜肴风格的餐厅中可以供应不同菜
肴类别的菜肴, 不同菜肴风格的餐厅中也可以供应相同菜肴类别的菜肴. 对应在层次主题模型中, 这种分配机制可
实现同一层级中不同主题下子主题方面的共享.
在实现这种分层级的主题方面共享机制中, nCRP+构造方法将 nCRP 过程中每个父节点下的 CRP 过程扩展
为 CRF 过程, 并且同一层级的 CRF 过程是共享基分布的.
以构建具有两层主题方面共享的主题层次为例, nCRP+层次构造方法的框架如图 2 所示, 包括两层 CRF 过程.
其中, 上层 CRF 包括一个 CRF 分配过程, 用于实现所有餐厅菜肴风格的统一分配, 目的是对具有相同菜肴风格的
餐厅分配菜肴风格, 即首先明确餐厅的菜肴风格. 下层 CRF 由若干个 CRF 分配过程组成, 用于分别实现不同菜肴