Чтение текста из 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 с помощью file datastore.
Создайте файл datastore для текстовых файлов сонета в качестве примера. Примеры сонетов имеют имена файлов "exampleSonnetN.txt
, "где N
- номер сонета. Задайте функцию read, которая будет 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
Закольцовывайте файлы в datastore и считывайте каждый файл. Токенизируйте текст в каждом файле и добавляйте документ в 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
больше не будет поддержки извлечение текста из Microsoft Word 97-2003 двоичных файлов DOCНе рекомендуемый запуск в R2020b
Поддержка извлечения текста из Microsoft® Word 97-2003 двоичные файлы DOC с использованием extractFileText
функция будет удалена в следующем релизе. Файлы Microsoft Word DOCX будут продолжать поддерживаться.
Чтобы извлечь текстовые данные из двоичных файлов DOC Microsoft Word 97-2003, сначала сохраните файл как PDF, Microsoft Word DOCX, HTML или обычный текстовый файл, затем используйте extractFileText
функция.
extractHTMLText
| readPDFFormData
| tokenizedDocument
| writeTextDocument
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.