Массив токенизированных документов для анализа текста
Токенизированный документ является документом, представленным как набор слов (также известный как tokens), который используется для анализа текста.
Используйте токенизированные документы для:
Обнаружение сложных лексем в тексте, таких как веб-адреса, смайлики, эмодзи и хештеги.
Удалите слова, такие как стоповые слова, используя removeWords
или removeStopWords
функций.
Выполните задачи предварительной обработки на уровне слов, такие как стемминг или лемматизация, используя normalizeWords
функция.
Анализируйте частоты слов и n-граммов с помощью bagOfWords
и bagOfNgrams
объекты.
Добавьте предложение и часть речи детали, используя addSentenceDetails
и addPartOfSpeechDetails
функций.
Добавить теги сущностей используя addEntityDetails
функция.
Просмотрите подробности о лексемах используя tokenDetails
функция.
Функция поддерживает английский, японский, немецкий и корейский текст. Чтобы узнать, как использовать tokenizedDocument
для других языков см. «Языковые факторы».
создает скаляр документ без лексем.documents
= tokenizedDocument
токенизирует элементы массива строковых массивов и возвращает токенизированный массив документов.documents
= tokenizedDocument(str
)
задает дополнительные опции, используя один или несколько аргументы пары "имя-значение".documents
= tokenizedDocument(str
,Name,Value
)
str
- Входной текстВход текст, заданный как строковый массив, вектор символов, массив ячеек векторов символов или массив ячеек строковых массивов.
Если входной текст еще не был разделен на слова, то str
должен быть строковыми массивами, вектором символов, массивом ячеек векторов символов или массивом ячеек из строковых скаляров.
Пример: ["an example of a short document";"a second short document"]
Пример: 'an example of a single document'
Пример: {'an example of a short document';'a second short document'}
Если входной текст уже был разделен на слова, задайте 'TokenizeMethod'
чтобы быть 'none'
. Если str
содержит один документ, тогда это должен быть строковый вектор слов, массив ячеек строк из векторов символов или массив ячеек, содержащий один строковый вектор слов. Если str
содержит несколько документов, тогда это должен быть массив ячеек из строковых массивов.
Пример: ["an" "example" "document"]
Пример: {'an','example','document'}
Пример: {["an" "example" "of" "a" "short" "document"]}
Пример: {["an" "example" "of" "a" "short" "document"];["a" "second" "short" "document"]}
Типы данных: string
| char
| cell
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'DetectPatterns',{'email-address','web-address'}
обнаруживает адреса электронной почты и веб-адреса'TokenizeMethod'
- Метод токенизации документов'unicode'
| 'mecab'
| mecabOptions
| объекта 'none'
Метод токенизации документов, заданный как разделенная разделенными запятой парами, состоящая из 'TokenizeMethod'
и одно из следующих:
'unicode'
- Токенизация входного текста с помощью правил, основанных на Юникоде® Стандартное приложение № 29 [1] и токенизатор ICU [2]. Если str
- массив ячеек, затем элементы str
должны быть строковыми скалярами или векторами символов. Если 'Language'
является 'en'
или 'de'
, затем 'unicode'
является значением по умолчанию.
'mecab'
- Токенизация текста на японском и корейском языках с помощью токенизатора MeCab [3]. Если 'Language'
является 'ja'
или 'ko'
, затем 'mecab'
является значением по умолчанию.
mecabOptions
объект - Токенизация японского и корейского текста с помощью опций MeCab, заданных mecabOptions
объект.
'none'
- Не токенизируйте входной текст.
Если входной текст уже был разделен на слова, задайте 'TokenizeMethod'
чтобы быть 'none'
. Если str
содержит один документ, тогда это должен быть строковый вектор слов, массив ячеек строк из векторов символов или массив ячеек, содержащий один строковый вектор слов. Если str
содержит несколько документов, тогда это должен быть массив ячеек из строковых массивов.
'DetectPatterns'
- Шаблоны сложных лексем для обнаружения'all'
(по умолчанию) | вектор символов | строковые массивы | массив ячеек из векторов символовШаблоны сложных лексем для обнаружения, заданные как разделенная разделенными запятой парами, состоящая из 'DetectPatterns'
и 'none'
, 'all'
или строку или массив ячеек, содержащий одно или несколько из следующих.
'email-address'
- Обнаружение адресов электронной почты. Для примера обработки "user@domain.com"
как одна лексема.
'web-address'
- Обнаружение веб-адресов. Для примера обработки "https://www.mathworks.com"
как одна лексема.
'hashtag'
- Обнаружение хештегов. Для примера обработки "#MATLAB"
как одна лексема.
'at-mention'
- Обнаружение упоминаний. Для примера обработки "@MathWorks"
как одна лексема.
'emoticon'
- Обнаружение смайликов. Для примера обработки ":-D"
как одна лексема.
Если DetectPatterns
является 'none'
, тогда функция не обнаруживает сложных шаблонов токенов. Если DetectPatterns
является 'all'
затем функция обнаруживает все перечисленные сложные шаблоны токенов.
Пример: 'DetectPatterns','hashtag'
Пример: 'DetectPatterns',{'email-address','web-address'}
Типы данных: char
| string
| cell
'CustomTokens'
- Пользовательские лексемы для обнаружения''
(по умолчанию) | строковые массивы | вектор символов | ячеек из векторов символов | таблицаПользовательские лексемы для обнаружения, заданные как разделенная разделенными запятой парами, состоящая из 'CustomTokens'
и одно из следующих.
Массив строковых массивов, вектора символов или ячеек векторов символов, содержащий пользовательские лексемы.
Таблица, содержащая пользовательские лексемы в столбце с именем Token
и соответствующая лексема вводит столбец с именем Type
.
Если вы задаете пользовательские лексемы как строковые массивы, вектор символов или массив ячеек векторов символов, то функция присваивает тип токена "custom"
. Чтобы задать пользовательский тип лексемы, используйте вход таблицы. Чтобы просмотреть типы лексем, используйте tokenDetails
функция.
Пример: 'CustomTokens',["C++" "C#"]
Типы данных: char
| string
| table
| cell
'RegularExpressions'
- Регулярные выражения для обнаружения''
(по умолчанию) | строковые массивы | вектор символов | ячеек из векторов символов | таблицаРегулярные выражения для обнаружения, заданные как разделенная разделенными запятой парами, состоящая из 'RegularExpressions'
и одно из следующих.
Строковые массивы, вектор символов или массив ячеек из символьных векторов, содержащих регулярные выражения.
Таблица, содержащая регулярные выражения в столбце с именем Pattern
и соответствующие типы лексем в столбце с именем Type
.
Если вы задаете регулярные выражения как строковые массивы, вектор символов или массив ячеек векторов символов, то функция присваивает тип токена "custom"
. Чтобы задать пользовательский тип лексемы, используйте вход таблицы. Чтобы просмотреть типы лексем, используйте tokenDetails
функция.
Пример: 'RegularExpressions',["ver:\d+" "rev:\d+"]
Типы данных: char
| string
| table
| cell
'TopLevelDomains'
- области верхнего уровня, используемые для обнаружения веб-адресовОбласти верхнего уровня для обнаружения веб-адресов, заданные как разделенная разделенными запятой парами, состоящая из 'TopLevelDomains'
и вектор символов, строковые массивы или массив ячеек из векторов символов. По умолчанию функция использует выход topLevelDomains
.
Эта опция применяется только в том случае 'DetectPatterns'
является 'all'
или содержит 'web-address'
.
Пример: 'TopLevelDomains',["com" "net" "org"]
Типы данных: char
| string
| cell
'Language'
- Язык'en'
| 'ja'
| 'de'
| 'ko'
Язык, заданный как разделенная разделенными запятой парами, состоящая из 'Language'
и одно из следующих.
'en'
- английский. Эта опция также устанавливает значение по умолчанию для 'TokenizeMethod'
на 'unicode'
.
'ja'
- японский. Эта опция также устанавливает значение по умолчанию для 'TokenizeMethod'
на 'mecab'
.
'de'
- немецкий. Эта опция также устанавливает значение по умолчанию для 'TokenizeMethod'
на 'unicode'
.
'ko'
- корейский. Эта опция также устанавливает значение по умолчанию для 'TokenizeMethod'
на 'mecab'
.
Если вы не задаете значение, то функция обнаруживает язык из входа текста, используя corpusLanguage
функция.
Эта опция задает подробные сведения о языке лексем. Чтобы просмотреть подробные сведения о языке лексем, используйте tokenDetails
. Эти детали языка определяют поведение removeStopWords
, addPartOfSpeechDetails
, normalizeWords
, addSentenceDetails
, и addEntityDetails
функций на лексемах.
Дополнительные сведения о поддержке языка в Text Analytics Toolbox™ см. в разделе Языковые факторы.
Пример: 'Language','ja'
Vocabulary
- Уникальные слова в документахУникальные слова в документах, заданные как строковые массивы. Слова не появляются в каком-либо конкретном порядке.
Типы данных: string
erasePunctuation | Удалите пунктуацию из текста и документов |
removeStopWords | Удалите стоповые слова из документов |
removeWords | Удалите выбранные слова из документов или модели мешка слов |
normalizeWords | Определите корень или лемматизируйте слова |
correctSpelling | Правильное написание слов |
replaceWords | Заменить слова в документах |
replaceNgrams | Замените n-граммы в документах |
removeEmptyDocuments | Удалите пустые документы из токенизированного массива документов, модели мешка слов или модели мешка n-граммов |
lower | Преобразование документов в строчные |
upper | Преобразование документов в заглавные |
tokenDetails | Детали лексем в токенизированном массиве документов |
addSentenceDetails | Добавьте номера предложений к документам |
addPartOfSpeechDetails | Добавление тегов части речи к документам |
addLanguageDetails | Добавление идентификаторов языков к документам |
addTypeDetails | Добавление сведений о типах лексем в документы |
addLemmaDetails | Добавьте лемма-формы лексем к документам |
addEntityDetails | Добавление тегов сущностей к документам |
writeTextDocument | Запись документов в текстовый файл |
doclength | Длина документов в массиве документов |
context | Поиск документов по вхождениям слов или n-граммов в контексте |
joinWords | Преобразование документов в строки путем соединения слов |
doc2cell | Преобразуйте документы в массив ячеек из строковых векторов |
string | Преобразуйте скалярный документ в строковый вектор |
plus | Добавление документов |
replace | Замените подстроки в документах |
docfun | Применить функцию к словам в документах |
regexprep | Замените текст в словах документов с помощью регулярного выражения |
wordcloud | Создайте график облака слов из текста, модели мешка слов, модели мешка n-граммов или модели LDA |
Создайте токенизированные документы из строковых массивов.
str = [ "an example of a short sentence" "a second short sentence"]
str = 2x1 string
"an example of a short sentence"
"a second short sentence"
documents = tokenizedDocument(str)
documents = 2x1 tokenizedDocument: 6 tokens: an example of a short sentence 4 tokens: a second short sentence
Создайте токенизированный документ из строкового str
. По умолчанию функция обрабатывает хэштег "#MATLAB"
, смайлики ":-D"
и веб-адрес "https://www.mathworks.com/help"
как одиночные лексемы.
str = "Learn how to analyze text in #MATLAB! :-D see https://www.mathworks.com/help/";
document = tokenizedDocument(str)
document = tokenizedDocument: 11 tokens: Learn how to analyze text in #MATLAB ! :-D see https://www.mathworks.com/help/
Чтобы обнаружить только хэштеги как сложные лексемы, задайте 'DetectPatterns'
опция, которая будет 'hashtag'
только. Затем функция токенизирует смайлики ":-D"
и веб-адрес "https://www.mathworks.com/help"
в несколько лексемы.
document = tokenizedDocument(str,'DetectPatterns','hashtag')
document = tokenizedDocument: 24 tokens: Learn how to analyze text in #MATLAB ! : - D see https : / / www . mathworks . com / help /
Удалите стоповые слова из массива документов с помощью removeStopWords
. The tokenizedDocument
функция обнаруживает, что документы на английском языке, поэтому removeStopWords
удаляет английские стоп-слова.
documents = tokenizedDocument([ "an example of a short sentence" "a second short sentence"]); newDocuments = removeStopWords(documents)
newDocuments = 2x1 tokenizedDocument: 3 tokens: example short sentence 3 tokens: second short sentence
Стройте слова в массиве документов с помощью стеммера Портера.
documents = tokenizedDocument([ "a strongly worded collection of words" "another collection of words"]); newDocuments = normalizeWords(documents)
newDocuments = 2x1 tokenizedDocument: 6 tokens: a strongli word collect of word 4 tokens: anoth collect of word
The tokenizedDocument
функция по умолчанию разделяет слова и лексемы, которые содержат символы. Например, функция разделяет «C++» и «C #» на несколько лексемы.
str = "I am experienced in MATLAB, C++, and C#.";
documents = tokenizedDocument(str)
documents = tokenizedDocument: 14 tokens: I am experienced in MATLAB , C + + , and C # .
Чтобы предотвратить разделение лексем, содержащих символы, задайте пользовательские лексемы с помощью 'CustomTokens'
опция.
documents = tokenizedDocument(str,'CustomTokens',["C++" "C#"])
documents = tokenizedDocument: 11 tokens: I am experienced in MATLAB , C++ , and C# .
Пользовательские лексемы имеют тип "custom"
. Просмотрите сведения о лексеме. Столбец Type
содержит типы лексем.
tdetails = tokenDetails(documents)
tdetails=11×5 table
Token DocumentNumber LineNumber Type Language
_____________ ______________ __________ ___________ ________
"I" 1 1 letters en
"am" 1 1 letters en
"experienced" 1 1 letters en
"in" 1 1 letters en
"MATLAB" 1 1 letters en
"," 1 1 punctuation en
"C++" 1 1 custom en
"," 1 1 punctuation en
"and" 1 1 letters en
"C#" 1 1 custom en
"." 1 1 punctuation en
Чтобы задать свои собственные типы лексем, введите пользовательские лексемы как таблицу с лексемами в столбце с именем Token
, и типы в столбце с именем Type
. Чтобы назначить пользовательский тип лексеме, который не включает символы, включите также в таблицу. Например, создайте таблицу, которая присвоит «MATLAB», «C++» и «C #» "programming-language"
тип токена.
T = table; T.Token = ["MATLAB" "C++" "C#"]'; T.Type = ["programming-language" "programming-language" "programming-language"]'
T=3×2 table
Token Type
________ ______________________
"MATLAB" "programming-language"
"C++" "programming-language"
"C#" "programming-language"
Токенизируйте текст с помощью таблицы пользовательских лексем и просмотрите детали лексемы.
documents = tokenizedDocument(str,'CustomTokens',T);
tdetails = tokenDetails(documents)
tdetails=11×5 table
Token DocumentNumber LineNumber Type Language
_____________ ______________ __________ ____________________ ________
"I" 1 1 letters en
"am" 1 1 letters en
"experienced" 1 1 letters en
"in" 1 1 letters en
"MATLAB" 1 1 programming-language en
"," 1 1 punctuation en
"C++" 1 1 programming-language en
"," 1 1 punctuation en
"and" 1 1 letters en
"C#" 1 1 programming-language en
"." 1 1 punctuation en
The tokenizedDocument
функция по умолчанию разделяет слова и лексемы, содержащие символы. Например, функция разделяет текст "ver:2"
в несколько лексемы.
str = "Upgraded to ver:2 rev:3.";
documents = tokenizedDocument(str)
documents = tokenizedDocument: 9 tokens: Upgraded to ver : 2 rev : 3 .
Чтобы предотвратить разделение лексем с определенными шаблонами, задайте эти шаблоны, используя 'RegularExpressions'
опция.
Задайте регулярные выражения, чтобы обнаружить лексемы, обозначающие номера версий и ревизий: строки цифр, появляющиеся после "ver:"
и "rev:"
соответственно.
documents = tokenizedDocument(str,'RegularExpressions',["ver:\d+" "rev:\d+"])
documents = tokenizedDocument: 5 tokens: Upgraded to ver:2 rev:3 .
Пользовательские лексемы по умолчанию имеют тип "custom"
. Просмотрите сведения о лексеме. Столбец Type
содержит типы лексем.
tdetails = tokenDetails(documents)
tdetails=5×5 table
Token DocumentNumber LineNumber Type Language
__________ ______________ __________ ___________ ________
"Upgraded" 1 1 letters en
"to" 1 1 letters en
"ver:2" 1 1 custom en
"rev:3" 1 1 custom en
"." 1 1 punctuation en
Чтобы задать свои собственные типы лексем, введите регулярные выражения как таблицу с регулярными выражениями в столбце с именем Pattern
и типы лексем в столбце с именем Type
.
T = table; T.Pattern = ["ver:\d+" "rev:\d+"]'; T.Type = ["version" "revision"]'
T=2×2 table
Pattern Type
_________ __________
"ver:\d+" "version"
"rev:\d+" "revision"
Токенизируйте текст с помощью таблицы пользовательских лексем и просмотрите детали лексемы.
documents = tokenizedDocument(str,'RegularExpressions',T);
tdetails = tokenDetails(documents)
tdetails=5×5 table
Token DocumentNumber LineNumber Type Language
__________ ______________ __________ ___________ ________
"Upgraded" 1 1 letters en
"to" 1 1 letters en
"ver:2" 1 1 version en
"rev:3" 1 1 revision en
"." 1 1 punctuation en
Загрузите данные примера. Файл sonnetsPreprocessed.txt
содержит предварительно обработанные версии сонетов Шекспира. Файл содержит по одному сонету на линию со словами, разделенными пространством. Извлеките текст из sonnetsPreprocessed.txt
разделите текст на документы в символах новой строки, а затем пометьте его токеном.
filename = "sonnetsPreprocessed.txt";
str = extractFileText(filename);
textData = split(str,newline);
documents = tokenizedDocument(textData);
Поиск слова «жизнь».
tbl = context(documents,"life");
head(tbl)
ans=8×3 table
Context Document Word
________________________________________________________ ________ ____
"consumst thy self single life ah thou issueless shalt " 9 10
"ainted counterfeit lines life life repair times pencil" 16 35
"d counterfeit lines life life repair times pencil pupi" 16 36
" heaven knows tomb hides life shows half parts write b" 17 14
"he eyes long lives gives life thee " 18 69
"tender embassy love thee life made four two alone sink" 45 23
"ves beauty though lovers life beauty shall black lines" 63 50
"s shorn away live second life second head ere beautys " 68 27
Просмотрите вхождения в строковые массивы.
tbl.Context
ans = 23x1 string
"consumst thy self single life ah thou issueless shalt "
"ainted counterfeit lines life life repair times pencil"
"d counterfeit lines life life repair times pencil pupi"
" heaven knows tomb hides life shows half parts write b"
"he eyes long lives gives life thee "
"tender embassy love thee life made four two alone sink"
"ves beauty though lovers life beauty shall black lines"
"s shorn away live second life second head ere beautys "
"e rehearse let love even life decay lest wise world lo"
"st bail shall carry away life hath line interest memor"
"art thou hast lost dregs life prey worms body dead cow"
" thoughts food life sweetseasond showers gro"
"tten name hence immortal life shall though once gone w"
" beauty mute others give life bring tomb lives life fa"
"ve life bring tomb lives life fair eyes poets praise d"
" steal thyself away term life thou art assured mine li"
"fe thou art assured mine life longer thy love stay dep"
" fear worst wrongs least life hath end better state be"
"anst vex inconstant mind life thy revolt doth lie o ha"
" fame faster time wastes life thou preventst scythe cr"
"ess harmful deeds better life provide public means pub"
"ate hate away threw savd life saying "
" many nymphs vowd chaste life keep came tripping maide"
Токенизация японского текста с помощью tokenizedDocument
. Функция автоматически обнаруживает японский текст.
str = [ "恋に悩み、苦しむ。" "恋の悩みで苦しむ。" "空に星が輝き、瞬いている。" "空の星が輝きを増している。"]; documents = tokenizedDocument(str)
documents = 4x1 tokenizedDocument: 6 tokens: 恋 に 悩み 、 苦しむ 。 6 tokens: 恋 の 悩み で 苦しむ 。 10 tokens: 空 に 星 が 輝き 、 瞬い て いる 。 10 tokens: 空 の 星 が 輝き を 増し て いる 。
Токенизация текста на немецком языке с помощью tokenizedDocument
. Функция автоматически обнаруживает немецкий текст.
str = [ "Guten Morgen. Wie geht es dir?" "Heute wird ein guter Tag."]; documents = tokenizedDocument(str)
documents = 2x1 tokenizedDocument: 8 tokens: Guten Morgen . Wie geht es dir ? 6 tokens: Heute wird ein guter Tag .
The tokenizedDocument
функция имеет встроенные правила только для английского, японского, немецкого и корейского языков. Для английского и немецкого текста, 'unicode'
метод токенизации tokenizedDocument
обнаруживает лексемы с помощью правил, основанных на Стандартном приложении Unicode # 29 [1] и токенизаторе ICU [2], измененных для лучшего обнаружения сложнейшие лексемы, таких как хэштеги и URL. Для японского и корейского текста, 'mecab'
метод токенизации обнаруживает лексемы с помощью правил на основе токенизатора MeCab [3].
Для других языков все еще можно попробовать использовать tokenizedDocument
. Если tokenizedDocument
не приводит к полезным результатам, затем попробуйте выполнить маркировку текста вручную. Как создать tokenizedDocument
массив из вручную токенизированного текста, установите 'TokenizeMethod'
опция для 'none'
.
Дополнительные сведения см. в разделе Языковые факторы.
tokenizedDocument
обнаруживает корейский языкПоведение изменено в R2019b
Начиная с R2019b, tokenizedDocument
обнаруживает корейский язык и устанавливает 'Language'
опция для 'ko'
. Это изменяет поведение по умолчанию для addSentenceDetails
, addPartOfSpeechDetails
, removeStopWords
, и normalizeWords
функции для ввода корейского документа. Это изменение позволяет программному обеспечению использовать для анализа специфичные для Кореи правила и списки слов. Если tokenizedDocument
неправильно обнаруживает текст как корейский, затем можно задать язык вручную, установив 'Language'
пара "имя-значение" tokenizedDocument
.
В предыдущих версиях tokenizedDocument
обычно обнаруживает корейский текст как английский и устанавливает 'Language'
опция для 'en'
. Чтобы воспроизвести это поведение, вручную установите 'Language'
пара "имя-значение" tokenizedDocument
на 'en'
.
tokenizedDocument
обнаруживает смайликиПоведение изменено в R2018b
Начиная с R2018b, tokenizedDocument
, по умолчанию обнаруживает лексемы смайликов. Такое поведение облегчает анализ текста, содержащего смайлики.
В R2017b и R2018a, tokenizedDocument
разделяет лексемы смайликов на несколько лексемы. Чтобы воспроизвести это поведение, в tokenizedDocument
, задайте 'DetectPatterns'
опция, которая будет {'email-address','web-address','hashtag','at-mention'}
.
tokenDetails
возвращает тип лексемы emoji
для символов emojiПоведение изменено в R2018b
Начиная с R2018b, tokenizedDocument
обнаруживает символы emoji и tokenDetails
функция сообщает об этих лексемах с типом "emoji"
. Это облегчает анализ текста, содержащего символы эмодзи.
В R2018a, tokenDetails
сообщает символы emoji с типом "other"
. Чтобы найти индексы лексем с типом "emoji"
или "other"
, используйте индексы idx = tdetails.Type == "emoji" | tdetails.Type == "other"
, где tdetails
представляет собой таблицу сведений о токене.
tokenizedDocument
не разделяет символы косой черты и двоеточия между цифрамиПоведение изменено в R2018b
Начиная с R2018b, tokenizedDocument
не разделяет символы косой черты, обратной косой черты или двоеточия, когда они появляются между двумя цифрами. Это поведение дает лучшие результаты при токенизации текста, содержащего даты и времена.
В предыдущих версиях tokenizedDocument
разделяет эти символы. Чтобы воспроизвести поведение, пометьте текст вручную или вставьте пробелы вокруг символов косой черты, обратной косой черты и двоеточия перед использованием tokenizedDocument
.
[1] Сегментация текста в кодировке Юникод. https://www.unicode.org/reports/tr29/
[2] Краевой анализ. http://userguide.icu-project.org/boundaryanalysis
[3] MeCab: еще одна часть речи и морфологический анализатор. https://taku910.github.io/mecab/
addEntityDetails
| addPartOfSpeechDetails
| addSentenceDetails
| bagOfNgrams
| bagOfWords
| context
| joinWords
| normalizeWords
| removeEmptyDocuments
| removeStopWords
| removeWords
| replaceNgrams
| replaceWords
| tokenDetails
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.