exponenta event banner

соединение

Объединение нескольких моделей мешков слов или мешков 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. Если установлены Toolbox™ Parallel Computing, то 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