Сохранение нумерации абзацев в docx с использованием пакета R Officer - PullRequest
0 голосов
/ 30 апреля 2020

Как я могу сохранить нумерацию абзацев при извлечении текста из файла 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

Любая помощь будет высоко ценится.

...