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

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

常用流程如下:
  1. 原始语料
  2. 分词
  3. 使用词过滤
  4. 关键词抽取

配置组件

PAI-Studio支持通过可视化或PAI命令的方式,配置组件参数:
  • 可视化方式
    页签 参数 描述
    字段设置 标识文章id的列名 输入标识文章ID的列名。
    标识文章内容分完词结果 输入标识文章内容分完词结果名称。
    参数设置 输出前多少个关键词 整数,默认值为5。
    窗口大小 整数,默认值为2。
    阻尼系数 默认值为0.85。
    最大迭代数 默认值为100。
    收敛系数 默认值为0.000001。
    执行调优 核心数,默认自动分配 默认自动选择。
    每个核心的内存,默认自动分配 默认自动选择。
  • PAI命令方式
    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