主要内容

tfidf

术语Frequency-Inverse文档频率(tf-idf)矩阵

描述

例子

= tfidf ()返回一个术语Frequency-Inverse文档频率(tf-idf)矩阵基于bag-of-words或bag-of-n-grams模型

例子

= tfidf (,文档)返回一个tf-idf矩阵的文档文档通过使用逆文档频率(IDF)系数计算

例子

= tfidf (___,名称,值)使用一个或多个指定附加选项名称-值对参数。

例子

全部折叠

创建一个术语Frequency-Inverse文档频率(tf-idf)矩阵从bag-of-words模型。

加载示例数据。该文件sonnetsPreprocessed.txt莎士比亚的十四行诗的包含预处理版本。文件包含每行一个十四行诗,单词之间用一个空格来分隔。提取的文本sonnetsPreprocessed.txt在换行字符,文本分割成文档,然后标记文件。

文件名=“sonnetsPreprocessed.txt”;str = extractFileText(文件名);textData =分裂(str,换行符);文件= tokenizedDocument (textData);

创建一个bag-of-words模型使用bagOfWords

袋= bagOfWords(文档)
袋= bagOfWords属性:计数:[154 x3092双]词汇:“公平”“生物”“欲望”…]NumWords: 3092 NumDocuments: 154

创建一个tf-idf矩阵。查看前十行和列。

M = tfidf(袋);完整的(M (1:10, 1:10))
ans =10×103.6507 4.3438 2.7344 3.6507 4.3438 2.2644 3.2452 3.8918 2.4720 2.5520 4.5287 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.5520 2.2644 2.2644 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.2644 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.7344 2.2644 2.5520 0 0 0 0 0 0 0 0 0 0 0 0

创建一个术语Frequency-Inverse文档频率(tf-idf)从bag-of-words模型矩阵和数组的新文档。

加载示例数据。该文件sonnetsPreprocessed.txt莎士比亚的十四行诗的包含预处理版本。文件包含每行一个十四行诗,单词之间用一个空格来分隔。提取的文本sonnetsPreprocessed.txt在换行字符,文本分割成文档,然后标记文件。

文件名=“sonnetsPreprocessed.txt”;str = extractFileText(文件名);textData =分裂(str,换行符);文件= tokenizedDocument (textData);

从文件创建一个bag-of-words模型。

袋= bagOfWords(文档)
袋= bagOfWords属性:计数:[154 x3092双]词汇:“公平”“生物”“欲望”…]NumWords: 3092 NumDocuments: 154

为新文档数组创建一个tf-idf矩阵使用逆文档频率(IDF)因子计算

newDocuments = tokenizedDocument ([“在一个叫什么名字?增加了其他名字同样芬芳。”“如果音乐是爱情的食粮,玩。”]);newDocuments M = tfidf(包)
M =(7) 3.2452(36) 1.2303(2197年)3.4275(2313年)3.6507(2387年)0.6061 (1205)4.7958 (1835)3.6507 5.0370 (1917)

加载示例数据。该文件sonnetsPreprocessed.txt莎士比亚的十四行诗的包含预处理版本。文件包含每行一个十四行诗,单词之间用一个空格来分隔。提取的文本sonnetsPreprocessed.txt在换行字符,文本分割成文档,然后标记文件。

文件名=“sonnetsPreprocessed.txt”;str = extractFileText(文件名);textData =分裂(str,换行符);文件= tokenizedDocument (textData);

创建一个bag-of-words模型使用bagOfWords

袋= bagOfWords(文档)
袋= bagOfWords属性:计数:[154 x3092双]词汇:“公平”“生物”“欲望”…]NumWords: 3092 NumDocuments: 154

创建一个tf-idf矩阵。查看前十行和列。

M = tfidf(袋);完整的(M (1:10, 1:10))
ans =10×103.6507 4.3438 2.7344 3.6507 4.3438 2.2644 3.2452 3.8918 2.4720 2.5520 4.5287 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.5520 2.2644 2.2644 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.2644 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.7344 2.2644 2.5520 0 0 0 0 0 0 0 0 0 0 0 0

