encode

Закодируйте документы как матрицу количеств n-граммы или слова

Описание

Использование encode чтобы закодировать массив маркируемых документов как, матрица слова или n-граммы рассчитывает согласно сумке слов или мешку n модели граммов. Чтобы закодировать документы как векторы или словари, используйте wordEncoding объект.

пример

counts = encode(bag,documents) возвращает матрицу подсчета частот для documents на основе сумки слов или мешка n модели bag граммов.

пример

counts = encode(bag,words) возвращает матрицу подсчета частот для списка слов.

пример

counts = encode(___,Name,Value) задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение".

Примеры

свернуть все

Закодируйте массив документов как матрица подсчетов слов.

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 new sentence" 
    "a second new sentence"])
documents = 
  2x1 tokenizedDocument:

    3 tokens: a new sentence
    4 tokens: a second new sentence

Просмотрите документы, закодированные как матрицу подсчетов слов. "Новое" слово не появляется в bag, таким образом, это не считается.

counts = encode(bag,documents);
full(counts)
ans = 2×7

     0     0     0     1     0     1     0
     0     0     0     1     0     1     1

Столбцы соответствуют словарю модели сумки слов.

bag.Vocabulary
ans = 1x7 string
    "an"    "example"    "of"    "a"    "short"    "sentence"    "second"

Закодируйте массив слов как вектор из подсчетов слов.

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

words = ["another" "example" "of" "a" "short" "example" "sentence"];
counts = encode(bag,words)
counts = 
   (1,2)        2
   (1,3)        1
   (1,4)        1
   (1,5)        1
   (1,6)        1

Закодируйте массив документов как матрица подсчетов слов с документами в столбцах.

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 new sentence"
    "a second new sentence"])
documents = 
  2x1 tokenizedDocument:

    3 tokens: a new sentence
    4 tokens: a second new sentence

Просмотрите документы, закодированные как матрицу подсчетов слов с документами в столбцах. "Новое" слово не появляется в bag, таким образом, это не считается.

counts = encode(bag,documents,'DocumentsIn','columns');
full(counts)
ans = 7×2

     0     0
     0     0
     0     0
     1     1
     0     0
     1     1
     0     1

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

свернуть все

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

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

Совет

Чтобы гарантировать, что документы закодированы правильно, необходимо предварительно обработать входные документы с помощью тех же шагов, как документы раньше создавали входную модель. Для примера, показывающего, как создать функцию, чтобы предварительно обработать текстовые данные, смотрите, Готовят текстовые Данные к Анализу.

Введите слова в виде вектора строки, вектора символов или массива ячеек из символьных векторов. Если вы задаете words как вектор символов, затем функция обрабатывает аргумент как отдельное слово.

Типы данных: string | char | cell

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'DocumentsIn','rows' задает ориентацию выходных документов как строки.

Ориентация выходных документов в матрице подсчета частот в виде разделенной запятой пары, состоящей из 'DocumentsIn' и одно из следующего:

  • 'rows' – Возвратите матрицу подсчета частот со строками, соответствующими документам.

  • 'columns' – Возвратите транспонированную матрицу подсчета частот со столбцами, соответствующими документам.

Типы данных: char

Индикатор для принуждения выхода, который будет возвращен как массив ячеек в виде запятой разделенная пара, состоящая из 'ForceCellOutput' и true или false.

Типы данных: логический

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

свернуть все

Word или количества n-граммы, возвращенные как разреженная матрица неотрицательных целых чисел или массив ячеек разреженных матриц.

Если bag нескалярный массив или 'ForceCellOutput' true, затем функция возвращает выходные параметры как массив ячеек разреженных матриц. Каждым элементом в массиве ячеек является матрица слова или количества n-граммы соответствующего элемента bag.

Введенный в R2017b