Детали лексем в токенизированном массиве документов
Создайте токенизированный массив документов.
str = [ ... "This is an example document. It has two sentences." "This document has one sentence and an emoticon. :)" "Here is another example document. :D"]; documents = tokenizedDocument(str);
Просмотрите сведения о токене первых нескольких лексем.
tdetails = tokenDetails(documents); head(tdetails)
ans=8×5 table
Token DocumentNumber LineNumber Type Language
__________ ______________ __________ ___________ ________
"This" 1 1 letters en
"is" 1 1 letters en
"an" 1 1 letters en
"example" 1 1 letters en
"document" 1 1 letters en
"." 1 1 punctuation en
"It" 1 1 letters en
"has" 1 1 letters en
The type
переменная содержит тип каждой лексемы. Просмотрите смайлики в документах.
idx = tdetails.Type == "emoticon";
tdetails(idx,:)
ans=2×5 table
Token DocumentNumber LineNumber Type Language
_____ ______________ __________ ________ ________
":)" 2 1 emoticon en
":D" 3 1 emoticon en
Создайте токенизированный массив документов.
str = [ ... "This is an example document. It has two sentences." "This document has one sentence." "Here is another example document. It also has two sentences."]; documents = tokenizedDocument(str);
Добавьте подробные данные предложения к документам с помощью addSentenceDetails
. Эта функция добавляет номера предложений в таблицу, возвращаемую tokenDetails
. Просмотрите обновленные сведения о токене первых нескольких лексем.
documents = addSentenceDetails(documents); tdetails = tokenDetails(documents); head(tdetails)
ans=8×6 table
Token DocumentNumber SentenceNumber LineNumber Type Language
__________ ______________ ______________ __________ ___________ ________
"This" 1 1 1 letters en
"is" 1 1 1 letters en
"an" 1 1 1 letters en
"example" 1 1 1 letters en
"document" 1 1 1 letters en
"." 1 1 1 punctuation en
"It" 1 2 1 letters en
"has" 1 2 1 letters en
Просмотрите сведения о маркере второго предложения третьего документа.
idx = tdetails.DocumentNumber == 3 & ...
tdetails.SentenceNumber == 2;
tdetails(idx,:)
ans=6×6 table
Token DocumentNumber SentenceNumber LineNumber Type Language
___________ ______________ ______________ __________ ___________ ________
"It" 3 2 1 letters en
"also" 3 2 1 letters en
"has" 3 2 1 letters en
"two" 3 2 1 letters en
"sentences" 3 2 1 letters en
"." 3 2 1 punctuation en
Загрузите данные примера. Файл sonnetsPreprocessed.txt
содержит предварительно обработанные версии сонетов Шекспира. Файл содержит по одному сонету на линию со словами, разделенными пространством. Извлеките текст из sonnetsPreprocessed.txt
разделите текст на документы в символах новой строки, а затем пометьте его токеном.
filename = "sonnetsPreprocessed.txt";
str = extractFileText(filename);
textData = split(str,newline);
documents = tokenizedDocument(textData);
Просмотрите сведения о токене первых нескольких лексем.
tdetails = tokenDetails(documents); head(tdetails)
ans=8×5 table
Token DocumentNumber LineNumber Type Language
___________ ______________ __________ _______ ________
"fairest" 1 1 letters en
"creatures" 1 1 letters en
"desire" 1 1 letters en
"increase" 1 1 letters en
"thereby" 1 1 letters en
"beautys" 1 1 letters en
"rose" 1 1 letters en
"might" 1 1 letters en
Добавление части речи к документам с помощью addPartOfSpeechDetails
функция. Эта функция сначала добавляет информацию о предложении в документы, а затем добавляет часть тегов речи в таблицу, возвращаемую tokenDetails
. Просмотрите обновленные сведения о токене первых нескольких лексем.
documents = addPartOfSpeechDetails(documents); tdetails = tokenDetails(documents); head(tdetails)
ans=8×7 table
Token DocumentNumber SentenceNumber LineNumber Type Language PartOfSpeech
___________ ______________ ______________ __________ _______ ________ ______________
"fairest" 1 1 1 letters en adjective
"creatures" 1 1 1 letters en noun
"desire" 1 1 1 letters en noun
"increase" 1 1 1 letters en noun
"thereby" 1 1 1 letters en adverb
"beautys" 1 1 1 letters en noun
"rose" 1 1 1 letters en noun
"might" 1 1 1 letters en auxiliary-verb
documents
- Входные документыtokenizedDocument
массивВходные документы, заданные как tokenizedDocument
массив.
tdetails
- Подробная таблица маркеровТаблица деталей токена. tdetails
имеет следующие переменные:
Имя | Описание |
---|---|
Token | Текст маркера, возвращенный как строковый скаляр. |
DocumentNumber | Индекс документа, к которому принадлежит лексема, возвращается как положительное целое число. |
SentenceNumber | Число предложений, лексемы в документе, возвращаемое как положительное целое число. Если эти детали отсутствуют, сначала добавьте детали предложения в documents использование addSentenceDetails функция. |
LineNumber | Номер линии лексемы в документе, возвращенный как положительное целое число. |
Type | Тип лексемы, возвращенный как один из следующих:
Если эти сведения отсутствуют, сначала добавьте детали типа в |
Language | Язык лексемы, возвращенный как один из следующих:
Эти детали языка определяют поведение Если эти детали отсутствуют, сначала добавьте детали языка в Дополнительные сведения о поддержке языка в Text Analytics Toolbox™ см. в разделе Языковые факторы. |
PartOfSpeech | Часть речевого тега, заданная как категориальная из одного из следующих имен классов:
Если эти детали отсутствуют, сначала добавьте детали части речи к |
Entity | Тег сущности, заданный как один из следующих:
Если эти сведения отсутствуют, сначала добавьте сведения о сущности в |
Lemma | Форма леммы. Если эти детали отсутствуют, сначала детали леммы, чтобы |
tokenDetails
возвращает тип лексемы emoji
для символов emojiПоведение изменено в R2018b
Начиная с R2018b, tokenizedDocument
обнаруживает символы emoji и tokenDetails
функция сообщает об этих лексемах с типом "emoji"
. Это облегчает анализ текста, содержащего символы эмодзи.
В R2018a, tokenDetails
сообщает символы emoji с типом "other"
. Чтобы найти индексы лексем с типом "emoji"
или "other"
, используйте индексы idx = tdetails.Type == "emoji" | tdetails.Type == "other"
, где tdetails
представляет собой таблицу сведений о токене.
addEntityDetails
| addLanguageDetails
| addLemmaDetails
| addPartOfSpeechDetails
| addSentenceDetails
| addTypeDetails
| normalizeWords
| tokenizedDocument
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.