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: [1x7 string]
        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=5×6 struct
    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
Starting parallel pool (parpool) using the 'local' profile ...
Connected to the parallel pool (number of workers: 12).

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

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

          Counts: [5x3275 double]
      Vocabulary: [1x3275 string]
        NumWords: 3275
    NumDocuments: 5

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

свернуть все

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

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

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

свернуть все

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

Введенный в R2018a

Для просмотра документации необходимо авторизоваться на сайте