topkngrams
빈도가 가장 높은 n-gram
설명
예제
Bag-of-n-grams 모델에서 빈도가 가장 높은 바이그램
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
Ngram Count NgramLength
________________ _____ ___________
"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
Ngram Count NgramLength
_________________ _____ ___________
"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
서로 다른 길이의 N-Gram 개수 계산하기
예제 데이터를 불러옵니다. 파일 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
Ngram Count NgramLength
_______________________ _____ ___________
"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
Ngram Count NgramLength
____________________________ _____ ___________
"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
— 입력 bag-of-n-grams 모델
bagOfNgrams
객체
입력 bag-of-n-grams 모델로, bagOfNgrams
객체로 지정됩니다.
k
— n-gram의 개수
양의 정수 | Inf
반환할 n-gram의 개수로, 양의 정수 또는 Inf
로 지정됩니다.
k
가 Inf
이면 함수는 모든 n-gram을 반환합니다. 입력이 bag-of-n-grams 모델과 LDA 모델이면, 함수는 각각 빈도 순과 중요도 순으로 n-gram을 정렬합니다.
예: 20
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 각 이름과 값을 쉼표로 구분하고 Name
을 따옴표로 묶으십시오.
예: 'NgramLengths',[2 3]
은 상위 바이그램과 상위 트라이그램을 반환하도록 지정합니다.
NgramLengths
— n-gram 길이
양의 정수 | 양의 정수로 구성된 벡터
n-gram 길이로, 'NgramLengths'
와 함께 양의 정수 또는 양의 정수로 구성된 벡터로 이루어진 쌍이 쉼표로 구분되어 지정됩니다.
NgramLengths
를 지정하면 이 함수는 해당 길이의 n-gram만 반환합니다. NgramLengths
를 지정하지 않으면 이 함수는 길이에 관계없이 상위 n-gram을 반환합니다.
예: [1 2 3]
IgnoreCase
— 대/소문자를 무시하는 옵션
false
(디폴트 값) | true
대/소문자를 무시하는 옵션으로, 'IgnoreCase'
와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.
false
– 대/소문자만 다른 n-gram을 별도의 n-gram으로 처리합니다.true
– 대/소문자만 다른 n-gram을 같은 n-gram으로 처리하여 개수를 합산합니다.
ForceCellOutput
— 출력을 셀형 배열로 반환하도록 하는 표시자
false
(디폴트 값) | true
출력을 셀형 배열로 반환하도록 하는 표시자로, 'ForceCellOutput'
과 함께 true
또는 false
로 구성된 쌍이 쉼표로 구분되어 지정됩니다.
데이터형: logical
출력 인수
tbl
— 상위 n-gram
테이블 | 테이블로 구성된 셀형 배열
상위 n-gram으로, 테이블 또는 테이블로 구성된 셀형 배열로 반환됩니다. 입력이 bag-of-n-grams 모델과 LDA 모델이면, 함수는 각각 빈도 순과 중요도 순으로 n-gram을 정렬합니다.
테이블에는 다음과 같은 열이 있습니다.
Ngram | string형 벡터로 지정된 n-gram |
Count | bag-of-n-grams 모델에서 n-gram이 나오는 횟수 |
NgramLength | n-gram의 길이 |
bag
이 스칼라가 아닌 배열이거나 'ForceCellOutput'
이 true
인 경우 이 함수는 출력값을 테이블로 구성된 셀형 배열로 반환합니다. 셀형 배열의 각 요소는 해당하는 bag
요소의 상위 n-gram을 포함하는 테이블입니다.
버전 내역
R2018a에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)