TF-IDF(Term Frequency-Inverse Document Frequency)是一种用于资讯检索与文本挖掘的常用加权技术。通常在搜索引擎中应用,可以作为文件与用户查询之间相关程度的度量或评级。

TF词频(Term Frequency)是指某一个给定的词语在该文件中出现的次数。IDF反文档频率(Inverse Document Frequency)是指如果包含词条的文档越少,IDF越大,则说明词条的类别区分能力越强。

TF-IDF是一种统计方法,用于评估字词或文件的重要程度。例如:
  • 在文件集中的字词会随着出现次数的增加呈正比增加趋势。
  • 在语料库中的文件会随着出现频率的增加呈反比下降趋势。

本组件是在词频统计输出的基础上,计算各个词语对于各个文章的TF-IDF值。

配置组件

您可以通过以下任意一种方式,配置TF-IDF参数:
  • 可视化方式
    页签 参数 描述
    字段设置 选择文档ID列 选择文档ID列。
    选择单词列 选择单词列。
    选择单词计数列 选择单词计数列。
    执行调优 计算核心数 节点个数,默认自动计算。
    每个核心内存 单个节点内存大小,单位为MB。
  • PAI命令方式
    PAI -name tfidf
        -project algo_public
        -DinputTableName=rgdoc_split_triple_out
        -DdocIdCol=id
        -DwordCol=word
        -DcountCol=count
        -DoutputTableName=rg_tfidf_out;
    参数名称 是否必选 描述 默认值
    inputTableName 输入表名称。
    inputTablePartitions 输入表中,参与训练的分区。

    格式为partition_name=value。如果是多级格式为name1=value1/name2=value2。如果是指定多个分区,中间用英文逗号分开。

    输入表的所有分区
    docIdCol 标识文章ID的列名,仅可指定一列。
    wordCol Word列名,仅可指定一列。
    countCol Count列名,仅可指定一列。
    outputTableName 输出表名称。
    lifecycle 输出表生命周期。正整数。单位:天
    coreNum 核心数,与memSizePerCore同时设置才生效。 自动计算
    memSizePerCore 内存数,与coreNum同时设置才生效。 自动计算

示例

以TF-IDF组件实例中的输出表作为TF-IDF组件的输入表,对应的参数设置如下:
  • 选择文档ID列: id
  • 选择单词列:word
  • 选择单词计数列:count
输出表有9列:docidwordword_count(当前word在当前doc中出现次数)、total_word_count(当前doc中总word数)、doc_count(当前word的总doc数)、total_doc_count(全部doc数)、tfidftfidf1