gpt4 book ai didi

python - 2 个不同的文本 block 合并在一起。如果我知道 1 是什么,我可以将它们分开吗?

转载 作者:行者123 更新时间:2023-11-28 17:50:49 25 4
gpt4 key购买 nike

我使用了许多 pdf-->text 方法从 pdf 文档中提取文本。对于我拥有的一种特定类型的 PDF,pyPDF 或 pdfMiner 都无法很好地提取文本。然而,http://www.convertpdftotext.net/做得(几乎)完美。

我发现我正在使用的 pdf 中有一些透明文本,并且它正在合并到其他文本中。

我得到的文本 block 的一些例子是:

12324  35th Ed. 01-MAR-12 Last LNM: 14/12 NAD 83 14/12          Corrective             Object of Corrective                                                                                                                   
ChartTitle: Intracoastal Waterway Sandy Hook to Little Egg Harbor Position
C HAActRionT N Y -NJ - S A N D Y H OO K ATcO tionLI T TLE EGG HARBOR. Page/Side: N/A
(Temp) indicates that the chart correction action is temporary in nature. Courses and bearings are givCGenD 0in 1 degrees clockwise from 000 true.
Bearings RoEf LlighOCtAT seEc tors aSrehre towwsbuardry th Re ivligher Ct fhroanmn seel Lawighartde.d B Theuoy 5no minal range of lights is expressedf roin mna 4u0tic-24al -mi46les.56 0(NNM ) unless othe0r7w4is-00e n-o05te.d8.8 0 W
to 40-24-48.585N 074-00-05.967W

12352 33rd Ed. 01-MAR-11 Last LNM: 03/12 NAD 83 04/12 . . l . . . . Corrective Object of Corrective ChartTitle: Shinnecock Bay to East Rockaway Inlet Position C HAActRionT S H IN N E C OC K B A Y TO AcEtionAS T ROCKAWAY INLET. Page/Side: N/A (Temp) indicates that the chart correction action is temporary in nature. Courses and bearings are givCGenD 0in 1 degrees clockwise from 000 true. (BTeeamringp) s DoEf LlighETtE s ectors aSretat toew Baoratd Ctheh anlighnet lf Droaym beseacoawanr 3d. The nominal range of lights is expressedf roin mna 4u0tic-37al -mi11les.52 0(NNM ) unless othe0r7w3is-29e n-5o3te.d76. 0 W

而且我发现“幽灵文本”总是如下:

 Corrective             Object of Corrective              Position
Action Action

(Temp) 表示图表修正操作本质上是暂时的。航向和方位从 000 开始按顺时针方向给出。
光扇区的方位朝向来自大海的光。除非另有说明,否则灯的标称范围以海里 (NM) 表示。

在我发布的第二个示例中,我想要的文本(删除了重影文本)是:

12352 33rd Ed. 01-Mar-11 Last LNM:03/12 NAD 83 04/12
Chart Title:Shinnecock Bay to East Rockaway Inlet. Page/Side:N/A
CGD01
(Temp) DELETE State Boat Channel Daybeacon 3 from 40-37-11.520N 073-29-53.760W

此问题在每个文档中只出现一次,并且似乎并不完全一致(如上所示)。我想知道你们中的一个向导是否可以想出一种方法来使用 python 删除幻影文本(我不需要/想要它)。如果我一直在使用 pyPDF,我会在转换为文本的过程中使用正则表达式将其删除。不幸的是,由于我是从上面列出的网站上的文本文件开始的,所以损坏已经完成。我有点不知所措。

感谢阅读。

编辑:这个问题的解决方案看起来比应用程序的其余部分更复杂,所以我将撤回我的帮助请求。

我非常感谢那些做出贡献的人的想法。

最佳答案

鉴于幻影文本可以以看似不可预测的方式拆分,我认为没有一种简单的自动删除它的方法不会产生误报。您需要的是几乎是人类级别的模式识别。 :-)

您可以尝试利用这些消息的格式。大致;

<number> <number>[rn]d Ed. <date> Last LNM:<mm>/<yy> NAD <date2>
Chart Title:<text>. Page/Side:<N/A or number(s)> CGD<number> <text>
<position>

使用它,您可以从可预测的元素中剔除无意义的内容,然后如果您有图表名称列表('Shinnecock Bay to East Rockaway Inlet')和描述性词语(如'State'、'Boat'、' Daybeacon'),您也许可以通过找到两个文本 block 中的错位词与您的词表中的词之间的最小编辑距离来重建原始词。

如果可以安装 poppler软件,您可以尝试将 pdftotext-layout 选项一起使用,以尽可能保持原始 PDF 的格式。这可能会使您的问题消失。

关于python - 2 个不同的文本 block 合并在一起。如果我知道 1 是什么,我可以将它们分开吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10229131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com