join

Объедините несколько сумка слов или мешок n моделей граммов

Описание

пример

newBag = join(bag) комбинирует элементы в массиве bag путем слияния подсчета частот. Функция комбинирует элементы по первому измерению, не равному 1.

newBag = join(bag,dim) комбинирует элементы в массиве bag по измерению dim.

Примеры

свернуть все

Создайте массив двух моделей сумок слов из маркируемых документов.

str = [ ...
    "an example of a short sentence"
    "a second short sentence"];
documents = tokenizedDocument(str);
bag(1) = bagOfWords(documents(1));
bag(2) = bagOfWords(documents(2))
bag=1×2 object
  1x2 bagOfWords array with properties:

    Counts
    Vocabulary
    NumWords
    NumDocuments

Объедините модели сумки слов с помощью join.

bag = join(bag)
bag = 
  bagOfWords with properties:

          Counts: [2x7 double]
      Vocabulary: ["an"    "example"    "of"    "a"    "short"    ...    ]
        NumWords: 7
    NumDocuments: 2

Если ваши текстовые данные содержатся в нескольких файлах в папке, то можно импортировать текстовые данные и создать модель сумки слов в параллели с помощью parfor. Если вам установили Parallel Computing Toolbox™, то parfor цикл запускается параллельно, в противном случае, он запускается в сериале. Используйте join объединить массив моделей сумки слов в одну модель.

Создайте модель сумки слов из набора файлов. Сонеты в качестве примера имеют имена файлов "exampleSonnetN.txt", где N количество сонета. Получите список файлов и их местоположений с помощью dir.

fileLocation = fullfile(matlabroot,'examples','textanalytics','exampleSonnet*.txt');
fileInfo = dir(fileLocation)
fileInfo = 

  0x1 empty struct array with fields:

    name
    folder
    date
    bytes
    isdir
    datenum

Инициализируйте пустую модель сумки слов и затем цикл по файлам и создайте массив моделей сумки слов.

bag = bagOfWords;

numFiles = numel(fileInfo);
parfor i = 1:numFiles
    f = fileInfo(i);
    filename = fullfile(f.folder,f.name);
    
    textData = extractFileText(filename);
    document = tokenizedDocument(textData);
    bag(i) = bagOfWords(document);
end

Объедините модели сумки слов с помощью join.

bag = join(bag)
bag = 
  bagOfWords with properties:

          Counts: []
      Vocabulary: [1x0 string]
        NumWords: 0
    NumDocuments: 0

Входные параметры

свернуть все

Массив сумки слов или мешка n моделей граммов в виде bagOfWords массив или bagOfNgrams массив. Если bag bagOfNgrams массив, затем каждый элемент, к которому соединят, должен иметь то же значение для NgramLengths свойство.

Размерность, по которой можно соединить модели в виде положительного целого числа. Если dim не задан, затем значением по умолчанию является первая размерность с размером, который не равняется 1.

Выходные аргументы

свернуть все

Выведите модель, возвращенную как bagOfWords возразите или bagOfNgrams объект. Тип newBag совпадает с типом bag. newBag имеет совпадающий тип данных как входную модель и имеет размер 1 по измерению, к которому соединяют.

Введенный в R2018a