exponenta event banner

закодировать

Кодировать документы как матрицу числа слов или 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: [1x7 string]
        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: [1x7 string]
        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: [1x7 string]
        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 должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

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

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

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

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

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

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

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

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

свернуть все

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

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

Представлен в R2017b