Добавление тегов части речи к документам
Использовать addPartOfSpeechDetails
для добавления тегов части речи к документам.
Функция поддерживает английский, японский, немецкий и корейский текст.
обнаруживает части речи в updatedDocuments
= addPartOfSpeechDetails(documents
)documents
и обновляет детали лексемы. Функция по умолчанию перезакенивает текст для маркировки части речи. Например, функция разделяет слово «вы» на лексемы «вы» и «'re». Чтобы получить детали части речи от updatedDocuments
, использование tokenDetails
.
задает дополнительные опции, используя один или несколько аргументы пары "имя-значение".updatedDocuments
= addPartOfSpeechDetails(documents
,Name,Value
)
Совет
Использовать addPartOfSpeechDetails
перед использованием lower
, upper
, erasePunctuation
, normalizeWords
, removeWords
, и removeStopWords
функционирует как addPartOfSpeechDetails
использует информацию, которая удаляется этими функциями.
Загрузите данные примера. Файл 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
Токенизация японского текста с помощью tokenizedDocument
.
str = [ "恋に悩み、苦しむ。" "恋の悩みで 苦しむ。" "空に星が輝き、瞬いている。" "空の星が輝きを増している。" "駅までは遠くて、歩けない。" "遠くの駅まで歩けない。" "すもももももももものうち。"]; documents = tokenizedDocument(str);
Для японского текста можно получить детали части речи с помощью tokenDetails
. Для английского текста необходимо сначала использовать addPartOfSpeechDetails
.
tdetails = tokenDetails(documents); head(tdetails)
ans=8×8 table
Token DocumentNumber LineNumber Type Language PartOfSpeech Lemma Entity
_______ ______________ __________ ___________ ________ ____________ _______ __________
"恋" 1 1 letters ja noun "恋" non-entity
"に" 1 1 letters ja adposition "に" non-entity
"悩み" 1 1 letters ja verb "悩む" non-entity
"、" 1 1 punctuation ja punctuation "、" non-entity
"苦しむ" 1 1 letters ja verb "苦しむ" non-entity
"。" 1 1 punctuation ja punctuation "。" non-entity
"恋" 2 1 letters ja noun "恋" non-entity
"の" 2 1 letters ja adposition "の" non-entity
Токенизация текста на немецком языке с помощью 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 .
Чтобы получить детали речи для текста на немецком языке, сначала используйте addPartOfSpeechDetails
.
documents = addPartOfSpeechDetails(documents);
Чтобы просмотреть детали речи, используйте tokenDetails
функция.
tdetails = tokenDetails(documents); head(tdetails)
ans=8×7 table
Token DocumentNumber SentenceNumber LineNumber Type Language PartOfSpeech
________ ______________ ______________ __________ ___________ ________ ____________
"Guten" 1 1 1 letters de adjective
"Morgen" 1 1 1 letters de noun
"." 1 1 1 punctuation de punctuation
"Wie" 1 2 1 letters de adverb
"geht" 1 2 1 letters de verb
"es" 1 2 1 letters de pronoun
"dir" 1 2 1 letters de pronoun
"?" 1 2 1 punctuation de punctuation
documents
- Входные документыtokenizedDocument
массивВходные документы, заданные как tokenizedDocument
массив.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'DiscardKnownValues',true
задает, чтобы отменить ранее вычисленные данные и пересчитать их.'RetokenizeMethod'
- Метод ретокенизации документов'part-of-speech'
(по умолчанию) | 'none'
Метод ретокенизации документов, заданный как одно из следующего:
'part-of-speech'
- Преобразуйте лексемы для маркировки части речи. Функция выполняет следующие задачи:
Разделите составные слова. Для примера разделите составное слово "wanna"
в лексемы "want"
и "to"
. Сюда входят составные слова, содержащие апострофы. Например, функция разделяет слово на "don't"
в лексемы "do"
и "n't"
.
Объедините периоды, которые не заканчивают предложения с предыдущими лексемами. Например, объедините лексемы "Mr"
и "."
в лексему "Mr."
.
Для текста на немецком языке объедините сокращения, охватывающие несколько лексемы. Например, объедините лексемы "z"
, "."
, "B"
, и "."
в одну лексему "z. B."
.
Объедините запуски периодов в эллипсы. Например, объедините три образцов "."
в одну лексему "..."
.
'none'
- Не переформулировать документы.
'Abbreviations'
- Список сокращенийСписок сокращений для обнаружения предложений, заданный как строковые массивы, вектор символов, массив ячеек векторы символов или таблица.
Если входные документы не содержат подробных данных предложения, то функция сначала запускает addSentenceDetails
функция и определяет список сокращений, заданный как 'Abbreviations'
. Чтобы задать дополнительные опции для обнаружения предложений (для примера, стартеров предложений), используйте addSentenceDetails
функция перед использованием addPartOfSpeechDetails
подробнее.
Если Abbreviations
- строковые массивы, вектор символов или массив ячеек из символьных векторов, затем функция рассматривает их как регулярные сокращения. Если следующее слово является заглавным стартером предложения, то функция прерывается в конечном периоде. Функция игнорирует любые различия в букве случае сокращений. Задайте стартеры предложений, используя Starters
Пара "имя-значение".
Чтобы задать другое поведение при разделении предложений в сокращениях, задайте Abbreviations
как таблица. Таблица должна иметь переменные с именем Abbreviation
и Usage
, где Abbreviation
содержит сокращения и Usage
содержит тип каждого сокращения. В следующей таблице описаны возможные значения Usage
, и поведение функции при прохождении сокращений этих типов.
Использование | Поведение | Пример сокращения | Пример текста | Обнаруженные предложения |
---|---|---|---|---|
regular | Если следующее слово является заглавным стартером предложения, то прерывание в конечном периоде. В противном случае не ломайтесь в конечный период. | «appt». | "Book an appt. We'll meet then." |
|
"Book an appt. today." | "Book an appt. today." | |||
inner | Не ломайтесь после окончания периода. | «Доктор». | "Dr. Smith." | "Dr. Smith." |
reference | Если следующая лексема не является числом, то прерывание происходит в конечный период. Если следующая лексема является числом, не ломайте его в конечный период. | «fig». | "See fig. 3." | "See fig. 3." |
"Try a fig. They are nice." |
| |||
unit | Если предыдущее слово является числом, а следующее слово является заглавным стартером предложения, то прерывание в конечном периоде. | «в». | "The height is 30 in. The width is 10 in." |
|
Если предыдущее слово является числом и следующее слово не заглавно, то не ломайтесь в конечный период. | "The item is 10 in. wide." | "The item is 10 in. wide." | ||
Если предыдущее слово не является числом, то ломайте в конечный период. | "Come in. Sit down." |
|
Значение по умолчанию является выходом abbreviations
функция. Для текста на японском и корейском языках сокращения обычно не влияют на обнаружение предложений.
Совет
По умолчанию функция рассматривает однобуквенные сокращения, такие как «V». или лексемы со смешанными одинарными буквами и периодами, такими как «U.S.A»., как регулярные сокращения. Вам не нужно включать эти сокращения в Abbreviations
.
Типы данных: char
| string
| table
| cell
'DiscardKnownValues'
- Опция отбросить ранее рассчитанные деталиfalse
(по умолчанию) | true
Опция отменить ранее вычисленные детали и пересчитать их, заданная как true
или false
.
Типы данных: logical
updatedDocuments
- Обновленные документыtokenizedDocument
массивОбновленные документы, возвращенные как tokenizedDocument
массив. Чтобы получить сведения о лексеме от updatedDocuments
, использование tokenDetails
.
addPartOfSpeechDetails
функция добавляет часть тегов речи к таблице, возвращаемой tokenDetails
функция. Функция помечает каждую лексему категориальным тегом с одним из следующих имен классов:
"adjective"
- Прилагательное
"adposition"
- Адпозиция
"adverb"
- Наречие
"auxiliary-verb"
- Вспомогательный глагол
"coord-conjunction"
- Координирующая связь
"determiner"
- Определитель
"interjection"
- Пересечение
"noun"
- Существительное
"numeral"
- Число
"particle"
- Частица
"pronoun"
- Местоимение
"proper-noun"
- Собственное существительное
"punctuation"
- Пунктуация
"subord-conjunction"
- Подчинение соединения
"symbol"
- Символ
"verb"
- Глагол
"other"
Другое
Если входные документы не содержат подробных данных предложения, то функция сначала запускается addSentenceDetails
.
addEntityDetails
| addLanguageDetails
| addLemmaDetails
| addSentenceDetails
| addTypeDetails
| normalizeWords
| tokenDetails
| tokenizedDocument
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.