exponenta event banner

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-grams. Укажите, чтобы считать биграммы (пары слов) и триграммы (тройки слов).

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

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

свернуть все

Входная модель мешка n-граммов, указанная как bagOfNgrams объект.

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

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

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

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

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

свернуть все

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

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