我目前正在使用以下输入参数对docx文件进行分区处理:
{
"filename": "document.docx",
"response_type": "application/json",
"coordinates": false,
"encoding": "utf-8",
"hi_res_model_name": null,
"include_page_breaks": false,
"ocr_languages": null,
"pdf_infer_table_structure": true,
"skip_infer_table_types": ["pdf"],
"strategy": "auto",
"xml_keep_tags": false,
"languages": null,
"extract_image_block_types": null,
"unique_element_ids": false,
"chunking_strategy": "by_title",
"combine_under_n_chars": null,
"max_characters": 500,
"multipage_sections": true,
"new_after_n_chars": null,
"overlap": 0,
"overlap_all": false,
"starting_page_number": null,
}
这将返回一组文档,我将进一步处理这些文档,使用 partition_html
函数将找到的 html
表格提取到数据框中:
from unstructured.partition.html import partition_html
elements = partition_html(
text=html_table,
**self.partitioning_parameters, # type: ignore
)
在某些情况下,非结构化数据返回的表格HTML无效,例如:
text = ' </td></tr>\n</tbody>\n</table>'
当这种情况发生时, partition_html
方法会失败,因为该方法返回 NoneType
document_tree = etree.fromstring(html_text.encode("utf-8"), html_parser)
应该为分块抛出错误HTML和此方法失败的情况添加异常处理。
5条答案
按热度按时间bttbmeg01#
Tibiritabara,你使用的
unstructured
版本是什么?在0.15.0版本中,HTML解析器有一些非常近期的更改,所以首先要检查的是这个。e5njpo682#
非常感谢您的跟进。我对最新的更改很熟悉,因为我在本地调试时也查看了代码差异。我目前正在使用v0.15.0版本。问题是,当
etree
返回NoneType
时,没有异常处理。唯一的异常处理尝试重新执行etree
HTML解析,但再次失败。7ivaypg93#
@Tibiritabara ,我在这里没有得到事件的顺序。
你是说:
Table
元素包括有时无效的.metadata.text_as_html
字段。如果是这样的话,我们应该看看如何为
.text_as_html
生成无效的HTML,尽管可能在无法解析HTML时对partition_html()
进行改进是可能的。你能澄清一下吗?你能提供一个(越短越好)重现此行为的示例文档吗?
nhjlsmyf4#
我目前正在使用未结构化的文档对docx文件进行分区,下一个输入参数为:
这将返回一组文档,我将进一步处理这些文档,使用
partition_html
函数将找到的html
表格提取到数据框中:在某些情况下,未结构化的表格返回无效的html,例如:
当这种情况发生时,
partition_html
方法会失败,因为这个方法会返回NoneType
当分块抛出错误的HTML并且此方法失败时,应该有一个异常处理。
嗨,@Tibiritabara ,我想了解哪个函数和哪个版本具有这些参数?它属于API函数吗?谢谢
weylhg0b5#
亲爱的团队,
@scanny回答你的问题:
是的,情况就是这样
确实如此
是的。
我的意图是从元数据中提取text_as_html字段以创建数据框。我知道text_as_html可能并不总是格式正确,或者可能包含噪声,所以我使用
partition_html
进行重新分区。关于这个问题,我很遗憾无法分享源文档。我会尝试创建一个没有机密数据的新文档并重现问题,然后与您共享。@huangpan2507回答您的问题:
我正在使用非结构化API从文档中提取节点。我目前使用的API版本是v0.0.73。这是我正在拉取的Docker镜像:
为了重新分区,我正在使用非结构化0.15.0
非常感谢大家的支持。