Большинство частых 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
объектВведите мешок n модели граммов, заданной как 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]
'ForceCellOutput'
— Индикатор для принуждения выхода, который будет возвращен как массив ячеекfalse
(значение по умолчанию) | true
Индикатор для принуждения выхода, который будет возвращен как массив ячеек, заданный как запятая разделенная пара, состоящая из 'ForceCellOutput'
и true
или false
.
Типы данных: логический
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.