Я бы порекомендовал вам сначала преобразовать ваш PDF в нормализованный HTML, используя этот параметр:
"conversion_target": "normalized_html"
и проверьте сгенерированный HTML. Найдите места, где обнаруживаются заголовки (<h1>, <h2>, ..., <h6>
). Это теги, которые будут использоваться для разделения по единицам ответа, когда вы вернетесь к answer_units
. Причина, по которой вы в настоящее время видите каждую главу разделенной на блоки ответов, заключается в том, что каждая глава, вероятно, начинается с заголовка, но заголовки не обнаружены внутри каждой главы.
Чтобы создать больше блоков ответов, вам потребуется настроить входные конфигурации PDF, как описано здесь, чтобы на этапе преобразования PDF в HTML генерировалось больше заголовков и, следовательно, больше ответов генерируются единицы.
Например, следующая конфигурация будет обнаруживать заголовки на 6 разных уровнях на основе определенных характеристик шрифта для каждого уровня:
{
"conversion_target": "normalized_html",
"pdf": {
"heading": {
"fonts": [
{"level": 1, "min_size": 24},
{"level": 2, "min_size": 18, "max_size": 23, "bold": true},
{"level": 3, "min_size": 14, "max_size": 17, "italic": false},
{"level": 4, "min_size": 12, "max_size": 13, "name": "Times New Roman"},
{"level": 5, "min_size": 10, "max_size": 12, "bold": true},
{"level": 6, "min_size": 9, "max_size": 10, "bold": true}
]
}
}
}
Вы можете начать с такой конфигурации и продолжать настраивать ее до тех пор, пока созданный нормализованный HTML не будет содержать заголовки в тех местах, где, как вы ожидаете, должны быть блоки ответов. Затем возьмите измененную конфигурацию, переключитесь на answer_units
и соберите все вместе:
{
"conversion_target": "answer_units",
"answer_units": {
"selector_tags": ["h1", "h2", "h3", "h4", "h5", "h6"]
},
"pdf": {
"heading": {
"fonts": [
{"level": 1, "min_size": 24},
{"level": 2, "min_size": 18, "max_size": 23, "bold": true},
{"level": 3, "min_size": 14, "max_size": 17, "italic": false},
{"level": 4, "min_size": 12, "max_size": 13, "name": "Times New Roman"},
{"level": 5, "min_size": 10, "max_size": 12, "bold": true},
{"level": 6, "min_size": 9, "max_size": 10, "bold": true}
]
}
}
}
Что касается вашего второго вопроса о таблицах, к сожалению, нет возможности преобразовать содержимое таблицы в единицы ответа. Как объяснялось выше, генерация блоков ответов основана на обнаружении заголовка. При этом, если между двумя обнаруженными заголовками есть таблица, эта таблица будет частью блока ответов, как и любой другой контент между двумя заголовками.
person
Anton Prevosti
schedule
18.09.2017