Чтение текста из файлов PDF, Microsoft Word, HTML и обычного текста
указывает дополнительные параметры, использующие один или несколько аргументов пары имя-значение.str = extractFileText(filename,Name,Value)
Извлечь текст из sonnets.txt использование extractFileText. Файл sonnets.txt содержит сонеты Шекспира открытым текстом.
str = extractFileText("sonnets.txt");Просмотр первого сонета.
i = strfind(str,"I"); ii = strfind(str,"II"); start = i(1); fin = ii(1); extractBetween(str,start,fin-1)
ans =
"I
From fairest creatures we desire increase,
That thereby beauty's rose might never die,
But as the riper should by time decease,
His tender heir might bear his memory:
But thou, contracted to thine own bright eyes,
Feed'st thy light's flame with self-substantial fuel,
Making a famine where abundance lies,
Thy self thy foe, to thy sweet self too cruel:
Thou that art now the world's fresh ornament,
And only herald to the gaudy spring,
Within thine own bud buriest thy content,
And tender churl mak'st waste in niggarding:
Pity the world, or else this glutton be,
To eat the world's due, by the grave and thee.
"
Извлечь текст из exampleSonnets.pdf использование extractFileText. Файл exampleSonnets.pdf содержит сонеты Шекспира в PDF-файле.
str = extractFileText("exampleSonnets.pdf");Просмотр второго сонета.
ii = strfind(str,"II"); iii = strfind(str,"III"); start = ii(1); fin = iii(1); extractBetween(str,start,fin-1)
ans =
"II
When forty winters shall besiege thy brow,
And dig deep trenches in thy beauty's field,
Thy youth's proud livery so gazed on now,
Will be a tatter'd weed of small worth held:
Then being asked, where all thy beauty lies,
Where all the treasure of thy lusty days;
To say, within thine own deep sunken eyes,
Were an all-eating shame, and thriftless praise.
How much more praise deserv'd thy beauty's use,
If thou couldst answer 'This fair child of mine
Shall sum my count, and make my old excuse,'
Proving his beauty by succession thine!
This were to be new made when thou art old,
And see thy blood warm when thou feel'st it cold.
"
Извлеките текст из страниц 3, 5 и 7 PDF-файла.
pages = [3 5 7]; str = extractFileText("exampleSonnets.pdf", ... 'Pages',pages);
Просмотр 10-го сонета.
x = strfind(str,"X"); xi = strfind(str,"XI"); start = x(1); fin = xi(1); extractBetween(str,start,fin-1)
ans =
"X
Is it for fear to wet a widow's eye,
That thou consum'st thy self in single life?
Ah! if thou issueless shalt hap to die,
The world will wail thee like a makeless wife;
The world will be thy widow and still weep
That thou no form of thee hast left behind,
When every private widow well may keep
By children's eyes, her husband's shape in mind:
Look! what an unthrift in the world doth spend
Shifts but his place, for still the world enjoys it;
But beauty's waste hath in the world an end,
And kept unused the user so destroys it.
No love toward others in that bosom sits
That on himself such murd'rous shame commits.
X
For shame! deny that thou bear'st love to any,
Who for thy self art so unprovident.
Grant, if thou wilt, thou art belov'd of many,
But that thou none lov'st is most evident:
For thou art so possess'd with murderous hate,
That 'gainst thy self thou stick'st not to conspire,
Seeking that beauteous roof to ruinate
Which to repair should be thy chief desire.
"
Если текстовые данные содержатся в нескольких файлах папки, можно импортировать текстовые данные в MATLAB с помощью хранилища данных файла.
Создайте хранилище данных файла для текстовых файлов примера сонета. Примеры сонетов имеют имена файлов "exampleSonnetN.txt", где N - номер сонета. Укажите функцию чтения, которая должна быть extractFileText.
readFcn = @extractFileText; fds = fileDatastore('exampleSonnet*.txt','ReadFcn',readFcn)
fds =
FileDatastore with properties:
Files: {
' .../tpd66a0468/textanalytics-ex73762432/exampleSonnet1.txt';
' .../tpd66a0468/textanalytics-ex73762432/exampleSonnet2.txt';
' .../tpd66a0468/textanalytics-ex73762432/exampleSonnet3.txt'
... and 1 more
}
Folders: {
' .../mlx_to_docbook5/tpd66a0468/textanalytics-ex73762432'
}
UniformRead: 0
ReadMode: 'file'
BlockSize: Inf
PreviewFcn: @extractFileText
SupportedOutputFormats: [1x16 string]
ReadFcn: @extractFileText
AlternateFileSystemRoots: {}
Создайте пустую модель пакета слов.
bag = bagOfWords
bag =
bagOfWords with properties:
Counts: []
Vocabulary: [1x0 string]
NumWords: 0
NumDocuments: 0
Закольцовывайте файлы в хранилище данных и считывайте каждый файл. Пометить текст в каждом файле и добавить документ в bag.
while hasdata(fds) str = read(fds); document = tokenizedDocument(str); bag = addDocument(bag,document); end
Просмотр обновленной модели сумки слов.
bag
bag =
bagOfWords with properties:
Counts: [4x276 double]
Vocabulary: [1x276 string]
NumWords: 276
NumDocuments: 4
Для извлечения текстовых данных непосредственно из кода HTML используйте extractHTMLText и укажите HTML-код в виде строки.
code = "<html><body><h1>THE SONNETS</h1><p>by William Shakespeare</p></body></html>";
str = extractHTMLText(code)str =
"THE SONNETS
by William Shakespeare"
filename - Имя файлаИмя файла, указанное как строковый скалярный или символьный вектор.
Типы данных: string | char
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'Pages',[1 3 5] определяет чтение страниц 1, 3 и 5 из PDF-файла.'Encoding' - Кодировка символов'auto' (по умолчанию) | 'UTF-8' | 'ISO-8859-1' | 'windows-1251' | 'windows-1252' | ...Кодировка символов для использования, указанная как разделенная запятыми пара, состоящая из 'Encoding' и вектор символов или строковый скаляр. Вектор символов или строковый скаляр должен содержать стандартное имя схемы кодирования символов, например следующее.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
Если схема кодирования не задана, то функция выполняет эвристическое автообнаружение для используемой кодировки. Эвристика зависит от языка. Если эти эвристики не выполняются, необходимо явно указать одну из них.
Этот параметр применяется только в том случае, если входным файлом является обычный текстовый файл.
Типы данных: char | string
'ExtractionMethod' - Метод извлечения'tree' (по умолчанию) | 'article' | 'all-text'Метод извлечения, указанный как разделенная запятыми пара, состоящая из 'ExtractionMethod' и одно из следующих:
| Выбор | Описание |
|---|---|
'tree' | Проанализируйте дерево DOM и содержимое текста, а затем извлеките блок абзацев. |
'article' | Обнаружение текста статьи и извлечение блока абзацев. |
'all-text' | Извлеките весь текст в тексте HTML, за исключением сценариев и стилей CSS. |
Этот параметр поддерживает только ввод файлов HTML.
'Password' - Пароль для открытия PDF-файлаПароль для открытия PDF-файла, указанный как разделенная запятыми пара, состоящая из 'Password' и вектор символов или строковый скаляр. Этот параметр применяется только в том случае, если входной файл является PDF.
Пример: 'Password','skroWhtaM'
Типы данных: char | string
'Pages' - Страницы для чтения из PDF-файлаСтраницы для чтения из PDF-файла, указанные как разделенная запятыми пара, состоящая из 'Pages' и вектор положительных целых чисел. Этот параметр применяется только в том случае, если входной файл является файлом PDF. По умолчанию функция считывает все страницы из PDF-файла.
Пример: 'Pages',[1 3 5]
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Для чтения текста непосредственно из HTML-кода используйте extractHTMLText.
extractFileText больше не будет поддерживать извлечение текста из двоичных файлов DOC Microsoft Word 97-2003Не рекомендуется начинать с R2020b
Поддержка извлечения текста из двоичных DOC-файлов Microsoft ® Word 97-2003 с помощью extractFileText функция будет удалена в следующей версии. Файлы Microsoft Word DOCX будут по-прежнему поддерживаться.
Чтобы извлечь текстовые данные из двоичных DOC-файлов Microsoft Word 97-2003, сначала сохраните файл как PDF, Microsoft Word DOCX, HTML или обычный текстовый файл, а затем используйте extractFileText функция.
extractHTMLText | readPDFFormData | tokenizedDocument | writeTextDocument
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.