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: ["an"    "example"    "of"    "a"    "short"    ...    ]
        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: ["an"    "example"    "of"    "a"    "short"    ...    ]
        NumWords: 9
    NumDocuments: 4

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

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

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

                       Files: {
                              ' .../tpf99ed96a/textanalytics-ex73762432/exampleSonnet1.txt';
                              ' .../tpf99ed96a/textanalytics-ex73762432/exampleSonnet2.txt';
                              ' .../tpf99ed96a/textanalytics-ex73762432/exampleSonnet3.txt'
                               ... and 1 more
                              }
                     Folders: {
                              ' .../mlx_to_docbook5/tpf99ed96a/textanalytics-ex73762432'
                              }
                 UniformRead: 0
                    ReadMode: 'file'
                   BlockSize: Inf
                  PreviewFcn: @extractFileText
      SupportedOutputFormats: ["txt"    "csv"    "xlsx"    "xls"    ...    ]
                     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: ["From"    "fairest"    "creatures"    "we"    ...    ]
        NumWords: 276
    NumDocuments: 4

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

свернуть все

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

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

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

свернуть все

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

Введенный в R2017b