主要内容

textrankKeywords

使用TextRank提取关键字

    描述

    例子

    资源描述= textrankKeywords (文档使用TextRank提取关键字和各自的分数。支持英文、日文、德文、韩文金宝app。对于其他语言,请尝试使用rakeKeywords函数来代替。

    例子

    资源描述= textrankKeywords (文档名称,值使用一个或多个名称-值对参数指定其他选项。

    例子

    全部折叠

    创建包含文本数据的标记化文档数组。

    textData = [“MATLAB为工程师提供了非常有用的工具。科学家们在MATLAB中使用了许多有用的工具。”“MATLAB和Simu金宝applink有很多特点。使用MATLAB和Simuli金宝appnk进行工程工作流程。”“用MATLAB分析文本和图像。用MATLAB分析文本、图像和视频。”];documents = tokenizedDocument(textData);

    方法提取关键字textrankKeywords函数。

    tbl = textrankKeywords(文档)
    台=7×3表关键字DocumentNumber得分  _________________________________ ______________ ______ " 许多“有用的”“工具”1 5.2174“有用的”“工具”“1 3.8778“许多”“功能”““2 4.0815”文本”“”“”3 1”图片”“”“”3 1”MATLAB”“”“”“”“”“3 1”视频3 1

    如果关键字包含多个单词,则字符串数组的第Th元素对应于关键字的第一个字。如果关键字的字数比最长关键字的字数少,则字符串数组的剩余项为空字符串""

    方法将多词关键字转换为单个sting,以提高可读性加入而且功能。

    如果size(tbl.关键字,2)> 1 tbl. size。关键字= strip(join(tbl.Keyword));结束资源描述
    台=7×3表关键字DocumentNumber得分___________________ ______________ ______“许多有用的工具”1 5.2174“有用的工具”1 3.8778“许多特征”2 4.0815“文本”3 1“图像”3 1“MATLAB”3 1“视频”3 1

    创建包含文本数据的标记化文档数组。

    textData = [“MATLAB为工程师提供了非常有用的工具。科学家们使用了许多有用的MATLAB工具箱。”“MATLAB和Simu金宝applink有很多特点。使用MATLAB和Simuli金宝appnk进行工程工作流程。”“用MATLAB分析文本和图像。用MATLAB分析文本、图像和视频。”];documents = tokenizedDocument(textData);

    方法提取前两个关键字textrankKeywords函数和设置“MaxNumKeywords”选项2

    tbl = textrankKeywords(文档,“MaxNumKeywords”, 2)
    台=5×3表关键字DocumentNumber得分  _____________________________________ ______________ ______ " 有用”“MATLAB”“工具箱”1 4.8695“有用”“”“”1 2.3612“许多”“功能”““2 4.0815”文本”“”“”“”“”“3 1”图像3 1

    如果关键字包含多个单词,则字符串数组的第Th元素对应于关键字的第一个字。如果关键字的字数比最长关键字的字数少,则字符串数组的剩余项为空字符串""

    方法将多词关键字转换为单个sting,以提高可读性加入而且功能。

    如果size(tbl.关键字,2)> 1 tbl. size。关键字= strip(join(tbl.Keyword));结束资源描述
    台=5×3表关键字DocumentNumber得分  _________________________ ______________ ______ " 有用的MATLAB工具箱4.8695“1”有用“1 2.3612”许多特性“2 4.0815”文本“3 1”图片“3 1

    输入参数

    全部折叠

    输入文档,指定为tokenizedDocument数组、单词的字符串数组或字符向量的单元格数组。如果文档不是tokenizedDocument数组,则它必须是表示单个文档的行向量,其中每个元素都是一个单词。若要指定多个文档,请使用tokenizedDocument数组中。

    名称-值对参数

    的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

    例子:textrankKeywords(文档、“MaxNumKeywords”20)每个文档最多返回20个关键字。

    每个文档要返回的最大关键字数目,指定为逗号分隔的对,由“MaxNumKeywords”一个正整数或者

    如果MaxNumKeywords,则函数返回所有识别的关键字。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    共现窗口的大小,指定为逗号分隔的对,由“窗口”一个正整数或者

    当窗口大小为2时,只有当两个候选关键字连续出现在文档中时,该函数才会考虑它们之间的共现。当窗口大小为时,则当两个候选关键字出现在同一文档中时,该函数会考虑它们之间的共现情况。

    增加窗口大小使函数能够发现关键字之间更多的共同出现,从而提高关键字的重要性分数。这可能会导致找到更多相关的关键字,但代价是可能会高估不太相关的关键字。

    有关更多信息,请参见TextRank关键词提取

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    用于提取候选关键字的词性标记,指定为逗号分隔的对,由“PartOfSpeech”和字符串数组、字符向量的单元格数组或包含以下一个或多个类名的分类数组:

    • “形容词”——形容词

    • “adposition”——Adposition

    • “副词”——副词

    • “助动词”-助动词

    • “coord-conjunction”-协调连接

    • “限定词”——决定因素

    • “感叹词”——感叹词

    • “名词”- - - - - -名词

    • “数字”——数字

    • “粒子”——粒子

    • “代词”——代词

    • “专有名词”-专有名词

    • “标点符号”(标点符号

    • “subord-conjunction”-从属连词

    • “象征”——象征

    • “动词”——动词

    • “其他”——其他

    如果PartOfSpeech是字符向量,则它必须对应于单个词性标记。

    有关更多信息,请参见TextRank关键词提取

    数据类型:字符|字符串|细胞|分类

    输出参数

    全部折叠

    提取的关键字和分数,作为包含以下变量的表返回:

    • 关键字—提取的关键字,指定为1by -maxNgramLength字符串数组,其中maxNgramLength最长关键字的字数。

    • DocumentNumber—包含相应关键字的文档号。

    • 分数-关键字评分。

    当多个关键字连续出现在相应文档中时,该函数将这些关键字合并为单个关键字。

    如果关键字包含多个单词,则对应字符串数组的第Th元素对应于关键字的第一个字。如果关键字的字数比最长关键字的字数少,则字符串数组的剩余项为空字符串""

    有关更多信息,请参见TextRank关键词提取

    更多关于

    全部折叠

    语言的注意事项

    textrankKeywords功能只支持英语、日金宝app语、德语和韩语文本。

    textrankKeywords函数通过基于词性标签识别候选关键字来提取关键字。类给出的词性标记addPartOfSpeechDetails功能,只支持英语,日语,德语和金宝app韩语文本。

    对于其他语言,请尝试使用rakeKeywords属性指定一组适当的分隔符“分隔符”而且“MergingDelimiters”选项。

    提示

    • 您可以尝试不同的关键字提取算法,看看哪种算法最适合您的数据。由于TextRank关键字算法使用基于词性标签的方法来提取候选关键字,因此提取的关键字可以很短。或者,您可以尝试使用RAKE算法提取关键字,该算法提取分隔符之间出现的令牌序列作为候选关键字。要使用RAKE提取关键字,请使用rakeKeywords函数。要了解更多信息,请参见使用RAKE从文本数据中提取关键字

    算法

    全部折叠

    TextRank关键词提取

    对于每个文档,textrankKeywords函数使用以下步骤提取关键字[1]

    1. 确定候选关键字:

    2. 计算每个候选人的分数:

      • 创建一个无向、无加权图,其中节点对应于候选关键字。

      • 标记窗口中候选关键字出现的节点之间添加边,其中窗口大小由“窗口”选择。

      • 使用PageRank算法计算每个节点的中心性,并根据候选关键字的数量对分数进行加权。有关更多信息,请参见中心

    3. 从候选人中提取关键词:

      • 根据候选关键字的得分选择前三分之一的候选关键字。

      • 如果任何候选关键字连续出现在文档中,则将它们合并为单个关键字并将相应的分数相加。

      • 返回顶部k关键字,k“MaxNumKeywords”选择。

    语言细节

    tokenizedDocument对象包含关于令牌的详细信息,包括语言详细信息。的行为由输入文档的语言细节决定textrankKeywords.的tokenizedDocument函数,默认情况下,自动检测输入文本的语言。若要手动指定语言详细信息,请使用“语言”的名称-值对参数tokenizedDocument.要查看令牌详细信息,请使用tokenDetails函数。

    参考文献

    Mihalcea, Rada和Paul Tarau。“Textrank:为文本带来秩序。”在2004年自然语言处理经验方法会议论文集,第404-411页。2004.

    R2020b中介绍