Поделиться через


ngram: средства извлечения признаков Машинного обучения

Средства извлечения признаков, которые можно использовать с mtText.

Использование

  ngramCount(ngramLength = 1, skipLength = 0, maxNumTerms = 1e+07,
    weighting = "tf")

  ngramHash(ngramLength = 1, skipLength = 0, hashBits = 16,
    seed = 314489979, ordered = TRUE, invertHash = 0)

Аргументы

ngramLength

Целое число, указывающее максимальное количество маркеров, нужное при создании n-граммы. Значение по умолчанию — 1.

skipLength

Целое число, указывающее максимальное количество маркеров, пропускаемых при создании n-граммы. Если значение, указанное как пропуск длины равно k, то n-граммы могут содержать до k пропусков (не обязательно подряд). Например, если k=2, из текста будут извлечены следующие 3-граммы: the sky is blue today: the sky is, the sky blue, the sky today, the is blue, the is today и the blue today. Значение по умолчанию — 0.

maxNumTerms

Целое число со знаком, определяющее максимальное количество категорий для включения в словарь. Значение по умолчанию — 10 000 000.

weighting

Строка символов, указывающая критерии взвешивания:

  • "tf" — для использования частоты терминов.
  • "idf" — для использования частоты инвертированного документа.
  • "tfidf" — для использования частоты терминов и частоты инвертированного документа.

hashBits

целое значение. Число битов в результирующем хэше. Должно находиться в диапазоне от 1 до 30 включительно.

seed

целое значение. Начальное значение хэширования.

ordered

TRUE для включения позиции каждого термина в хэш. В противном случае — значение FALSE. Значение по умолчанию — TRUE.

invertHash

Целое число, задающее ограничение на количество ключей, которые могут быть использованы для создания имени слота. Значение 0 означает отсутствие инверсии хэширования, а значение -1 — отсутствие ограничения. Хотя нулевое значение обеспечивает лучшую производительность, для получения осмысленных названий коэффициентов необходимо указать ненулевое значение.

Подробнее

ngramCount позволяет определять аргументы для извлечения признаков на основе подсчета. Принимает параметры ngramLength, skipLength, maxNumTerms и weighting.

ngramHash позволяет определять аргументы для извлечения признаков на основе хэширования. Принимает параметры ngramLength, skipLength, hashBits, seed, ordered и invertHash.

Значение

Строка символов, определяющая преобразование.

Авторы

Корпорация Майкрософт Microsoft Technical Support

См. также

featurizeText.

Примеры


  myData <- data.frame(opinion = c(
     "I love it!",
     "I love it!",
     "Love it!",
     "I love it a lot!",
     "Really love it!",
     "I hate it",
     "I hate it",
     "I hate it.",
     "Hate it",
     "Hate"),
     like = rep(c(TRUE, FALSE), each = 5),
     stringsAsFactors = FALSE)

 outModel1 <- rxLogisticRegression(like~opinionCount, data = myData, 
     mlTransforms = list(featurizeText(vars = c(opinionCount = "opinion"), 
         wordFeatureExtractor = ngramHash(invertHash = -1, hashBits = 3)))) 
 summary(outModel1)   

 outModel2 <- rxLogisticRegression(like~opinionCount, data = myData, 
     mlTransforms = list(featurizeText(vars = c(opinionCount = "opinion"), 
         wordFeatureExtractor = ngramCount(maxNumTerms = 5, weighting = "tf"))))         
 summary(outModel2)