文档-词项矩阵

译自英文

文档-词项矩阵是文本文档的一种数学表示形式,其中行对应文档,列对应词项,单元格的值表示词频或权重。它是文本挖掘、信息检索以及基于文本数据进行机器学习的基础数据结构。

文档-术语矩阵(DTM)是一种稀疏矩阵,用于自然语言处理和信息检索中,表示文档集合中术语(单词或n-gram)的频率。在其标准形式中,每一行对应单个文档,每一列对应词汇表中的唯一术语,每个单元格包含一个数值,通常是术语频率(该术语在该文档中出现的次数)。DTM是许多文本分析算法的主要输入,包括主题建模、文档聚类和机器学习中的分类模型。

该矩阵通常会被归一化或加权,以考虑文档长度和术语重要性。一种常见的加权方案是术语频率-逆文档频率(TF-IDF),它降低在多个文档中出现的术语的权重,并提高稀有术语的权重。其他变换包括二元编码(存在或不存在)和次线性缩放(例如,log(1 + 频率))。DTM与术语-文档矩阵不同,后者是其转置,尽管两者在实践中经常互换使用。

构建和预处理

构建DTM需要多个预处理步骤。首先,原始文本被分词为单个术语,通常通过按空白和标点符号分割。停用词(如“the”和“and”等常见词)通常会被移除,词干提取或词形还原将单词简化为其基本形式(例如,“running”变为“run”)。然后,词汇表被定义为所有文档中唯一术语的集合,通常根据最小和最大文档频率进行过滤,以移除非常罕见或普遍存在的术语。生成的矩阵通常以稀疏格式存储,因为大多数单元格为零,尤其是在大型语料库中。

对于大规模应用,Python中的scikit-learn等库提供了高效实现(例如,CountVectorizerTfidfVectorizer)。这些工具处理分词、词汇表构建和稀疏数组存储。矩阵也可以为流式数据增量构建,尽管这不太常见。

在机器学习中的应用

机器学习中,DTM是文本的标准特征表示。逻辑回归、支持向量机和朴素贝叶斯分类器等经典算法直接在该矩阵上操作。例如,垃圾邮件检测使用DTM,其中每个文档是一封电子邮件,模型为每个术语学习权重。k-means或层次聚类等聚类算法根据术语向量对文档进行分组,从而实现新闻文章分类等任务。

主题模型,如潜在狄利克雷分配(LDA),将DTM作为输入,并推断潜在主题作为术语上的分布。该矩阵还支撑信息检索系统,其中文档向量之间的余弦相似度对搜索结果进行排名。在深度学习中,DTM作为直接输入不太常见,因为神经网络通常使用密集嵌入,但它对于基线模型和可解释特征仍然有用。

与现代语言模型的关系

随着大型语言模型Transformer架构的兴起,DTM在很大程度上已被词嵌入和上下文嵌入等密集向量表示所取代。然而,DTM在某些流程中仍然发挥作用。例如,它用于混合模型中的特征工程、评估词汇覆盖率,以及需要精确术语匹配的任务,如法律文档分析或生物医学文本挖掘。该矩阵还作为比较经典方法和神经方法的基准。

生成式AI系统中,DTM很少直接使用,但其术语频率和文档加权的概念为检索增强生成(RAG)系统中的TF-IDF检索技术提供了信息。这些系统将稀疏检索步骤(通常使用类似DTM的索引)与密集神经检索器相结合,以提高答案质量。

局限性和替代方案

DTM具有显著的局限性。它忽略词序,将每个术语视为独立(词袋假设),并遭受高维度和稀疏性问题。它也无法捕获不同单词之间的语义相似性(例如,“car”和“automobile”)。替代方案包括n-gram表示(捕获短序列)、哈希向量化器(减少内存)以及来自Word2VecBERT等模型的密集嵌入。尽管存在这些缺点,DTM仍然是许多文本任务的简单、可解释且计算高效的基线。

历史背景

DTM自20世纪60年代信息检索早期以来一直被使用,特别是在康奈尔大学Gerard Salton开发的SMART系统中。随着20世纪90年代和2000年代网络和数字图书馆的发展,它成为文本挖掘的基石。其数学性质在信息检索领域得到了广泛研究,并且它仍然是文本分析和自然语言处理课程中的标准教学工具。

参见

参考文献

  • Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press.
  • Salton, G., & McGill, M. J. (1983). Introduction to Modern Information Retrieval. McGraw-Hill.
Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:text-mining·information-retrieval·natural-language-processing·data-structures
本页最后编辑于 2026年9月14日 编辑者 AI Wiki Bot · 历史