Как я могу сохранить нумерацию абзацев при извлечении текста из файла docx?
Я выполняю некоторые работы NLP-ML над кучей файлов docx, и для начала мне нужно разбить каждый do c на фрейм данных. Я работаю с контрактами, так что почти каждый абзац пронумерован, например, большая часть текста, с которым я имею дело, выглядит так:
1.17. Агент предоставит сопутствующие ресурсы, как указано в Приложении 3, бла-бла-бла
1.17.1. Агент обеспечит, чтобы сопутствующие ресурсы были бла бла бла
1.18. Ориентировочный профиль ресурса Authority изложен в бла-бла-бла.
et c
docx_summary()
функции пакета officer
размещает текст в кадре данных замечательно, за исключением того, что он не сохраняет нумерацию абзаца. В результате я получаю фрейм данных, где текст выглядит следующим образом:
The Agent will provide the attendant resources as set out in Annex 3 bla bla bla
The Agent will ensure that attendant resources are bla bla bla
An indicative Authority resource profile is set out in bla bla bla.
Я догадался, что это связано с тем, как Word определяет нумерацию как стиль, а не как простой текст, и я могу видеть в docx_summary()
output, переменная $style_name
имеет заголовки с 1 по 4 в соответствии с иерархией нумерации в docx. Но я не могу понять, как извлечь фактическую нумерацию и применить ее к каждому абзацу в docx_summary
выведенном фрейме данных.
Я хочу получить такой же docx_summary()
фрейм данных, но с добавленной нумерацией столбец, чтобы выглядеть так:
output_df <- data.frame(content_type = "paragraph", style_name = "heading 2", numbering = "1.17", text = "The Agent will provide the attendant resources as set out in Annex 3 bla bla bla")
> output_df
content_type style_name numbering text
1 paragraph heading 2 1.17 The Agent will provide the attendant resources as set out in Annex 3 bla bla bla
Любая помощь будет высоко ценится.