主要内容

Bagofwords.

一袋字模式

描述

袋的词模型(也称为术语频率计数器)记录的次数,也就是说出现在集合中的每个文件的数量。

Bagofwords.不会将文本拆分为单词。要创建一系列令牌化文件,请参阅tokenizedDocument

创建

描述

= bagofwords.创建一个空袋式模型。

例子

= bagOfWords(文件计算出现在的话文件并返回一个单词袋式模型。

例子

= bagOfWords(uniquewords.使用单词创建一个单词袋式模型uniquewords.并在相应的频率计数

输入参数

展开全部

输入文档,指定为atokenizedDocument阵列,一串字阵列,或字符向量的单元阵列。如果文件不是一个tokenizedDocument阵列,那么它必须是表示一个单一的文件,其中每个元素是一个字的行向量。要指定多个文件,使用tokenizedDocument大批。

唯一的单词列表,指定为字符串向量或字符向量的单元格数组。如果uniquewords.包含< >失踪,则函数忽略遗漏值。的大小uniquewords.必须是1 -V.其中V是列数

例子:[“一个”“示例”“列表”]

数据类型:细绳|细胞

对应单词的频率计数uniquewords.,指定为非负整数的矩阵。价值计数(i, j)对应于单词的次数uniqueWords(J)出现在一世个文档。

一定有numel(uniqueWords)列。

特性

展开全部

每个文档的字数计数,指定为一个稀疏矩阵。

看到的文档数,指定为非负整数。

模型中的唯一单词数,指定为非负整数。

在模型中的唯一字,指定为字符串矢量。

数据类型:细绳

对象功能

编码 将文档编码为单词或n-gram计数的矩阵
TFIDF. 术语频率 - 逆文档频率(TF-IDF)矩阵
topkwords 袋式模型或LDA主题中最重要的单词
addDocument 添加文件袋的词或袋的的N-gram模型
removeDocument 从单词袋或n-r克模型中删除文档
删除程序 从标记化的文档数组、单词包模型或n-gram包模型中删除空文档
删除 从文档或单词袋式模型中删除所选单词
removeinfrequentwords. 从单词袋式模型中删除具有低计数的单词
加入 结合多个单词或袋式袋式型号
WordCloud. 从文本,文字袋模型,n-grams模型或LDA模型创建单词云图

例子

全部收缩

加载示例数据。文件sonnetsPreprocessed.txt包含Precrocessed版本的莎士比亚的十四行诗。该文件每行包含一个十四行诗,单词由空格分隔。从中提取文本sonnetsPreprocessed.txt,将文本拆分为换行符的文档,然后授权文档。

filename =.“sonnetsPreprocessed.txt”;str = inthelfiletext(filename);textdata = split(str,newline);文档= tokenizeddocument(textdata);

创建使用袋的词模型Bagofwords.

包= bagOfWords(文档)
袋= bagOfWords具有属性:计算:[154x3092双]词汇:[ “公平”, “生物”, “欲望” ...] NUMWORDS:3092个NumDocuments:154

查看前10个单词及其总数。

台= topkwords(袋,10)
TBL =.10×2表字数_______ _____“你的” 281“你” 234“爱” 162“你” 161“岂是” 88“矿难” 63“须” 59“眼睛” 56“甜蜜蜜” 55“时” 53

使用字符串数组和单词数矩阵创建一个单词袋式模型。

uniquewords = [“一种”“一个”“另一个”“例子”“最终的”“句子”“第三”]。数= [......1 2 0 1 0 1 0;0 0 3 1 0 4 0;1 0 0 5 0 3 1;1 0 0 1 7 0 0];BAG = BAGOFWORDS(uniquewords,counts)
BAG = BAGOFWORDS具有属性:计数:[4x7双]词汇:[“A”“另一个”“示例”......] num字:7 numfocuments:4

如果您的文本数据包含在一个文件夹中的多个文件中,那么您可以使用文件数据存储将文本数据导入MATLAB。

为示例十四行诗文本文件创建文件数据存储。这些例子十四行诗有文件名“exampleSonnetN.txt“, 在哪里N是十四行诗的数量。指定读取功能提取物文字

readfcn = @extractfiletext;fds = filedataStore('Implueonnet * .txt''readfcn'readFcn)
FDS = FileDatastore具有属性:文件:{ '... / tp73208a97 / textanalytics-ex73762432 / exampleSonnet1.txt';'... / tp73208a97 / textanalytics-ex73762432 / exampleSonnet2.txt';'... / tp73208a97 / textanalytics-ex73762432 / exampleSonnet3.txt' ...和1更}文件夹:{ '/ TMP / Bdoc21b_1757077_241787 / tp73208a97 / textanalytics-ex73762432'} UniformRead:0 ReadMode: '文件' BLOCKSIZE:Inf文件PreviewFcn:@extractFileText S金宝appupportedOutputFormats:[ “TXT” “CSV” “XLSX” “XLS” ...] ReadFcn:@extractFileText AlternateFileSystemRoots:{}

创建一个空的单词袋模型。

包= bagOfWords
bag = bagOfWords with properties: Counts: [] Vocabulary: [1x0 string] NumWords: 0 NumDocuments: 0

遍历数据存储中的文件和读取每个文件。令牌化在每个文件中的文本和文档添加到

尽管Hasdata(FDS)str =读取(FDS);Document = TokenizedDocument(str);袋= adddocument(包,文件);结尾

查看更新袋的词模型。

BAG =具有属性的BagofWords:Counts:[4x276双]词汇:[来自“”Failest“”生物“”“我们”......] Numwords:276 NumFocuments:4

通过输入一个停止单词列表,从单词袋式模型中删除停止单词删除。停止单词是诸如“A”,“”和“IN”的单词,在分析之前通常从文本中删除。

文档= tokenizeddocument([“短句子的一例”“第二句话”]);bag = bagofwords(文件);newbag = removewords(袋子,停止字)
newBag = bagOfWords具有属性:计算:[2×4双]词汇:[ “例如”, “短”, “句子”, “第二”] NUMWORDS:4个NumDocuments:2

创建一个单词袋模型中最常用单词的表。

加载示例数据。文件sonnetsPreprocessed.txt包含Precrocessed版本的莎士比亚的十四行诗。该文件每行包含一个十四行诗,单词由空格分隔。从中提取文本sonnetsPreprocessed.txt,将文本拆分为换行符的文档,然后授权文档。

filename =.“sonnetsPreprocessed.txt”;str = inthelfiletext(filename);textdata = split(str,newline);文档= tokenizeddocument(textdata);

创建使用袋的词模型Bagofwords.

包= bagOfWords(文档)
袋= bagOfWords具有属性:计算:[154x3092双]词汇:[ “公平”, “生物”, “欲望” ...] NUMWORDS:3092个NumDocuments:154

找出最常用的五个单词。

t = topkwords(包);

发现在模型前20个字。

K = 20;T = topkwords(袋,k)的
t =20×2表词数________ _____ "你" 281 "你" 234 "爱" 162 "你" 161 "做" 88 "我" 63 "将" 59 "眼睛" 56 "甜蜜" 55 "时间" 53 "美" 52 "或"艺术" 51 "但" 51 " "心" 50⋮

从单词袋模型创建术语频率反转文档频率(TF-IDF)矩阵。

加载示例数据。文件sonnetsPreprocessed.txt包含Precrocessed版本的莎士比亚的十四行诗。该文件每行包含一个十四行诗,单词由空格分隔。从中提取文本sonnetsPreprocessed.txt,将文本拆分为换行符的文档,然后授权文档。

filename =.“sonnetsPreprocessed.txt”;str = inthelfiletext(filename);textdata = split(str,newline);文档= tokenizeddocument(textdata);

创建使用袋的词模型Bagofwords.

包= bagOfWords(文档)
袋= bagOfWords具有属性:计算:[154x3092双]词汇:[ “公平”, “生物”, “欲望” ...] NUMWORDS:3092个NumDocuments:154

创建一个TF-IDF矩阵。查看前10名行列。

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 0 0 0 0 0 4.5287 0 0 0 0 0 0 0 0 0 0 0 0 0 2.5520 0 0 0 0 0 2.2644 0 0 0 0 0 0 0 0 0 2.2644 0 0 0 00 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.2644 0 0 0 2.5520 0 0 2.7344 0 0 0 0 0 0 0

加载示例数据。文件sonnetsPreprocessed.txt包含Precrocessed版本的莎士比亚的十四行诗。该文件每行包含一个十四行诗,单词由空格分隔。从中提取文本sonnetsPreprocessed.txt,将文本拆分为换行符的文档,然后授权文档。

filename =.“sonnetsPreprocessed.txt”;str = inthelfiletext(filename);textdata = split(str,newline);文档= tokenizeddocument(textdata);

创建使用袋的词模型Bagofwords.

包= bagOfWords(文档)
袋= bagOfWords具有属性:计算:[154x3092双]词汇:[ “公平”, “生物”, “欲望” ...] NUMWORDS:3092个NumDocuments:154

使用单词云可视化单词袋模型。

图wordcloud(袋);

图包含WordCloud类型的对象。

如果您的文本数据包含在多个文件夹中,然后就可以导入的文本数据,并使用创建并行袋的词模型议案。如果您有并行计算工具箱™安装,那么议案循环并行运行,否则,它运行在串行。用加入将一组词汇袋模型组合成一个模型。

从创建文件的收集袋的词模型。这些例子十四行诗有文件名“exampleSonnetN.txt“, 在哪里N是十四行诗的数量。使用文件及其位置列表使用谜语

fileLocation = fullfile(matlabroot,“例子”'textanalytics''Implueonnet * .txt');fileinfo = dir(fileLocation)
fileInfo = 0x1带有字段的空结构数组:name folder date bytes isdir datenum

初始化一个空袋的词模型,然后通过文件循环和创建袋的词模型的数组。

袋= bagOfWords;numFiles = numel(的fileInfo);议案i = 1:numfiles f = fileinfo(i);filename = fullfile(f.folder,f.name);textdata = extractFiletext(文件名);文档= tokenizeddocument(textdata);袋(i)= bagofwords(文件);结尾

使用袋式模型结合使用加入

袋=加入(袋)
bag = bagOfWords with properties: Counts: [] Vocabulary: [1x0 string] NumWords: 0 NumDocuments: 0

提示

  • 如果你打算使用一个伸出测试仪为您的工作,然后使用分区之前的文本数据Bagofwords.。否则,袋的词模型可偏向你的分析。

在R2017B中介绍