removeInfrequentNgrams

Удалите нечасто замеченные n-граммы из модели мешка n-граммов

Описание

пример

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

пример

newBag = removeInfrequentNgrams(bag,count,'NgramLengths',lengths) удаляет только n-граммы с длинами, заданными lengths. Функция по умолчанию чувствительна к регистру.

newBag = removeInfrequentNgrams(___,'IgnoreCase',true) удаляет n-граммы, которые появляются самое большее count время игнорирования случая. Если n-граммы различаются только по регистрам, то соответствующие счетчики объединяются.

Примеры

свернуть все

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

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

Создайте модель сумки n-граммов. Задайте, чтобы подсчитать биграммы (пары слов) и триграммы (тройки слов).

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

          Counts: [154x18022 double]
      Vocabulary: [1x3092 string]
          Ngrams: [18022x3 string]
    NgramLengths: [2 3]
       NumNgrams: 18022
    NumDocuments: 154

Удалите n-граммы любой длины, которые появляются два или меньше раз в общей сложности.

bag = removeInfrequentNgrams(bag,2)
bag = 
  bagOfNgrams with properties:

          Counts: [154x103 double]
      Vocabulary: [1x73 string]
          Ngrams: [103x3 string]
    NgramLengths: [2 3]
       NumNgrams: 103
    NumDocuments: 154

Удалите биграммы, которые появляются четыре или меньше раз в общей сложности.

bag = removeInfrequentNgrams(bag,4,'NgramLengths',2)
bag = 
  bagOfNgrams with properties:

          Counts: [154x41 double]
      Vocabulary: [1x30 string]
          Ngrams: [41x3 string]
    NgramLengths: [2 3]
       NumNgrams: 41
    NumDocuments: 154

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

свернуть все

Входная модель bag-of-n-gams, заданная как bagOfNgrams объект.

Порог счетчика, заданное как положительное целое число. Функция удаляет n-граммы, которые появляются count раз в общей сложности или меньше.

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

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

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

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

свернуть все

Выходная модель bag-of-n-gams, возвращенная как bagOfNgrams объект.

Введенный в R2018a