主要内容

利用RAKE从文本数据中提取关键字

这个例子展示了如何使用快速自动关键字提取(RAKE)从文本数据中提取关键字。

RAKE算法使用基于分隔符的方法提取关键字,以识别候选关键字,并使用出现在候选关键字中的单词共同出现情况对它们进行评分。关键字可以包含多个标记。此外,RAKE算法还在关键字出现多次时合并它们,这些关键字由相同的合并分隔符分隔。

提取关键字

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

文本数据=[MATLAB为科学家和工程师提供了工具。科学家和工程师使用MATLAB。”“分析文本和图像。您可以导入文本和图像。”分析文本和图像。在MATLAB中分析文本、图像和视频];文件= tokenizedDocument (textData);

提取关键字使用rakeKeywords作用

台= rakeKeywords(文档)
tbl=12×3表关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU“3 4”MATLAB“3 1”图像”3 1“视频”“3 1

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

为了便于阅读,请使用加入功能。

如果> 1 tbl. size(tbl. keyword,2);关键词=地带(加入(tbl.Keyword));终止头(台)
ans =8×3表关键词DocumentNumber Score\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

指定每个文档的最大关键字数

这个rakeKeywords默认情况下,函数返回所有标识的关键字。要减少关键字的数量,请使用“MaxNumKeywords”选择。

通过设置“MaxNumKeywords”选择3。

台= rakeKeywords(文档,“MaxNumKeywords”3)
tbl=9×3表关键字DocumentNumber得分  _________________________________________ ______________ _____ " MATLAB”“提供”“工具”1 8“MATLAB”“”“”1 2“科学家”“和”“工程师”1 2“分析”、“文本”““2 4“进口”“文本”““2 4“图像”“”“”2 1”分析“文本”“3 4”MATLAB”“”“”“”“”“3 1”图像3 1

指定分隔符

请注意,在上面提取的关键字中,函数从第一个文档中提取多词关键字“科学家和工程师”,但不从第二个文档中提取多词关键字“文本和图像”。这是因为RAKE算法使用出现在分隔符之间的标记作为候选关键字,并且该算法仅在合并短语出现多次时将关键字与分隔符合并。

在这种情况下,令牌“文本”的实例出现在两个不同的多词关键词“分析文本”和“导入文本”中。因为,在这种情况下,函数不提取“文本”作为单独的候选关键字,该算法不考虑将候选与定界符“和”和候选关键字“图像”合并。

属性指定用于提取关键字的分隔符“分隔符”“MergingDelimiters”选项。若要指定不应出现在提取的关键字中的分隔符,请使用“分隔符”选项要指定可出现在提取的关键字中的分隔符,请使用“MergingDelimiters”选择。

从与前面相同的文本中提取关键字,并将单词“Analyze”和“import”指定为合并分隔符。

newDelimiters = [“分析”“进口”];mergingdelimiter = [stopWords newdelimiter];台= rakeKeywords(文档,“MergingDelimiters”,分隔符)
tbl=12×3表关键字DocumentNumber得分  _________________________________________ ______________ _____ " MATLAB”“提供”“工具”1 8“MATLAB”“”“”1 2“科学家”“和”“工程师”1 2“工程师”“”“”1“科学家”“”“”1“文本”“和”“图片”2 2”图片”“”“”2 1“文本”“”“”2 1”MATLAB”“”“”3 1“图像”“”“”3 1”文本”“”“”3 1“视频”"" "" 3 1

请注意,该函数将标记“text”和“images”视为关键字,并提取合并的关键字“text和images”。要了解有关RAKE算法的更多信息,请参阅关键词快速自动提取.

选择

您可以尝试不同的关键字提取算法,看看哪些算法最适合您的数据。因为RAKE算法使用基于分隔符的方法提取候选关键字,因此提取的关键字可能非常长。或者,您可以尝试使用TextRank算法提取关键字,该算法以单个标记作为cand开始标记关键字,然后在适当时合并它们。要使用TextRank提取关键字,请使用textrankKeywords作用要了解更多信息,请参阅使用TextRank从文本数据中提取关键字.

参考文献

[1] 罗斯、斯图尔特、戴夫·恩格尔、尼克·克莱默和温迪·考利。“从单个文档自动提取关键字。”文本挖掘:应用与理论1 (2010): 1-20.

另见

|||

相关的话题