addDocument

Добавьте документы сумке слов или мешку n модели граммов

Синтаксис

newBag = addDocument(bag,documents)

Описание

пример

newBag = addDocument(bag,documents) добавляет documents к сумке слов или мешку n модели bag граммов.

Примеры

свернуть все

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

documents = tokenizedDocument([
    "an example of a short sentence"
    "a second short sentence"]);
bag = bagOfWords(documents)
bag = 
  bagOfWords with properties:

          Counts: [2x7 double]
      Vocabulary: [1x7 string]
        NumWords: 7
    NumDocuments: 2

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

documents = tokenizedDocument([ 
    "a third example of a short sentence" 
    "another short sentence"]);
newBag = addDocument(bag,documents)
newBag = 
  bagOfWords with properties:

          Counts: [4x9 double]
      Vocabulary: [1x9 string]
        NumWords: 9
    NumDocuments: 4

Если ваши текстовые данные содержатся в нескольких файлах в папке, то можно импортировать текстовые данные в MATLAB с помощью datastore файла.

Создайте datastore файла для текстовых файлов сонета в качестве примера. Сонеты в качестве примера имеют имена файлов "exampleSonnetN.txt", где N является количеством сонета. Задайте функцию чтения, чтобы быть extractFileText.

readFcn = @extractFileText;
fds = fileDatastore('exampleSonnet*.txt','ReadFcn',readFcn)
fds = 
  FileDatastore with properties:

                       Files: {
                              ' .../tpc9f2555f/textanalytics-ex73762432/exampleSonnet1.txt';
                              ' .../tpc9f2555f/textanalytics-ex73762432/exampleSonnet2.txt';
                              ' .../tpc9f2555f/textanalytics-ex73762432/exampleSonnet3.txt'
                               ... and 1 more
                              }
                 UniformRead: 0
                    ReadMode: 'file'
                   BlockSize: Inf
                  PreviewFcn: @extractFileText
                     ReadFcn: @extractFileText
    AlternateFileSystemRoots: {}

Создайте пустую модель сумки слов.

bag = bagOfWords
bag = 
  bagOfWords with properties:

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

Цикл по файлам в datastore и считал каждый файл. Маркируйте текст в каждом файле и добавьте документ bag.

while hasdata(fds)
    str = read(fds);
    document = tokenizedDocument(str);
    bag = addDocument(bag,document);
end

Просмотрите обновленную модель сумки слов.

bag
bag = 
  bagOfWords with properties:

          Counts: [4x276 double]
      Vocabulary: [1x276 string]
        NumWords: 276
    NumDocuments: 4

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

свернуть все

Введите сумку слов или мешок n модели граммов, заданной как объект bagOfWords или объект bagOfNgrams.

Введите документы, заданные как массив tokenizedDocument, массив строк слов или массив ячеек из символьных векторов. Если documents является массивом строк или массивом ячеек из символьных векторов, то это должен быть вектор - строка, представляющий единый документ, где каждый элемент является словом.

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

свернуть все

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

Введенный в R2017b