关键词抽取

本文为您介绍Designer提供的关键词抽取算法组件。

关键词抽取是自然语言处理中的重要技术之一,具体是指从文本中将与这篇文章意义相关性较强的一些词抽取出来。该算法基于TextRank,根据PageRank算法思想,利用局部词汇之间关系(共现窗口)构建网络,并计算单词的重要性,最终选取权重大的作为关键词。

常用流程如下:

  1. 原始语料

  2. 分词

  3. 使用词过滤

  4. 关键词抽取

组件配置

您可以使用以下任意一种方式,配置关键词抽取组件参数。

方式一:可视化方式

Designer工作流页面配置组件参数。

页签

参数

描述

字段设置

标识文章id的列名

输入标识文章ID的列名。

标识文章内容分完词结果

输入标识文章内容分完词结果名称。

参数设置

输出前多少个关键词

整数,默认值为5。

窗口大小

整数,默认值为2。

阻尼系数

默认值为0.85。

最大迭代数

默认值为100。

收敛系数

默认值为0.000001。

执行调优

核心数,默认自动分配

默认自动选择。

每个核心的内存,默认自动分配

默认自动选择。

方式二:PAI命令方式

使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本

PAI -name KeywordsExtraction      
    -DinputTableName=maple_test_keywords_basic_input    
    -DdocIdCol=docid -DdocContent=word    
    -DoutputTableName=maple_test_keywords_basic_output    
    -DtopN=19;

参数名称

是否必选

描述

默认值

inputTableName

输入表。

inputTablePartitions

输入表中指定哪些分区参与训练,格式为“Partition_name=value”。如果是多级格式为“name1=value1/name2=value2”。如果指定多个分区,中间用半角逗号(,)分隔。

选择所有分区

outputTableName

输出表名。

docIdCol

标识文章ID的列名,仅可指定一列。

docContent

Word列,仅可指定一列。

topN

输出前多少个关键词,当关键词个数小于全部词个数时,全部输出。

5

windowSize

TextRank算法的窗口大小。

2

dumpingFactor

TextRank算法的阻尼系数。

0.85

maxIter

TextRank算法的最大迭代次数。

100

epsilon

TextRank算法的收敛残差阈值。

0.000001

lifecycle

指定输出表的生命周期。

coreNum

节点个数。

自动计算

memSizePerCore

单个节点内存大小,单位为MB。

自动计算

示例

  1. 数据生成

    输入表需采用空格分词,并过滤掉停用词(如“的”、“地”、“得”、“了”、“个”)和所有标点符号。

    docid:string

    word:string

    doc0

    翼身融合 飞机 是 未来 航空 领域 发展 一个 新 方向 诸多 研究 机构 已经 开展 对翼身融合 飞机 研究 而 其 全自动 外形 优化 算法 已 成为 新 研究 热点 现有 成果 基础 之上 分析 比较 常用 建模 求解 平台 使用 方式 及 特点 设计 编写 翼身融合 飞机 外形 优化 几何 建模 网格 划分 流场 求解 外形 优化 模块 比 较 不同 算法 间 优劣 实现 翼身融合 飞机 概念设计 中 外形 优化 几何 建模 及 网格 生成 模块 实现 基于 超限 插值 网格 生成 算法 基于 样条 曲线 建模 方法 流场 求解 模块 包括 有限 差分 求解器 有限元 求解器和面元法 求解器 其中 有限 差分 求解器 主要 包括 基于 有限 差分法 势流 数学 建模 基于 笛卡尔 网格 变 步长 差分 格式 推导 笛卡尔 网格 生成 索引 算法 基于 笛卡尔 网格 诺 依曼 边界条件 表达 形式 推导 实现 基于 有限 差分 求解器 二维 翼型 气动 参数 计算 算例 有限元 求解器 主要 包括 基于 变分 原理 势流 有限元 理论 建模 二维 有限元 库塔 条件 表达式 推导 基于 最小 二乘 速度 求解 算法 设计 基于 Gmsh 二维 带尾迹 翼型 空间 网格 生成器 开发 实现 基于 有限元 求解器 二维 翼型 气动 参数 计算 算例 面元法 求解器 主要 包括 基于 面元法 势流 理论 建模 自动 尾迹 生成 算法 设计 基于 面元法 三维 翼身融合 体 流场 求解器 开发 基于 布拉 修斯 平板 解 阻力 估算 算法 设计 求解器 Fortran 语言 上 移 植 Python 和 Fortran 代码 混编 基于 OpenMP 和 CUDA 并行 加速 算法 设计 与 开发 实现 基于 面元法 求解器 三维 翼身融合 体 气动 参数 计算 算例 外形 优化 模块 实 现了 基于 自由 形状 变形 网格 变形 算法 遗传算法 差分 进化 算法 飞机 表面积 计算 算法 基于 矩 积分 飞 机 体积 计算 算法 开发 基于 VTK 数据 可视化 格式 工具

  2. PAI命令

    PAI -name KeywordsExtraction      
        -DinputTableName=maple_test_keywords_basic_input    
        -DdocIdCol=docid -DdocContent=word    
        -DoutputTableName=maple_test_keywords_basic_output    
        -DtopN=19;
  3. 输出说明

    docid

    keywords

    weight

    doc0

    基于

    0.041306752223538405

    doc0

    算法

    0.03089845626854151

    doc0

    建模

    0.021782865850562882

    doc0

    网格

    0.020669749212693957

    doc0

    求解器

    0.020245609506360847

    doc0

    飞机

    0.019850761705313365

    doc0

    研究

    0.014193732541852615

    doc0

    有限元

    0.013831122054200538

    doc0

    求解

    0.012924593244133104

    doc0

    模块

    0.01280216562287212

    doc0

    推导

    0.011907588923852495

    doc0

    外形

    0.011505456605632607

    doc0

    差分

    0.011477831662367547

    doc0

    势流

    0.010969269350293957

    doc0

    设计

    0.010830986516637251

    doc0

    实现

    0.010747536556701583

    doc0

    二维

    0.010695570768457084

    doc0

    开发

    0.010527342662670088

    doc0

    0.010096978306668461