다음을 통해 공유


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-gram을 생성할 때 사용할 최대 토큰 수를 지정하는 정수입니다. 기본값은 1입니다.

skipLength

n-gram을 생성할 때 건너뛸 최대 토큰 수를 지정하는 정수입니다. 건너뛰기 길이로 지정된 값이 k이면 n-gram은 최대 k개의 건너뛰기를 포함할 수 있습니다(반드시 연속되는 것은 아님). 예를 들어, k=2이면 텍스트 “the sky is blue today”에서 추출된 3-gram은 “the sky is”, “the sky blue”, “the sky today”, “the is blue”, “the is today”, “the blue today”입니다. 기본값은 0입니다.

maxNumTerms

사전에 포함할 최대 범주 수를 지정하는 정수입니다. 기본값은 10000000입니다.

weighting

가중치 조건을 지정하는 문자열입니다.

  • "tf": 용어 빈도를 사용합니다.
  • "idf": 역방향 문서 빈도를 사용합니다.
  • "tfidf": 용어 빈도와 역방향 문서 빈도를 둘 다 사용합니다.

hashBits

정수 값입니다. 해시할 비트 수입니다. 1에서 30(포함) 사이여야 합니다.

seed

정수 값입니다. 해시 시드입니다.

ordered

TRUE이면 해시에 각 용어의 위치가 포함됩니다. 그렇지 않으면 FALSE입니다. 기본값은 TRUE입니다.

invertHash

슬롯 이름을 생성하는 데 사용할 수 있는 키 수에 대한 제한을 지정하는 정수입니다. 0은 해시 반전이 없음을 의미하고, -1은 제한이 없음을 의미합니다. 값이 0이면 성능이 향상되지만 의미 있는 계수 이름을 얻으려면 0이 아닌 값이 필요합니다.

세부 정보

ngramCount를 사용하여 개수 기반 기능 추출을 위한 인수를 정의할 수 있습니다. ngramLength, skipLength, maxNumTerms, weighting 옵션을 허용합니다.

ngramHash를 사용하여 해시 기반 기능 추출을 위한 인수를 정의할 수 있습니다. ngramLength, skipLength, hashBits, seed, ordered, invertHash 옵션을 허용합니다.

변환을 정의하는 문자열입니다.

작성자

Microsoft Corporation 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)