我电脑本地有四份xlsx格式文档"E:\OCR作业文档=近汉\lab_cora\近汉1同源文本词条对齐.xlsx"、"E:\OCR作业文档=近汉\lab_cora\近汉2同源文本词条对齐.xlsx"、"E:\OCR作业文档=近汉\lab_cora\近汉3同源文本词条对齐.xlsx"、"E:\OCR作业文档=近汉\lab_cora\近汉4同源文本词条对齐.xlsx"。每个文档各有五列文本列“行次 扫描王 夸克 MU PO”,首行为列名,同一行除“行次”列以外的四列系词条文本列,同行四列词条文本列对齐构成词条对照组。词条对照组系用不同工具对同一pdf格式词典文档同一词条进行OCR扫描的四个结果文本。因OCR精度有限,同一对照组个别词条可能有个别字符增加、缺失或错误的情况。 词条文本中起首位置构式为“【S】”的字符串,我们称为“词头文节”,其中S指代若干字符组成的字符串。词头文节剔除包夹符号“【”、“】”的部分我们称为“词头组块”。词条文本刨除词头文节的部分我们称为“词身文节”。词身文节中由非汉字字符间隔开的若干个连续汉字字符串(形式上可以是一个汉字、两个汉字及两个以上的汉字字符串,取其最大长度值的汉字字符串),我们称之为“甲类词身组块”。词身文节中错落分布于甲类词身组块前后的若干个连续非汉字字符串(同理,取其最大长度值),我们称之为“乙类词身组块”。 请帮我编写代码,按顺次进行若干个阶段的处理动作。 第一阶段——若某一词条对照组的四个词条文本内容彼此完全相同(也即彼此一一重合),则在同行新增一列标记列填入标记字符“A”。 第二阶段——若某一词条对照组的四个词条文本内容彼此不完全重合,但同一对照组内各词条间的甲类词身组块数量、总字符数彼此相等且乙类词身组块数量、总字符数彼此相等且相同顺次的词身组块性质、字符数也彼此相等(如同一行中“扫描王”、“夸克”、“MU”、“PO”四列词条文本第3个词身组块均为甲类词身组块且同顺次词身组块字符数均为5)且相同顺次的乙类词身组块内容也彼此相等,则在同行新增一列标记列填入标记字符“B”。 第三阶段——若某一词条对照组的四个词条文本内容彼此不完全重合,但同一对照组内各词条间的甲类词身组块数量、总字符数彼此相等且乙类词身组块数量、总字符数彼此相等且相同顺次的词身组块性质、字符数也彼此相等且个别相同顺次的乙类词身组块内容存在出入,则在同行新增一列标记列填入标记字符“C”。 第四阶段——若某一词条对照组的四个词条文本内容彼此不完全重合,但同一对照组内各词条间的甲类词身组块数量、总字符数彼此相等且乙类词身组块数量彼此相等且相同顺次的词身组块性质彼此相等且相同顺次的甲类词身组块字符数彼此相等且个别相同顺次的乙类词身组块内容存在出入,则在同行新增一列标记列填入标记字符“D”。 第五阶段——若某一词条对照组的四个词条文本内容彼此不完全重合,但同一对照组内各词条间的甲类词身组块数量彼此相等且乙类词身组块数量彼此相等且相同顺次的词身组块性质彼此相等且个别相同顺次的词身组块内容存在出入,则在同行新增一列标记列填入标记字符“E”。 第六阶段——对标记列中未填入任何标记字符的若干行,填入标记字符“F”。 该六个阶段应该顺次进行,某一阶段匹配目标词条对照组时,应该除外前面若干阶段标记列已填入特定标记字符的对照组所在行。 请按我要求批量进行标记动作后以新文档的形式导出到同地址中,而不覆盖原文档。同时我希望在代码中能添加可视化进度机制,方便我实时追踪任务执行进程,把握总体耗时,了解各阶段标记情况。 ================================= 现在我要进行一个新任务。我想基于"E:\OCR作业文档=近汉\lab_cora\近汉1同源文本词条对齐_已标记.xlsx"、"E:\OCR作业文档=近汉\lab_cora\近汉2同源文本词条对齐_已标记.xlsx"、"E:\OCR作业文档=近汉\lab_cora\近汉3同源文本词条对齐_已标记.xlsx"、"E:\OCR作业文档=近汉\lab_cora\近汉4同源文本词条对齐_已标记.xlsx"四个文档进一步构造一个可视化界面同源词条半自动校对工作流框架代码。 校对时某一词条对照组以“扫描王 夸克 MU PO”四个信息列中“扫描王”列的词条为“基准词条”,以同一对照组内的其他三个词条为“参校词条”(或称“映射词条”)。可视化界面(工作台)中也以“扫描王”列的词条为基底进行呈现,通过一定可视化手段呈现参校词条相对于基准词条的异同点。同时,可视化窗口应有翻页设置(可顺次换页跳转,也可指定某页跨页跳转),单页默认显示词条数量为一百条(当页显示词条数量可手动调整),词条所在行前应呈现当页行次、所属xlsx表格来源也即册次(近汉1同源文本词条对齐_已标记.xlsx、近汉2同源文本词条对齐_已标记.xlsx、近汉3同源文本词条对齐_已标记.xlsx、近汉4同源文本词条对齐_已标记.xlsx对应册次分别为Ⅰ、Ⅱ、Ⅲ、Ⅳ)、所属xlsx表格具体所在行次、所属xlsx表格标记列具体标记字符等四类信息。同时,应支持选择特定标记列标记字符的词条。 我们需要分情况对词条进行特殊处理。 第一种情况,对于对应标记列字符为“B”、“C”、“D”、“E”的词条对照组,此前我们已经规定对照组内各词条甲类词身组块数量彼此相等且乙类词身组块数量彼此相等且相同顺次的词身组块性质彼此相等。该种情况下,若某一对照组内各词条同一顺次乙类词身组块存在两个以上(含两个)彼此内容完全重合的(为指称方便,该重合乙类词身组块我们称之为“同轨乙类词身组块”)且与基准词条同一顺次乙类词身组块内容有出入,则该顺次乙类词身组块以同轨乙类词身组块替换基准词条乙类词身组块并以绿色虚线线框圈住该同轨乙类词身组块;若某一对照组内各词条同一顺次乙类词身组块彼此内容均有出入的(为指称方便,该类乙类词身组块我们称之为“异轨乙类词身组块”),则该顺次乙类词身组块以“扫描王 夸克 MU PO”四个信息列词条同一顺次乙类词身组块比并线性排列的形式呈现,同时不同信息列词条该顺次乙类词身组块前应加标溯源标记(其中“扫描王”、“夸克”、“MU”、“PO”四个信息列对应简写标记分别为“S”、“K”、“M”、“P”),当鼠标双击某一基准词条异轨乙类词身组块以外的异轨乙类词身组块本身或其溯源标记时为该顺次某一异轨乙类词身组块套加绿色虚线线框表示选定(该选定动作应留有撤销选项,若未进行双击选定基准词条异轨乙类词身组块以外的某一异轨乙类词身组块,则默认以基准词条异轨乙类词身组块为准也即不作调改)。该种情况下,某一对照组内各词条同一顺次甲类词身组块(此时词头组块也应视为甲类词身组块)彼此间若存在内容出入的,则应在同顺次甲类词身组块内部再切分出若干片段(也即若干字符串,为指称方便我们称之为“小结节”),其中内容彼此重合的小结节我们称为“重合小结节”,彼此不重合的小结节我们称为“不重合小结节”,各词条同顺次甲类词身组块内的同顺次重合小结节彼此内容应该完全重合(取最大化重合匹配),而同顺次甲类词身组块的同顺次不重合小结节彼此字符数不一定相等且内容有可能彼此重合但非两两循环重合(如同顺次存在两个内容重合的不重合小结节但又与其他不重合小结节内容有出入)。此时,该顺次甲类词身组块某一顺次不重合小结节应以“扫描王 夸克 MU PO”四个信息列词条同顺次甲类词身组块同顺次不重合小结节比并线性排列的形式呈现,同时不同信息列词条该顺次甲类词身组块某一顺次不重合小结节前应加标溯源标记(其中“扫描王”、“夸克”、“MU”、“PO”四个信息列对应简写标记分别为“S”、“K”、“M”、“P”),当鼠标双击某一基准词条不重合小结节以外的不重合小结节本身或其溯源标记时为该顺次某一不重合小结节套加红色虚线线框表示选定(该选定动作应留有撤销选项,若未进行双击选定基准词条不重合小结节以外的某一不重合小结节,则默认以基准不重合小结节为准也即不作调改)。另外,同顺次甲类词身组块同顺次不重合小结节若有两个或三个内容重合的,应该在其下用黑色波浪线标记(极端情况下,可能存在此两个不重合小结节内容重合,彼两个不重合小结节内容重合,则应在此二者下用粉色波浪线标记,在彼二者下用橘色波浪线标记)。再者,针对某一顺次甲类词身组块某一顺次不重合小结节,也可以自定义编辑内容视为与现有四个不重合小结节彼此均不重合的选定不重合小结节并套加蓝色虚线线框(该自定义编辑内容可作撤销、调改)。 第二种情况,对于对应标记列字符为“F”的词条对照组。该种情况下,某一对照组内的词头组块应以“扫描王 夸克 MU PO”四个信息列词头组块比并线性排列的形式呈现,同时不同信息列词条词头组块前应加标溯源标记(其中“扫描王”、“夸克”、“MU”、“PO”四个信息列对应简写标记分别为“S”、“K”、“M”、“P”),当鼠标双击某一基准词条词头组块以外的词头组块本身或其溯源标记时为该词头组块套加紫色虚线线框表示选定(该选定动作应留有撤销选项,若未进行双击选定基准词条词头组块以外的某一词头组块,则默认以基准词条异轨乙类词身组块为准也即不作调改)。另外,同组内词条若有两个以上词头组块内容重合的,应该在其下用黑色波浪线标记(极端情况下,可能存在此两个词头组块内容重合,彼两个词头组块内容重合,则应在此二者下用粉色波浪线标记,在彼二者下用橘色波浪线标记)。再者,针对词头组块,也可以自定义编辑内容视为与现有四个词头组块均不重合的选定词头组块并套加黑色虚线线框(该自定义编辑内容可作撤销、调改)。该种情况下,某一对照组内各词条的词身文节内部再切分出若干片段(也即若干字符串,为指称方便我们称之为“节块”),其中内容彼此重合的节块我们称为“重合节块”,彼此不重合的节块我们称为“不重合节块”,各词条重合节块彼此内容应该完全重合(取最大化重合匹配),而不重合节块彼此字符数不一定相等且内容有可能彼此重合但非两两循环重合(如存在两个内容重合的不重合节块但又与其他不重合节块内容有出入)。此时,应以基准词条的节块排布为准,视其同参校词条相比的不重合节块缺漏、羡余、出入情况进行特殊标记。缺漏不重合节块应该在前后相对位置补上(同时节块前应加标溯源简写标记),并在不重合节块下标记双横线;羡余不重合节块应该在不重合节块中标记删除线;出入不重合节块应比并排布并在不同词条不重合节块前加标溯源标记,并支持双击某一基准词条不重合节块以外的不重合节块本身或其溯源标记时为该不重合节块套加红色虚线线框表示选定(该选定动作应留有撤销选项,若未进行双击选定基准词条不重合节块以外的某一不重合节块,则默认以基准词条不重合节块为准也即不作调改)。另外,针对出入不重合节块,若有两个或三个内容重合的,应该在其下用黑色波浪线标记(极端情况下,可能存在此两个不重合节块内容重合,彼两个不重合节块内容重合,则应在此二者下用粉色波浪线标记,在彼二者下用橘色波浪线标记)。再者,针对缺漏不重合节块、羡余不重合节块,应有点击保留、删除选项,也可以自定义编辑内容视为与既有不重合节块均不重合的选定不重合节块并套加黑色虚线线框(该自定义编辑内容可作撤销、调改);针对出入不重合节块,也可以自定义编辑内容视为与现有不重合节块均不重合的选定不重合节块并套加黑色虚线线框(该自定义编辑内容可作撤销、调改)。 需要补充说明的是,针对第一种情况下某一甲类词身组块内若干不重合小结节的修改(修改形式为——选定或自定义编辑),应有全局半自动过滤同步修改功能(默认自动开启,也可选择手动开启)。具体机制为:改定此对照组词条某一甲类词身组块不重合小结节,若存在其他对照组词条甲类词身组块不重合小结节进行同样修改后两个甲类词身组块完全重合的,则跳出若干其他对照组的待修改甲类词身组块清单,默认全部勾选(个别可取消勾选),点击确定后进行同步批量修改,其他对照组同步修改的不重合小结节需套加褐色虚线线框进行标记。 在启用可视化工作台进行编辑处理的过程中,我希望能有翻页自动保存、进行下一对照组词条修改自动保存此前其他对照组词条修改内容、点击手动保存全局修改内容选项。并且在下次打开工作台时,可以点击某一时点的保存记录继续修改动作。某一对照组词条有改定词条时,我希望在源头表格新增一列“改定词条”信息列,填入当行修正内容后的词条。 请按我的构想编写切实可用的完整工作流框架代码。我主要的思路是在电脑本地pycharm中运行代码,启用相关可视化工作台界面进行词条校对任务。 ================================= 我对一些概念的定义、步骤的描述还是有模糊、疏漏的地方,导致你构拟的代码还是不十分到位,或多或少影响到具体的校对过程。 首先,某一对照组词条呈现的所属xlsx表格具体所在行次这一附加信息,其行次信息应该对应的是原表格“行次”列词条所在行的行次数值。 其次,有必要再重申一下,词条文本中起首位置构式为“【S】”的字符串,我们称为“词头文节”,其中S指代若干字符组成的字符串。词头文节剔除包夹符号“【”、“】”的部分我们称为“词头组块”。词条文本刨除词头文节的部分我们称为“词身文节”。词身文节中由非汉字字符间隔开的若干个连续汉字字符串(形式上可以是一个汉字、两个汉字及两个以上的汉字字符串,取其最大长度值的汉字字符串),我们称之为“甲类词身组块”。词身文节中错落分布于甲类词身组块前后的若干个连续非汉字字符串(同理,取其最大长度值),我们称之为“乙类词身组块”。 复次,针对第一种情况的乙类词身组块子类需要重新界定。同对照组内各词条同顺次的四个乙类词身组块,内容重合的互为“同轨乙类词身组块”,内容出入的互为“异轨乙类词身组块”,也即基准词条乙类词身组块也可能带有若干个同轨乙类词身组块。此时,若某一对照组内各词条同一顺次乙类词身组块存在两个以上(含两个)的同轨乙类词身组块且与基准词条同一顺次乙类词身组块内容有出入且基准词条同一顺次乙类词身组块不存在同轨乙类词身组块的,则该顺次乙类词身组块以同轨乙类词身组块替换基准词条乙类词身组块并以绿色虚线线框圈住该同轨乙类词身组块;若某一对照组内各词条同一顺次乙类词身组块存在两个同轨乙类词身组块且与基准词条同一顺次乙类词身组块内容有出入且基准词条同一顺次乙类词身组块另有一个同轨乙类词身组块的,则该顺次乙类词身组块应以“扫描王 夸克 MU PO”四个信息列词条同顺次乙类词身组块比并线性排列的形式呈现并在词身组块前加标溯源标记(此时四个词身组块可分为互成同轨乙类词身组块的两对,包含基准词条乙类词身组块在内的一对应下加粉色波浪线,另一对下加橘色波浪线),当鼠标双击与基准词条乙类词身组块成异轨乙类词身组块关系的乙类词身组块本身或其溯源标记时为该顺次某一异轨乙类词身组块套加绿色虚线线框表示选定(该选定动作应留有撤销选项,若未进行双击选定与基准词条乙类词身组块成异轨乙类词身组块关系的乙类词身组块,则默认以基准词条乙类词身组块为准也即不作调改);若某一对照组内各词条同一顺次四个乙类词身组块彼此互不重合也即互为异轨乙类词身组块的,则该顺次乙类词身组块以“扫描王 夸克 MU PO”四个信息列词条同一顺次乙类词身组块比并线性排列的形式呈现,同时不同信息列词条该顺次乙类词身组块前应加标溯源标记(其中“扫描王”、“夸克”、“MU”、“PO”四个信息列对应简写标记分别为“S”、“K”、“M”、“P”),当鼠标双击与基准词条乙类词身组块成异轨乙类词身组块关系的乙类词身组块本身或其溯源标记时为该顺次某一异轨乙类词身组块套加绿色虚线线框表示选定(该选定动作应留有撤销选项,若未进行双击选定与基准词条乙类词身组块成异轨乙类词身组块关系的乙类词身组块,则默认以基准词条乙类词身组块为准也即不作调改)。 又次,针对第一种情况下某一词条对照组内——同顺次甲类词身组块同顺次不重合小结节若有两个或三个内容重合的,应该在其下用黑色波浪线标记(极端情况下,可能存在此两个不重合小结节内容重合,彼两个不重合小结节内容重合,则应在此二者下用粉色波浪线标记,在彼二者下用橘色波浪线标记)——这一规则需要补充下几个注意点:一是基准词条不重合小结节也应纳入重合统计范围并在内容重合时添加黑色波浪线;二是极端情况下可能存在两对彼此内容重合的不重合小结节,归属于基准词条内的不重合小结节所在的那一对应下标粉色波浪线而另一对下标橘色波浪线。 再次,针对第二种情况下某一词条对照组内——出入不重合节块,若有两个或三个内容重合的,应该在其下用黑色波浪线标记(极端情况下,可能存在此两个不重合节块内容重合,彼两个不重合节块内容重合,则应在此二者下用粉色波浪线标记,在彼二者下用橘色波浪线标记)——这一规则需要补充下几个注意点:一是基准词条不重合节块也应纳入重合统计范围并在内容重合时添加黑色波浪线;二是极端情况下可能存在两对彼此内容重合的不重合节块,归属于基准词条内的不重合节块所在的那一对应下标粉色波浪线而另一对下标橘色波浪线。 另外,我们以若干具体词条对照组为例进行说明。 如表格近汉1同源文本词条对齐_已标记.xlsx中行次237的词条对照组为: 扫描王——【安坐】ān zuò犹“安席”。明《西游记》六九回:“那国王玉手擎杯,先与唐僧~。三藏道:“贫僧不会饮酒。”” 夸克——【安坐】ānzuò犹“安席”。明《西游记》六九回:“那国王玉手擎杯,先与唐僧~。三藏道:‘贫僧不会饮酒。’” MU——【安坐】ān zuò犹“安席”。明《西游记》六九回:“那国王玉手擎杯,先与唐僧~。三藏道:‘贫僧不会饮酒。’” PO——【安坐】ān zuò犹“安席”。明《西游记》六九回:“那国王玉手擎杯,先与唐僧~。三藏道:“贫僧不会饮酒。” 其中乙类词身组块取最大长度的连续非汉字字符串(空格符也包含在内),基准词条也即“扫描王”列词条的乙类词身组块依次为“ān zuò”、““”、“”。”、“《”、“》”、“:“”、“,”、“~。”、“:“”、“。”””10个乙类词身组块。综合对比参照词条的乙类词身组块,顺次9的乙类词身组块“:“”需要同其他参校词条的同顺次的乙类词身组块比并排列呈现,并在“扫描王”列和“PO”列的该顺次乙类词身组块下加粉色波浪线,在“夸克”列和“MU”列的该顺次乙类词身组块下加橘色波浪线。另外顺次10的乙类词身组块应替换为“。’””并套加绿色虚线线框。 再者,针对不重合小结节或不重合节块的自定义编辑改换,我希望能将比并排列的不重合小结节或比并排列的不重合节块视为一个整体,在其右上角添加“+”号自定义增补按键选项,点击后填入具体内容(内容需与原有不重合小结节或不重合节块文本内容均不同)并移至比并排列的不重合小结节或比并排列的不重合节块前,同时套加对应颜色的虚线线框(自定义不重合小结节为蓝色虚线线框,自定义不重合节块为黑色虚线线框)。自定义修改部分应有右上角“-”号撤销按键选项和“/”号再修改按键选项。 同时,针对第一种情况下某一甲类词身组块内若干不重合小结节的全局半自动过滤同步修改功能,应该仅适用于自定义增补的不重合小结节。具体机制为:改定此对照组词条某一甲类词身组块不重合小结节,若存在其他对照组词条甲类词身组块不重合小结节进行同样修改后两个甲类词身组块完全重合的,则跳出若干其他对照组的待修改甲类词身组块清单,默认全部勾选(个别可取消勾选),点击确定后进行同步批量修改,其他对照组同步修改的不重合小结节需套加褐色虚线线框进行标记(其他地方套加褐色虚线线框的自定义增改不重合小结节应移至比并排列的不重合小结节前,同时有自定义撤销、再修改按键选项)。具体如某一词条对照组基准词条某一词身组块为“李梅香”,与参校词条综合比较,重合小结节为“梅香”,不重合小结节为“李”(另外三个参校词条的不重合小结节为“钱”、“邓”、“赵”),而我在此词身组块填入自定义不重合小结节“孙”,构成新的词身组块“孙梅香”,此时跳出其他不重合小结节自定义增替改后词身组块重合的若干词条对照组清单预览窗口,并预呈现带有褐色虚线线框的自定义不重合小结节入替效果以供评判是否取消勾选。 ================================= 你的新代码还是存在诸多瑕疵。 首先,针对乙类词身组块的子类划分,我再修正一下描述—— 同对照组内各词条同顺次的四个乙类词身组块,内容重合的互为“同轨乙类词身组块”,内容出入的互为“异轨乙类词身组块”,也即基准词条乙类词身组块也可能带有若干个同轨乙类词身组块。此时,若某一对照组内各词条同一顺次乙类词身组块存在两个以上(含两个)的同轨乙类词身组块且与基准词条同一顺次乙类词身组块内容有出入且基准词条同一顺次乙类词身组块不存在同轨乙类词身组块的,则该顺次乙类词身组块以同轨乙类词身组块替换基准词条乙类词身组块并以绿色虚线线框圈住该同轨乙类词身组块;若某一对照组内各词条同一顺次乙类词身组块存在两个同轨乙类词身组块且与基准词条同一顺次乙类词身组块内容有出入且基准词条同一顺次乙类词身组块另有一个同轨乙类词身组块的,则该顺次乙类词身组块应以“扫描王 夸克 MU PO”四个信息列词条同顺次乙类词身组块比并线性排列的形式呈现并在词身组块前加标溯源标记(此时四个词身组块可分为互成同轨乙类词身组块的两对,包含基准词条乙类词身组块在内的一对应下加粉色波浪线,另一对下加橘色波浪线),当鼠标双击与基准词条乙类词身组块成异轨乙类词身组块关系的乙类词身组块本身或其溯源标记时为该顺次某一异轨乙类词身组块套加绿色虚线线框表示选定(该选定动作应留有撤销选项,若未进行双击选定与基准词条乙类词身组块成异轨乙类词身组块关系的乙类词身组块,则默认以基准词条乙类词身组块为准也即不作调改);若某一对照组内各词条同一顺次四个乙类词身组块彼此互不重合也即互为异轨乙类词身组块的,则该顺次乙类词身组块以“扫描王 夸克 MU PO”四个信息列词条同一顺次乙类词身组块比并线性排列的形式呈现,同时不同信息列词条该顺次乙类词身组块前应加标溯源标记(其中“扫描王”、“夸克”、“MU”、“PO”四个信息列对应简写标记分别为“S”、“K”、“M”、“P”),当鼠标双击与基准词条乙类词身组块成异轨乙类词身组块关系的乙类词身组块本身或其溯源标记时为该顺次某一异轨乙类词身组块套加绿色虚线线框表示选定(该选定动作应留有撤销选项,若未进行双击选定与基准词条乙类词身组块成异轨乙类词身组块关系的乙类词身组块,则默认以基准词条乙类词身组块为准也即不作调改);若某一对照组内各词条同一顺次乙类词身组块存在三个同轨乙类词身组块且基准词条包含于其中且另有一个与基准词条同一顺次乙类词身组块成异轨乙类词身组块关系的,则该顺次乙类词身组块以基准词条乙类词身组块原有形式呈现也即不作任何改动不比并其他映射词条同顺次乙类词身组块。 另需注意的是,已套加绿色虚线线框进行替换的乙类词身组块应体现在可视化界面“最终改定词条预览”文本框中,但你“最终改定词条预览”文本框中仍以基准词条原有乙类词身组块进行呈现。同时,需要下加黑色或粉色波浪线表示重合的基准词条乙类词身组块你也没有下加特定颜色波浪线。 其次,针对第二种情况中需要下加特定颜色波浪线表示重合的基准词条某顺次甲类词身组块的某顺次不重合小结节,或针对第三种情况中需要下加特定颜色波浪线表示重合的基准词条某个不重合节块,你也没有下加特定颜色波浪线。 再者,我已经明确表述,乙类词身组块子类划分以及甲类词身组块内部小结节的切分、词头组块视为特殊的甲类词身组块仅适用于第一种情况也即对应标记结果列字符为“B”、“C”、“D”、“E”的词条对照组,而词头组块的对比、词身文节内部节块的切分仅适用于第二种情况也即对应标记结果列字符为“F”的词条对照组。而你在实际过程中却有颠倒错乱。另外F类词条对照组的节块切分和不重合节块的比并排布也存在诸多错误。 同时,针对第一种情况下某一甲类词身组块内若干不重合小结节的全局半自动过滤同步修改功能,应该仅适用于自定义增补的不重合小结节。具体机制为:改定此对照组词条某一甲类词身组块不重合小结节,若存在其他对照组词条甲类词身组块不重合小结节进行同样修改后两个甲类词身组块完全重合的,则跳出若干其他对照组的待修改甲类词身组块清单,默认全部勾选(个别可取消勾选),点击确定后进行同步批量修改,其他对照组同步修改的不重合小结节需套加褐色虚线线框进行标记(其他地方套加褐色虚线线框的自定义增改不重合小结节应移至比并排列的不重合小结节前,同时有自定义撤销、再修改按键选项)。具体如某一词条对照组基准词条某一词身组块为“李梅香”,与参校词条综合比较,重合小结节为“梅香”,不重合小结节为“李”(另外三个参校词条的不重合小结节为“钱”、“邓”、“赵”),而我在此词身组块填入自定义不重合小结节“孙”,构成新的词身组块“孙梅香”,此时跳出其他不重合小结节自定义替改后某个词身组块可与该自定义替改词身组块重合的若干词条对照组清单预览窗口,并预呈现带有褐色虚线线框的自定义不重合小结节入替效果以供评判是否取消勾选。考虑到弹出窗口文本渲染可能不完善,可预览联动修改对照组词条为基准词条词头文节以及词头文节后五个字符,外加基准词条同步修改甲类词身组块前后五个字符(其中该甲类词身组块不重合小结节应以“(Z:…)[S:…|K:…|M:…|P…]”构造形式进行呈现(其中“…”指代具体溯源标记后的不重合小结节,Z为自定义溯源标记),基准词条其余部分以省略号替代。点击确认后对所有关联词条对照组进行联动修改。需注意的是,词头组块这一特殊的甲类词身组块不适用于关联修改。 此外,现有可视化界面工作台“最终改定词条预览”文本框仅为一狭长文本框,我希望能有下拉和折叠选项,支持一眼预览完整改定词条。还有仅有保存并导出选项,而没有导入选项,似乎也有缺陷。还有当页窗口显示的词条对照组数量也不支持灵活设定,此外对照组也没有当页顺序数值标记。还有某一类标记的词条对照组数量概览也不见了 ================================= 你还是一再重蹈覆辙。 首先,我明确强调——已套加绿色虚线线框进行替换的乙类词身组块应体现在可视化界面“最终改定词条预览”文本框中,但你“最终改定词条预览”文本框中仍以基准词条原有乙类词身组块进行呈现。 具体如表格近汉1同源文本词条对齐_已标记.xlsx中行次237的标记字符为“D”词条对照组为: 扫描王——【安坐】ān zuò犹“安席”。明《西游记》六九回:“那国王玉手擎杯,先与唐僧~。三藏道:“贫僧不会饮酒。”” 夸克——【安坐】ānzuò犹“安席”。明《西游记》六九回:“那国王玉手擎杯,先与唐僧~。三藏道:‘贫僧不会饮酒。’” MU——【安坐】ān zuò犹“安席”。明《西游记》六九回:“那国王玉手擎杯,先与唐僧~。三藏道:‘贫僧不会饮酒。’” PO——【安坐】ān zuò犹“安席”。明《西游记》六九回:“那国王玉手擎杯,先与唐僧~。三藏道:“贫僧不会饮酒。” 其中乙类词身组块取最大长度的连续非汉字字符串(空格符也包含在内),基准词条也即“扫描王”列词条的乙类词身组块依次为“ān zuò”、““”、“”。”、“《”、“》”、“:“”、“,”、“~。”、“:“”、“。”””10个乙类词身组块。其中的乙类词身组块应替换为“。”””综合对比参校词条的同顺次乙类词身组块,应替换为“。’””并套加绿色虚线线框,这点你做到了,但却没有在“最终改定词条预览”文本框体现替换痕迹,还是错误的作“。”””。 其次,我明确强调——对应标记结果列字符为“B”、“C”、“D”、“E”的词条对照组,词头组块应该视为特殊的甲类词身组块进行内部分小结节切分,而你却套用第二种情况也即适用标记结果列字符为“B”、“C”、“D”、“E”的词条对照组的处理法,不仅误将词头文节视为词头组块并且错误将同对照组的词头文节进行比并排列。 具体如表格近汉1同源文本词条对齐_已标记.xlsx中行次339的标记字符为“E”词条对照组为: 扫描王——【熬稃】áo fū爆米花。宋范成大《上元纪吴中节物》:“撚粉团栾意,~腷膊声。”自注:“炒糯谷以卜,俗名孛娄,北人号糯米花。” 夸克——【熬桴】áofū爆米花。宋范成大《上元纪吴中节物》:“撚粉团栾意,~膈膊声。”自注:“炒糯谷以卜,俗名孛娄,北人号糯米花。” MU——【熬稃】áo fū爆米花。宋范成大《上元纪吴中节物》:“撚粉团栾意,~膈膊声。”自注:“炒糯谷以卜,俗名孛娄,北人号糯米花。” PO——【熬稃】áo fū爆米花。宋范成大《上元纪吴中节物》:“撚粉团栾意,~腷膊声。”自注:“炒糯谷以卜,俗名孛娄,北人号糯米花。” 其中的词头组块分别为“熬稃”、“熬桴”、“熬稃”、“熬稃”,应将其视为特殊的甲类词身组块,比并排列不重合小结节“稃”、“桴”、“稃”、“稃”,但你比并排列的却是“【熬稃】”、“【熬桴】”、“【熬稃】”、“【熬稃】”。 再者,针对第一种情况下某一甲类词身组块内若干不重合小结节的全局半自动过滤同步修改功能,在实际执行过程中你却没有严格将这一指令——可预览联动修改对照组词条为基准词条词头文节以及词头文节后五个字符,外加基准词条同步修改甲类词身组块前后五个字符(其中该甲类词身组块不重合小结节应以“(Z:…)[S:…|K:…|M:…|P…]”构造形式进行呈现(其中“…”指代具体溯源标记后的不重合小结节,Z为自定义溯源标记),基准词条其余部分以省略号替代——执行到位。 另外,你的导出、导入动作完全是脱解的,点击保存后导出的文档并未带有时间戳,导入本地文本默认导入源头表格文档,而不是启用(导入)某一时间节点的记录文档,更不用说重新导入后可以保留之前的诸多修改痕迹。这对追求数据安全、稳定、准确的人来说完全是灾难性的 ================================= 我发现有几个待改进的细节点,希望你在新代码的基础上再作进一步调改。 第一,执行“保存记录并导出”时,保存导出到本地的已校对状态xlsx格式文档,我希望能在“改定词条”信息列录入所有经过手动、自动修改的若干新词条以及未作任何手动/自动修改的若干旧词条。手动修改的新词条包括不重合小结节全局联动修改的词条,自动修改的新词条主要指套加绿色虚线线框进行乙类词身组块自动替换的词条。此外,还包括既有手动修改、也有自动修改的新词条。 第二,执行第一种情况下某一甲类词身组块内若干不重合小结节的全局半自动过滤同步修改功能,我希望能够在弹出窗口中同时标注待确认联动修改的词条条数信息,点击确定修改按钮后同时另外导出一份txt格式记录文档,记录该不重合小结节在各词条的替换记录。替换记录准照弹出窗口的预览信息构造——联动修改对照组词条为基准词条词头文节以及词头文节后五个字符,外加基准词条同步修改甲类词身组块前后五个字符(其中该甲类词身组块不重合小结节应以“(Z:…)[S:…|K:…|M:…|P…]”构造形式进行呈现(其中“…”指代具体溯源标记后的不重合小结节,Z为自定义溯源标记),基准词条其余部分以省略号替代——同理,也涉及册次、(工作表)行次信息,方便我后续回查复核。 第三,我希望可视化界面工作台中翻页设置可再丰富一下,即可顺次换页跳转,也可指定某页跨页跳转。 ================================= 我发现在启用可视化界面工作台进行实际词条校对过程中,有几个显见的问题点。 问题点一,在parse_case_2(处理F类)中,代码底层使用的是difflib.SequenceMatcher(None, sb, kb),它只能比对S(扫描王) 和K(夸克)两者。对于M(MU)和P(PO),代码使用的是粗暴的硬切片mb[j1:j2],pb[j1:j2]。如果M/P的长度与S/K差异较大,这种切片会直接导致字符串错位,甚至程序抛出IndexError,或在前端显示出毫无关联的乱码片段。针对该问题,我希望引入以S为中心的星型对齐算法,分别对 (S, K), (S, M), (S, P) 运行三次 SequenceMatcher,整合三者的insert、delete、replace区间,构建一个基于S的绝对坐标系,再进行切分。这样无论K、M和P怎么畸变,都不会引发错位。 问题点二,find_sync返回的preview_html直接使用了v-html渲染,存在渲染破坏、XSS注入风险。如果OCR文本里包含<、>、&或脚本标签,会破坏HTML结构甚至注入脚本。针对该问题,我希望服务端用html.escape(text)转义后再拼接。 问题点三,在parse_case_2(处理F类)中,仅判断S和K的差异,完全不参考M/P源,比如K多出来的字符串如果M/P都没有,本质是K的识别错误,却会被标成待补内容(缺漏不重合节块),S独有的字如果M/P都有、仅K漏了,却会被标成冗余内容(羡余不重合节块),产生极大误导。针对该问题,我希望就羡余/缺漏不重合节块,应参考出入不重合节块的做法,视为可能包含有空集的特殊的不重合节块比对,以S为基准进行多源词条序列的交叉比对。 希望你根据我反馈的问题点再次为我细心调整、改进代码