Browse Source

refactor(para_split_v3): refine list block detection in paragraph splitting

- Update list block detection logic to require at least 2 numeric start lines
- Ensure the number of numeric start lines matches the number of end lines
- Remove detection of non-border starting lines for simplicity
myhloli 1 year ago
parent
commit
81b9fd7bdb
1 changed files with 1 additions and 1 deletions
  1. 1 1
      magic_pdf/para/para_split_v3.py

+ 1 - 1
magic_pdf/para/para_split_v3.py

@@ -166,7 +166,7 @@ def __is_list_or_index_block(block):
                             line[ListLineTag.IS_LIST_END_LINE] = True
                             line[ListLineTag.IS_LIST_END_LINE] = True
                             line_start_flag = True
                             line_start_flag = True
             # 一种有缩进的特殊有序list,start line 左侧不贴边且以数字开头,end line 以 IS_LIST_END_LINE 结尾且数量和start line 一致
             # 一种有缩进的特殊有序list,start line 左侧不贴边且以数字开头,end line 以 IS_LIST_END_LINE 结尾且数量和start line 一致
-            elif num_start_count == flag_end_count:  # 简单一点先不考虑左侧不贴边的情况
+            elif num_start_count >= 2 and num_start_count == flag_end_count:  # 简单一点先不考虑左侧不贴边的情况
                 for i, line in enumerate(block['lines']):
                 for i, line in enumerate(block['lines']):
                     if lines_text_list[i][0].isdigit():
                     if lines_text_list[i][0].isdigit():
                         line[ListLineTag.IS_LIST_START_LINE] = True
                         line[ListLineTag.IS_LIST_START_LINE] = True