词频统计是指输入一些字符串(手动输入或者从指定的文件读取),用程序来统计这些字符串中总共有多少个单词,每个单词出现的次数。单词的总数(即为Total)为不重复的单词数总和。本文为您介绍Designer提供的词频统计。
词频指词的频率,即词在一定的语料中出现的次数。请在对文档进行分词的基础上,按行保序输出对应文档ID列(docId)对应的词,统计指定文档ID列对应文档内容(docContent)的词频。
组件配置
您可以使用以下任意一种方式,配置词频统计组件参数。
方式一:可视化方式
在Designer工作流页面配置组件参数。
页签 | 参数 | 描述 |
字段设置 | 选择文档ID列 | 选择文档ID列。 |
选择文档内容列 | 选择文档内容列。 | |
执行调优 | 核心数 | 节点数量。 |
每个核心的内存 | 单个节点内存大小,单位为MB。 |
方式二:PAI命令方式
使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本。
pai -name doc_word_stat
-project algo_public
-DinputTableName=tdl_doc_test_split_word
-DdocId=docid
-DdocContent=content
-DoutputTableNameMulti=doc_test_stat_multi
-DoutputTableNameTriple=doc_test_stat_triple
-Dlifecycle=7
参数名称 | 是否必选 | 描述 | 默认值 |
inputTableName | 是 | 输入表名称。 | 无 |
docId | 是 | 标识文档ID的列名,仅可指定一列。 | 无 |
docContent | 是 | 标识文档内容的列名,仅可指定一列。 | 无 |
outputTableNameMulti | 是 | 输出保序词语表名。 | 无 |
outputTableNameTriple | 否 | 输出词频统计表名。 | 无 |
inputTablePartitions | 否 | 输入表中,参与训练的分区。系统支持以下格式:
说明 指定多个分区时,分区之间使用英文逗号(,)分隔。 | 选择所有分区 |
lifecycle | 否 | 输出表生命周期。正整数。 | -1 |
示例
采用阿里分词实例数据中,将分别将输出表的两个列作为词频统计的输入参数:
选择文档ID列:ID。
选择文档内容列:text经过词频统计运算后,生成的结果见本组件中第一个输出参数展示图。
PAI命令行
pai -name doc_word_stat
-project algo_public
-DinputTableName=tdl_doc_test_split_word
-DdocId=id
-DdocContent=content
-DoutputTableNameMulti=doc_test_stat_multi
-DoutputTableNameTriple=doc_test_stat_triple
-DinputTablePartitions="region=cctv_news"
-Dlifecycle=7
输入参数:经过分词组件生成两列—文档ID列和分词后的文档内容列。
两个输出参数:
第一个输出端:输出表包含id、word和count三个字段。
参数
描述
id
文档ID列。
word
单词列。
count
统计每个文档中,对应word词汇出现的次数。
说明该输出表的列可以分别作为TF-IDF组件的输入。
第二个输出端:输出包含id和word两个字段。
本端口输出表按词语在文档中出现的顺序依次输出,没有统计词语的出现次数,因此同一文档中某个词汇可能出现多条记录。该输出表格式主要用于兼容Word2Vec组件。
常见问题
参数outputTableNameMulti指定的表是docId列及docId列对应的文档内容(docContent)完成分词后,按各个词语在文档中出现的顺序依次输出。
参数outputTableNameTriple指定的表输出docId列及docId列对应的文档内容(docContent)。