Наиболее частые n-граммы
задает дополнительные опции, используя один или несколько аргументы пары "имя-значение".tbl
= topkngrams(___,Name,Value
)
Составьте таблицу наиболее частых биграммов модели мешка n-граммов.
Загрузите данные примера. Файл sonnetsPreprocessed.txt
содержит предварительно обработанные версии сонетов Шекспира. Файл содержит по одному сонету на линию со словами, разделенными пространством. Извлеките текст из sonnetsPreprocessed.txt
разделите текст на документы в символах новой строки, а затем пометьте его токеном.
filename = "sonnetsPreprocessed.txt";
str = extractFileText(filename);
textData = split(str,newline);
documents = tokenizedDocument(textData);
Создайте модель сумки n-граммов.
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
Загрузите данные примера. Файл sonnetsPreprocessed.txt
содержит предварительно обработанные версии сонетов Шекспира. Файл содержит по одному сонету на линию со словами, разделенными пространством. Извлеките текст из sonnetsPreprocessed.txt
разделите текст на документы в символах новой строки, а затем пометьте его токеном.
filename = "sonnetsPreprocessed.txt";
str = extractFileText(filename);
textData = split(str,newline);
documents = tokenizedDocument(textData);
Создайте модель сумки n-граммов. Для подсчета n-граммов длины 2 и 3 (биграммы и триграммы) задайте '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
Просмотрите 10 наиболее распространенных n-граммов длины 2 (биграммы).
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
Просмотрите 10 наиболее распространенных n-граммов длины 3 (триграммы).
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
- Вход пакета n-граммовbagOfNgrams
объектВходная модель bag-of-n-gams, заданная как bagOfNgrams
объект.
k
- Количество n-граммовКоличество n-граммов для возврата, заданное как положительное целое число.
Пример: 20
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'NgramLengths',[2 3]
задает, чтобы вернуть верхние биграммы и триграммы.'NgramLengths'
- N-граммовые длиныДлины N-грамма, заданные как разделенная запятыми пара, состоящая из 'NgramLengths'
и положительное целое число или вектор положительных целых чисел.
Если вы задаете NgramLengths
, тогда функция возвращает n-граммы только этих длин. Если вы не задаете NgramLengths
, затем функция возвращает верхние n-граммы независимо от длины.
Пример: [1 2 3]
'IgnoreCase'
- Опция игнорировать случайfalse
(по умолчанию) | true
Опция игнорирования случая, заданная как разделенная разделенными запятой парами, состоящая из 'IgnoreCase'
и одно из следующих:
false
- обрабатывать n-граммы, различающиеся только в зависимости от случая, как отдельные n-граммы.
true
- обрабатывать n-граммы, различающиеся только по случаям, как те же n-граммы и счетчики слияния.
'ForceCellOutput'
- Индикатор для принудительного возврата выхода в виде массива ячеекfalse
(по умолчанию) | true
Индикатор для принудительного возврата выхода в виде массива ячеек, заданный как разделенная запятыми пара, состоящая из 'ForceCellOutput'
и true
или false
.
Типы данных: logical
tbl
- Таблица верхних n-граммовТаблица верхних n-граммов, отсортированных в порядке частоты, или массив ячеек из таблиц.
Таблица имеет следующие столбцы:
Ngram | N-грамм, заданный как строковый вектор |
Count | Количество раз, когда n-грамм появляется в модели мешка n-граммов. |
NgramLength | Длина n-грамма. |
Если bag
является некалярным массивом или 'ForceCellOutput'
является true
, затем функция возвращает выходы как массив ячеек из таблиц. Каждый элемент массива ячеек является таблицей, содержащей верхние n-граммы соответствующего элемента bag
.
bagOfNgrams
| bagOfWords
| removeInfrequentNgrams
| removeNgrams
| tfidf
| tokenizedDocument
| topkwords
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.