返回首页
最新
doc2dict是一个Python包,可以将HTML和PDF文档转换为保留层次结构的字典。它还支持从HTML文件中提取表格。
<a href="https://github.com/john-friedman/doc2dict">https://github.com/john-friedman/doc2dict</a>
<p>速度:</p>
<p>* HTML - 单线程每秒处理500页。</p>
<p>* PDF - 每秒处理200页,PDF必须具有底层文本结构。由于PDFium的限制,无法进行多线程处理。</p>
<p>以下是微软年度报告的示例输出:</p>
> "title": "PART I",
"standardized_title": "parti",
"class": "part",
"contents": {
"38": {
"title": "ITEM 1. BUSINESS",
"standardized_title": "item1",
"class": "item",
"contents": {
"39": {
"title": "GENERAL",
"standardized_title": "",
"class": "predicted header",
"contents": {
"40": {
"title": "Embracing Our Future",
"standardized_title": "",
"class": "predicted header",
"contents": {
"41": {
"text": "Microsoft is a technolo...<p>原始数据:
<a href="https://html-preview.github.io/?url=https://raw.githubusercontent.com/john-friedman/doc2dict/refs/heads/main/example_output/html/msft_10k_2024.html#:~:text=embracing" rel="nofollow">https://html-preview.github.io/?url=https://raw.githubusercontent.com/john-friedman/doc2dict/refs/heads/main/example_output/html/msft_10k_2024.html#:~:text=embracing</a></p>
<p>解析后的字典:</p>
<a href="https://github.com/john-friedman/doc2dict/blob/main/example_output/html/dict.json">https://github.com/john-friedman/doc2dict/blob/main/example_output/html/dict.json</a>
<p>算法的简单描述:</p>
<p>* 处理复杂文档,如PDF或HTML,并为其创建一个简化的表示,形式为字典的列表,其中每个字典是一个文本块,包含“粗体”、“字体大小”等关键特征,每一行表示一个新的HTML块或PDF中的一行。</p>
<p>* 使用一组预定规则将简化的表示转换为字典,例如,较小的字体大小表示标题应嵌套在较大字体大小的标题下。</p>
<p>请注意,我正在努力使最后一部分更加模块化,创建用户可以根据其用例调整的预定指令,而无需重写解析器。我称这些为“映射字典”。</p>
<p>doc2dict还包括调试过程的可视化工具:</p>
<p>* 可视化简化表示
<a href="https://html-preview.github.io/?url=https://github.com/john-friedman/doc2dict/blob/main/example_output/html/instructions_visualization.html" rel="nofollow">https://html-preview.github.io/?url=https://github.com/john-friedman/doc2dict/blob/main/example_output/html/instructions_visualization.html</a></p>
<p>* 可视化输出字典
<a href="https://html-preview.github.io/?url=https://github.com/john-friedman/doc2dict/blob/main/example_output/html/document_visualization.html" rel="nofollow">https://html-preview.github.io/?url=https://github.com/john-friedman/doc2dict/blob/main/example_output/html/document_visualization.html</a></p>
<p>我为什么要做这个:</p>
<p>我目前正在开发另一个开源Python包,以便更容易地利用证券交易委员会的数据。编写一个可以调整的通用文档解析器比为每种文档类型编写100个专用解析器要容易得多。</p>
<p>此外,将HTML和PDF文件转换为字典表示可以将文档大小减少约10倍。不确定我可以用这个做什么,但计划进行一些有趣的NoSQL数据库实验。</p>
<p>其他包的链接(datamule)
<a href="https://github.com/john-friedman/datamule-python">https://github.com/john-friedman/datamule-python</a></p>
我们创建了TacoGuru,旨在成为墨西哥的塔可点评平台。我们的愿景是:绘制每家塔可店的地图,让用户进行评价,并为商家提供现代化的工具。
在墨西哥有超过150,000家非正式的塔可店——我们希望为他们提供技术支持:数字支付、忠诚度系统,甚至贷款。为塔可经济提供金融科技的支撑。我仍然相信,如果做得对,这个想法是可行的。
为什么没有成功:
市场现实:大多数商家对技术并不感兴趣。没有销售点系统(POS),没有电子邮件,没有银行账户。许多商家只接受现金,处于隐秘状态,对变革持怀疑态度。
用户不匹配:消费者希望快速获得塔可推荐,而不是一个全面的社区或市场。
收入幻影:我们过早地关注规模。虽然应用程序设计得很美观,但没有形成盈利的循环。
执行缺口:在验证产品市场契合度之前,在开发和营销上烧掉了太多现金。
时机与疲惫:我们转向为食品商家提供金融科技服务——支付和信贷——但我们来得太晚,精疲力竭,资金耗尽。
我学到的:愿景并不足够。产品市场契合度(PMF)才是关键。地方行为优于硅谷逻辑。如果你试图数字化150,000家塔可店,你最好能说他们的语言——无论是字面上还是文化上。
我仍然相信这个使命,只是不认同我们采取的方式。
欢迎提问。