addDocument

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

Описание

пример

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: {
                              ' .../tp123c4f44/textanalytics-ex73762432/exampleSonnet1.txt';
                              ' .../tp123c4f44/textanalytics-ex73762432/exampleSonnet2.txt';
                              ' .../tp123c4f44/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