跳至主要内容

斯坦福 CS448B 18 文本可视化

· 阅读时间约 9 分钟

TLDR

本文包含我对斯坦福 CS448B(数据可视化)课程的笔记,特别关注第十八讲关于文本可视化的内容。我将讨论文档、文档集合的重要性,以及不同类型的文本数据可视化方法。

原文

下载 PDF.

笔记

文本作为数据

  • 文档

    • 文章、书籍和小说
    • 计算机程序
    • 电子邮件、网页、博客
    • 标签、评论
  • 文档集合

    • 消息(电子邮件、博客、标签、评论)
    • 社交网络(个人资料)
    • 学术合作(出版物)

为什么要可视化文本?

  • 理解:获取文档的"要点"
  • 分组:聚类以获得概览或分类
  • 比较:比较文档集合,或检查集合随时间的演变
  • 关联:比较文本中的模式与其他数据中的模式,例如,与社交网络相关联

示例:医疗保健改革

背景:

  • 克林顿总统的倡议
  • 奥巴马总统的全面改革 文本数据:
  • 新闻文章
  • 演讲记录
  • 法律文件

你可能想回答哪些问题?
哪些可视化可能有所帮助?

一个具体示例

词云/标签云:词频统计

奥巴马总统向国会发表的医疗保健演讲

词树:词序


评估鸿沟

  • 许多(大多数?)文本可视化并不直接表示文本。它们表示的是语言模型的输出(词频、词序等)。
  • 你能解释这种可视化吗?
    • 它如何有效地传达模型的属性?
  • 你信任这个模型吗?
    • 这个模型如何使我们能够推理文本?

文本作为数据

词作为名义数据?

高维度(10,000+)

不仅仅是相等测试

  • 相关性:香港,旧金山,湾区
  • 顺序:四月,二月,一月,六月,三月,五月
  • 成员资格:网球,跑步,游泳,徒步,钢琴
  • 层次结构,反义词和同义词,实体,...

词有意义和关系

文本处理流程

分词

  • 将文本分割成术语。
  • 移除停用词?a, an, the, of, to, be
  • 数字和符号?#cardinal, @Stanford, OMG!!!!!!!!
  • 实体?Palo Alto, O'Connor, U.S.A.

词干提取

  • 将一个词的不同形式分组在一起。
  • Porter 词干提取器?visualization(s), visualize(s), visually -> visual
  • 词形还原?oes, went, gone -> go

有序术语列表

词袋模型

忽略文本内的顺序关系

一个文档 \approx 术语权重向量

  • 每个术语对应一个维度(10,000+)
  • 每个值代表相关性
    • 例如,简单的术语计数

汇总为文档 x 术语矩阵

  • 文档向量空间模型

文档 * 术语矩阵

每个文档是术语权重的向量
最简单的权重方法是计算出现次数

https://books.google.com/ngrams/

优点

  • 有助于把握要点和初始查询形成

缺点

  • 视觉编码次优(大小而非位置编码频率)
  • 不准确的大小编码(长词看起来更大)
  • 可能不便于比较(布局不稳定)
  • 术语频率可能没有意义
  • 不显示文本的结构

关键词权重

给定一个文本,哪些是最具描述性的词?

词频:

tftd=count(t) in dtf_{td} = count(t)\ in\ d

可以取对数频率:log(1 + tftd)log(1\ +\ tf_{td})

可以归一化以显示比例:tftd / ttftdtf_{td}\ /\ \sum_ttf_{td}

战斗词:用于识别政治冲突内容的词汇特征选择和评估

TF.IDF:词频-逆文档频率

tf.idftd = log(1 + tftd)  log(N/dft)tf.idf_{td}\ =\ log(1\ +\ tf_{td})\ *\ log(N/df_t)
dtt = # docs containing tdt_t\ =\ \#\ docs\ containing\ t
N = # of docsN\ =\ \#\ of\ docs

频率统计的局限性

  • 通常关注单元词(单个术语)
  • 往往偏好频繁(TF)或罕见(IDF)的术语
    • 不清楚这些是否提供最佳描述
  • "词袋"忽略了额外信息
    • 语法/词性
    • 在文档中的位置
    • 可识别的实体

人们如何描述文本?

要求 69 名研究生阅读和描述论文摘要
每人依次给予 3 篇文档;使用关键短语总结每篇文档,然后使用关键短语将 3 篇作为一个整体进行总结
匹配熟悉和不熟悉的主题;集合内的主题多样性系统地变化

术语普遍性

log(tfw)/log(tfthe)log(tf_w)/log(tf_{the})

相对于最频繁的 n-gram(例如单词"the")的归一化术语频率

Yelp:评论聚光灯

下载 PDF《评论聚光灯:使用形容词-名词词对汇总用户生成评论的用户界面》

提示:描述性关键短语

了解语言模型的局限性

  • 词袋:
    • 容易计算
    • 单个词
    • 失去词序

选择适当的模型和可视化

  • 生成更长、更有意义的短语
  • 用于评论的形容词-名词词对
  • 在源文本中显示关键短语

可视化文档内容

信息检索

  • 搜索文档
  • 将查询字符串与文档匹配
  • 通过可视化来语境化结果

索引词汇表

术语的常见本地上下文是什么?

词树

\

  • 过滤不频繁的序列

  • 演讲中的重复主题

结构的一瞥

索引词汇表显示本地、重复的结构
但其他类型的模式呢?

示例

词法:<A> at <B>
句法:<名词> <动词> <宾语>

短语网络 [van Ham 2009]

  • 在文本中寻找特定的链接模式:
    • 'A and B', 'A at B', 'A of B'等
    • 可以是正则表达式或解析器的输出
  • 在节点-链接视图中可视化提取的模式
    • 出现次数 -> 节点大小
    • 模式位置 -> 边方向
    • 颜色越深 -> 出边与入边比例越高

可视化对话

  • 需要考虑的多个维度:
    • 谁(发送者,接收者)
    • 什么(通信内容)
    • 何时(时间模式)
  • 有趣的交叉产品:
    • 什么 x 何时 -> 主题"时代精神"
    • 谁 x 谁 -> 社交网络
    • 谁 x 谁 x 什么 x 何时 -> 信息流

Usenet 可视化 [Viégas]

显示文本论坛中的通信模式
发起 vs 回复;讨论的规模和持续时间

Themail (Viégas)

随时间推移的一个人,TF.IDF 加权术语

文档集合

主题建模方法

  • 假设文档是主题的混合
  • 主题(大致上)是一组共现的术语
  • 潜在语义分析(LSA):减少术语矩阵
  • 潜在狄利克雷分配(LDA):统计模型

主题河流 (Havre et al 99)

Termite:可视化主题模型 [Chuang '12]

显示显著(而非频繁)的术语。对行和列进行排序。

斯坦福论文浏览器

总结

  • 高维度
    • 在可能的情况下使用文本表示文本...
    • ...哪些术语最具描述性?
  • 上下文与语义
    • 提供相关上下文以帮助理解。
    • 显示(或提供访问)源文本。