你可以改变所做的贡献特遣部队和IDF因素tf-idf矩阵通过指定特遣部队和IDF权重公式。

忽略了多少次一个单词出现在一个文档,使用二进制选项“TFWeight”。创建一个tf-idf矩阵和集“TFWeight”“二元”。查看前十行和列。

M = tfidf(包“TFWeight”,“二元”);完整的(M (1:10, 1:10))
ans =10×103.6507 4.3438 2.7344 3.6507 4.3438 2.2644 3.2452 1.9459 2.4720 2.5520 2.2644 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.5520 2.2644 2.2644 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.2644 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.7344 2.2644 2.5520 0 0 0 0 0 0 0 0 0 0 0 0

输入参数

全部折叠

输入bag-of-words或bag-of-n-grams模型,指定为一个bagOfWords对象或一个bagOfNgrams对象。

输入文件,指定为一个tokenizedDocument数组,字符串数组的话,或一个细胞的特征向量。如果文档不是一个tokenizedDocument数组,那么它必须是一个行向量代表一个文档,其中每个元素是一个词。指定多个文档,使用tokenizedDocument数组中。

名称-值参数

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

例子:“归一化”,真的指定规范化的频率计数。

方法设置项频率(TF)因素,指定为逗号分隔组成的“TFWeight”和下列之一:

  • “生”——设置TF因素不变。

  • “二元”- TF因子设置为0和1的矩阵表示的词是否在一个文档中。

  • “日志”——设置TF因素1 +日志(bag.Counts)

例子:“TFWeight”、“二进制”

数据类型:字符

方法来计算逆文档频率因子,指定为逗号分隔组成的“IDFWeight”和下列之一:

  • “textrank”——使用TextRank IDF权重[1]。对于每个术语,以色列国防军的因素

    • 日志((N-NT + 0.5) /(0.5元+))如果这个词出现在超过一半的文件,N在输入数据和文档的数量吗NT文档的数量是包含每一项的输入数据。

    • IDFCorrection * avgIDF如果这个词出现在一半的文档或favgIDF是平均IDF的令牌。

  • “classic-bm25”——对于每一项,设置IDF的因素日志((N-NT + 0.5) /(0.5元+))

  • “正常”——对于每一项,设置IDF的因素日志(N /元)

  • “一元”——对于每一项,设置IDF因素1。

  • “顺利”——对于每一项,设置IDF的因素日志(1 + N /元)

  • “马克斯”——对于每一项,设置IDF的因素日志(1 +马克斯(NT) /元)

  • “概率”——对于每一项,设置IDF的因素日志((N-NT) /元)

在哪里N在输入数据和文档的数量吗NT文档的数量是包含每一项的输入数据。

例子:“IDFWeight”、“顺利”

数据类型:字符

逆文档频率校正因子,指定为逗号分隔组成的“IDFCorrection”和一个负的标量。

此选项仅适用于当“IDFWeight”“textrank”

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

选择规范化术语,指定为逗号分隔组成的“归一化”真正的。如果真正的,那么函数可实现每个向量欧几里得范数的词项。

例子:“归一化”,真的

数据类型:逻辑

取向的频率计数输出文档矩阵,指定为逗号分隔组成的“DocumentsIn”和下列之一:

  • “行”——返回频率计数的一个矩阵行相应的文档。

  • “列”——返回频率计数的转置矩阵列对应的文件。

数据类型:字符

迫使输出指标作为细胞数组,返回指定为逗号分隔组成的“ForceCellOutput”真正的

数据类型:逻辑

输出参数

全部折叠

输出项Frequency-Inverse文档频率矩阵,指定为稀疏矩阵或单元阵列的稀疏矩阵。

如果是一种基本数组或“ForceCellOutput”真正的,那么函数返回输出单元阵列的稀疏矩阵。单元阵列中的每个元素tf-idf矩阵对应元素的计算

引用

[1]巴里奥斯,费德里科•路易斯·尔塔和罗莎Wachenchauzer费德里科•洛佩兹。“变化的相似性函数TextRank自动总结。”arXiv预印本arXiv: 1602.03606(2016)。

介绍了R2017b