Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
### 姓名
王家宝

### 实习项目
项目二:基于版本面解析和大语言模型的文档翻译能力建设

### 本周工作

1. **pdf转word架构设计**

* 将pdf版面解析得到的json作为输入,将其设计成为大模型可以翻译的形式
* 将翻译之后的json内容,构造称为word
* json中缺失的图片存储起来,插入到最后的word中


2. **尝试用markdown转word**

* 用翻译得到markdown文本转成word,查看效果


3. **问题疑惑与解答**


* json和markdown构造word,哪种方案更合适?

答:可以从基准测试入手,看一下哪种方式的效果或者性能比较好

* chunk为什么需要优化?

答:应该对分chunk后翻译的结果中,让大模型加个结束符标志,防止模型翻一半中断了,这个现在设置小chunk_size是不会发生的,但是用户可能会设置大chunk_size,我们要避免这个情况。


### 下周工作

1. 支持多页pdf转word
2. 美化word的格式
3. 拿到解析之后的图片以及图片的比例

### 导师点评
目前的思路正确,进度较快,建议继续优化现有的pdf转word流程
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
### 姓名
王家宝

### 实习项目
项目二:基于版本面解析和大语言模型的文档翻译能力建设

### 本周工作

1. **pdf版面解析后,对md翻译的前处理**

* 版面解析后的md需要先合并,按照chunk切分再送入大模型翻译。为了保证翻译之后的内容仍然可以按照原本的页面进行分页,修改合并逻辑,分别针对连贯文本和非连贯文本设计两种分割符号

2. **翻译提示词的重构**

* 连贯文本翻译时需要忽视分割符,在翻译之后,在合适的语义位置再放回分割符

* 非连贯文本翻译之后也要把分割符放回和之前差不多的位置

3. **翻译后md转为word**

* 根据上面提到的分页符进行页面的划分

* 提取版面解析的页眉,页脚,footnote,pagenumber。将其与待翻译文本一起送入模型翻译

* 翻译完成后的内容,需要根据“#####”等md格式进行word格式的设置,以及页眉页脚的插回


4. **问题疑惑与解答**

* 翻译的时候,内容会输出一些除了译文之外的内容?

答:直接使用aistudio中最大的模型,小模型容易出现问题

* 再换服务器之后,程序无法正常运行?

答:https://github.com/PaddlePaddle/PaddleX/pull/4493

### 下周工作

1. 完成输入文件为md时,也能直接转换为word
2. 模块化 to_word函数
3. 尝试 md转latex等内容

### 导师点评

1. 需要关注一下最主要的需求:“将飞桨社区中的技术文档自动翻译为其他语言的文档”,这是最主要的工作
2. 将现有的内容按照提交规范模块化,

Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
### 姓名
王家宝

### 实习项目
项目二:基于版本面解析和大语言模型的文档翻译能力建设

### 本周工作

1. **优化word格式**

* 通过将版面解析的json和翻译之后的md结合起来,用block-lable作为标志,对生成的word进行格式上的优化

2. **表格,图片的处理**

* 拿到pdf转md过程中图片的存储位置和图片比例。和翻译之后的json结合,生成word

* 通过表格版面解析得到的html,使用Beautifulsoup还原为表格

3. **解决由<code>包围的单元格内容在翻译之后导致的语序混乱问题**

* 通过将<td>包围的数据和其他文本进行分别的处理,以<td>为最小单位,不再切分,整体翻译
* 将所有的<td>里的内容组成batch,进行翻译

4. **对翻译后的md进行word的转换**

* 需要对翻译后的md进行切分,按照原始的页面布局进行分割
* 插回页眉,页脚,并进行格式的编排


3. **问题疑惑与解答**

* 表格解析,内容和格式存在问题?

答:对版面解析和翻译产线进行测试,查看是哪部分导致的结果错误

* 如何修改prompt?

答:在chunk_translate中进行debug,查看翻译函数是没有被调用,还是生成prompt的地方有问题

* 我的结果是1个block,相较于之前方法的多个blocks,会存在什么问题?

答:对于长文本来说,这可能会导致翻译精度的问题,比如不在同一页的两段翻译之后无法对齐

### 下周工作

1. 测试长文本和多版面的pdf
2. 测试表格解析错误是由版面解析导致,还是翻译产线导致
3. 修改prompt,对输入内容进行切块
4. 完善翻译版md的to_word()

### 导师点评

1. 优先完成pdf转word的工作以及解决<code>包围导致的语序问题
2. 先针对单列文件进行处理,而后是多列页面

Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
### 姓名
王家宝

### 实习项目
项目二:基于版本面解析和大语言模型的文档翻译能力建设

### 本周工作

1. **模型中断后的提示**

* 应该对分chunk后翻译的结果中,让大模型加个结束符标志,防止模型翻一半中断了,这个现在设置小chunk_size是不会发生的,但是用户可能会设置大chunk_size,我们要避免这个情况。

* 在提示词中加入“最后添加<<END>>”,如果翻译之后的文本没有终结符,提示用户

2. **解析后json转latex**

* 将Pdf解析得到的json,保存为json文件,将里面全部的block抽取为一个最终的合并版json

* 按照json中块的类型,例如标题,图片,正文,参考文献等分别设置转换为latex的格式

3. **普通md/翻译后md转为latex**

* 迁移pdf_to_md_to_word的逻辑,将其中页眉页脚,以及不同类型文本映射为latex格式的逻辑结合起来

* 最终生成latex


4. **问题疑惑与解答**

* 除了转word,还有哪些可以进行的工作

答:可以考虑转latex

* 对翻译之后的md进行分页的时候,不能正确放回

答:把插回操作改为包围操作

### 下周工作

1. 合并完成的所有工作
2. 编写结项报告

### 导师点评

1. 逐步合并现有的代码