Детали лексем в маркируемом массиве документа
Создайте маркируемый массив документа.
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
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 verb
"increase" 1 1 1 letters en noun
"thereby" 1 1 1 letters en adverb
"beautys" 1 1 1 letters en verb
"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 | Форма леммы. Если эти детали отсутствуют, то первая лемма назначает в |
Поведение изменяется в R2018b
Начиная в R2018b, tokenizedDocument
обнаруживает символы эмодзи и tokenDetails
функционируйте сообщают эти лексемы с типом о "emoji"
. Это облегчает анализировать текст, содержащий символы эмодзи.
В R2018a, tokenDetails
символы эмодзи отчетов с типом "other"
. Найти индексы лексем с типом "emoji"
или "other"
, используйте индексы idx = tdetails.Type == "emoji" | tdetails.Type == "other"
, где tdetails
таблица маркерных деталей.
addEntityDetails
| addLanguageDetails
| addLemmaDetails
| addPartOfSpeechDetails
| addSentenceDetails
| addTypeDetails
| normalizeWords
| tokenizedDocument
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.