주요 콘텐츠

topkngrams

빈도가 가장 높은 n-gram

설명

tbl = topkngrams(bag)은 bag-of-n-grams 모델 bag에서 가장 높은 빈도로 나오는 5개의 n-gram이 나열된 테이블을 반환합니다. 이 함수는 기본적으로 대/소문자를 구분합니다.

예제

tbl = topkngrams(bag,k)는 bag-of-n-grams 모델 bag에서 가장 높은 빈도로 나오는 k개의 n-gram을 나열합니다. 이 함수는 기본적으로 대/소문자를 구분합니다.

예제

tbl = topkngrams(___,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 옵션을 추가로 지정합니다.

예제

예제

모두 축소

bag-of-n-grams 모델에서 빈도가 가장 높은 바이그램의 테이블을 만듭니다.

예제 데이터를 불러옵니다. 파일 sonnetsPreprocessed.txt에는 셰익스피어 소네트의 전처리된 버전이 들어 있습니다. 파일에는 한 줄에 하나씩 소네트가 들어 있으며 단어가 공백으로 구분되어 있습니다. sonnetsPreprocessed.txt에서 텍스트를 추출하고, 추출한 텍스트를 새 줄 문자에서 문서로 분할한 후 그 문서를 토큰화합니다.

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

bag-of-n-grams 모델을 만듭니다.

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
    "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
    "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);

bag-of-n-grams 모델을 만듭니다. 길이가 2(바이그램)인 n-gram과 3(트라이그램)인 n-gram 개수를 계산하려면 '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

가장 많이 나오는 길이 2(바이그램) n-gram을 10개 표시합니다.

topkngrams(bag,10,'NGramLengths',2)
ans=10×3 table
    "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

가장 많이 나오는 길이 3(트라이그램) n-gram을 10개 표시합니다.

 topkngrams(bag,10,'NGramLengths',3)
ans=10×3 table
    "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

입력 인수

모두 축소

입력 bag-of-n-grams 모델로, bagOfNgrams 객체로 지정됩니다.

반환할 n-gram의 개수로, 양의 정수 또는 Inf로 지정됩니다.

kInf이면 함수는 모든 n-gram을 반환합니다. 입력이 bag-of-n-grams 모델과 LDA 모델이면, 함수는 각각 빈도 순과 중요도 순으로 n-gram을 정렬합니다.

예: 20

이름-값 인수

모두 축소

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 각 이름과 값을 쉼표로 구분하고 Name을 따옴표로 묶으십시오.

예: 'NgramLengths',[2 3]은 상위 바이그램과 상위 트라이그램을 반환하도록 지정합니다.

n-gram 길이로, 'NgramLengths'와 함께 양의 정수 또는 양의 정수로 구성된 벡터로 이루어진 쌍이 쉼표로 구분되어 지정됩니다.

NgramLengths를 지정하면 이 함수는 해당 길이의 n-gram만 반환합니다. NgramLengths를 지정하지 않으면 이 함수는 길이에 관계없이 상위 n-gram을 반환합니다.

예: [1 2 3]

대/소문자를 무시하는 옵션으로, 'IgnoreCase'와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

  • false – 대/소문자만 다른 n-gram을 별도의 n-gram으로 처리합니다.

  • true – 대/소문자만 다른 n-gram을 같은 n-gram으로 처리하여 개수를 합산합니다.

출력을 셀형 배열로 반환하도록 하는 표시자로, 'ForceCellOutput'과 함께 true 또는 false로 구성된 쌍이 쉼표로 구분되어 지정됩니다.

데이터형: logical

출력 인수

모두 축소

상위 n-gram으로, 테이블 또는 테이블로 구성된 셀형 배열로 반환됩니다. 입력이 bag-of-n-grams 모델과 LDA 모델이면, 함수는 각각 빈도 순과 중요도 순으로 n-gram을 정렬합니다.

테이블에는 다음과 같은 열이 있습니다.

Ngramstring형 벡터로 지정된 n-gram
Countbag-of-n-grams 모델에서 n-gram이 나오는 횟수
NgramLengthn-gram의 길이

bag이 스칼라가 아닌 배열이거나 'ForceCellOutput'true인 경우 이 함수는 출력값을 테이블로 구성된 셀형 배열로 반환합니다. 셀형 배열의 각 요소는 해당하는 bag 요소의 상위 n-gram을 포함하는 테이블입니다.

버전 내역

R2018a에 개발됨