topkngrams

Большинство частых N-грамм

Описание

пример

tbl = topkngrams(bag) возвращает таблицу, перечисляющую пять наиболее часто замечаемых N-грамм в мешке n модели bag граммов. Функция, по умолчанию, является чувствительной к регистру.

пример

tbl = topkngrams(bag,k) перечисляет k наиболее часто замечаемые N-граммы в мешке n модели bag граммов. Функция, по умолчанию, является чувствительной к регистру.

пример

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

Примеры

свернуть все

Составьте таблицу самых частых биграмм мешка n модели граммов.

Загрузите данные в качестве примера. Файл sonnetsPreprocessed.txt содержит предварительно обработанные версии сонетов Шекспира. Файл содержит один сонет на строку со словами, разделенными пробелом. Извлеките текст из sonnetsPreprocessed.txt, разделите текст в документы в символах новой строки, и затем маркируйте документы.

filename = "sonnetsPreprocessed.txt";
str = extractFileText(filename);
textData = split(str,newline);
documents = tokenizedDocument(textData);

Создайте мешок n модели граммов.

bag = bagOfNgrams(documents)
bag = 
  bagOfNgrams with properties:

          Counts: [154×8799 double]
      Vocabulary: [1×3092 string]
          Ngrams: [8799×2 string]
    NgramLengths: 2
       NumNgrams: 8799
    NumDocuments: 154

Найдите лучшие 5 биграмм.

tbl = topkngrams(bag)
tbl=5×3 table
         Ngram          Count    NgramLength
    ________________    _____    ___________

    "thou"    "art"      34           2     
    "mine"    "eye"      15           2     
    "thy"     "self"     14           2     
    "thou"    "dost"     13           2     
    "mine"    "own"      13           2     

Найдите лучшие 10 биграмм.

tbl = topkngrams(bag,10)
tbl=10×3 table
          Ngram          Count    NgramLength
    _________________    _____    ___________

    "thou"    "art"       34           2     
    "mine"    "eye"       15           2     
    "thy"     "self"      14           2     
    "thou"    "dost"      13           2     
    "mine"    "own"       13           2     
    "thy"     "sweet"     12           2     
    "thy"     "love"      11           2     
    "dost"    "thou"      10           2     
    "thou"    "wilt"      10           2     
    "love"    "thee"       9           2     

Загрузите данные в качестве примера. Файл sonnetsPreprocessed.txt содержит предварительно обработанные версии сонетов Шекспира. Файл содержит один сонет на строку со словами, разделенными пробелом. Извлеките текст из sonnetsPreprocessed.txt, разделите текст в документы в символах новой строки, и затем маркируйте документы.

filename = "sonnetsPreprocessed.txt";
str = extractFileText(filename);
textData = split(str,newline);
documents = tokenizedDocument(textData);

Создайте мешок n модели граммов. Чтобы считать N-граммы длины 2 и 3 (биграммы и триграммы), задайте 'NgramLengths' быть векторным [2 3].

bag = bagOfNgrams(documents,'NgramLengths',[2 3])
bag = 
  bagOfNgrams with properties:

          Counts: [154×18022 double]
      Vocabulary: [1×3092 string]
          Ngrams: [18022×3 string]
    NgramLengths: [2 3]
       NumNgrams: 18022
    NumDocuments: 154

Просмотрите 10 наиболее распространенных N-грамм длины 2 (биграммы).

topkngrams(bag,10,'NGramLengths',2)
ans=10×3 table
             Ngram             Count    NgramLength
    _______________________    _____    ___________

    "thou"    "art"      ""     34           2     
    "mine"    "eye"      ""     15           2     
    "thy"     "self"     ""     14           2     
    "thou"    "dost"     ""     13           2     
    "mine"    "own"      ""     13           2     
    "thy"     "sweet"    ""     12           2     
    "thy"     "love"     ""     11           2     
    "dost"    "thou"     ""     10           2     
    "thou"    "wilt"     ""     10           2     
    "love"    "thee"     ""      9           2     

Просмотрите 10 наиболее распространенных N-грамм длины 3 (триграммы).

 topkngrams(bag,10,'NGramLengths',3)
ans=10×3 table
               Ngram                Count    NgramLength
    ____________________________    _____    ___________

    "thy"     "sweet"    "self"       4           3     
    "why"     "dost"     "thou"       4           3     
    "thy"     "self"     "thy"        3           3     
    "thou"    "thy"      "self"       3           3     
    "mine"    "eye"      "heart"      3           3     
    "thou"    "shalt"    "find"       3           3     
    "fair"    "kind"     "true"       3           3     
    "thou"    "art"      "fair"       2           3     
    "love"    "thy"      "self"       2           3     
    "thy"     "self"     "thou"       2           3     

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

свернуть все

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

Количество N-грамм, чтобы возвратиться в виде положительного целого числа.

Пример: 20

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

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

Пример: 'NgramLengths',[2 3] задает, чтобы возвратить главные биграммы и триграммы.

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

Если вы задаете NgramLengths, затем функция возвращает N-граммы этих длин только. Если вы не задаете NgramLengths, затем функция возвращает главные N-граммы независимо от длины.

Пример: [1 2 3]

Опция, чтобы игнорировать регистр в виде разделенной запятой пары, состоящей из 'IgnoreCase' и одно из следующего:

  • false – обработайте N-граммы, отличающиеся только случаем как отдельные N-граммы.

  • true – обработайте N-граммы, отличающиеся только случаем как та же n-грамма, и объедините количества.

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

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

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

свернуть все

Таблица главных N-грамм отсортирована в порядке частоты или массива ячеек таблиц.

Таблица имеет следующие столбцы:

NgramN-грамма, заданная как вектор строки
CountЧисло раз n-грамма появляется в мешке n модели граммов.
NgramLengthДлина n-граммы.

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

Введенный в R2018a