Добавление тегов части речи в документы
Использовать addPartOfSpeechDetails добавление тегов части речи в документы.
Функция поддерживает английский, японский, немецкий и корейский тексты.
обнаруживает части речи в updatedDocuments = addPartOfSpeechDetails(documents)documents и обновляет сведения о маркере. Функция по умолчанию перезакрашивает текст для тегирования части речи. Например, функция разбивает слово «you 're» на маркеры «you» и «' 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 | Если следующий маркер не является числом, то разрыв выполняется в конечном периоде. Если следующий маркер является числом, то не делайте перерыв в конечном периоде. | «рис». | "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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.