“简繁通搜”:“在软件层面实现”与“在数据层面实现”的差异。

“简繁通搜”,大概指的是:
无论用户输入简体字或繁体字,都能查询到目标词,并能跳转并显示词典相应的释义。
这是好事儿。
不过具体实现起来,却存在很大差别。

首先说说较为理想的“在软件层面实现”方式:
由词典软件负责简繁体字之间的双向转换。
即:无论用户输入的查询关键字是简体或是繁体,软件自动在代码内部进行转换,接着,搜索词典数据,找到目标词,并显示正确的释义内容。
这一切简繁转换操作,对于用户是完全透明的,你输入“亲爱”,软件自动内部转换成“親愛”,然后从《國語辭典》查询到繁体释义,最后展示给你看。
MDX本身只需保存原汁原味的正确词典原文数据,无简体字,用户却能够输入简体关键字进行正确的查询;反之亦然——词典数据本身无繁体字,用户却能够输入繁体关键字进行正确的查询。
这一切,用软件代码实现起来很简单,比方说,Windows版只需调用LCMapString等寥寥几个API,即可实现一个最基本的(简陋版)“简繁相互转换”,无难度;Linux我没接触过,估计肯定有类似函数可供调用。

再来说说网友在数据层面实现的“简繁通搜”:
将一整部词典数据或者全部的词头数据进行繁简转换,转换得到的数据,也统统保存到了MDX中,以此来实现“简繁通搜”的便利查询。
这有些欠妥!
事关,繁简双向转换会产生错误(甚至是大量的转换错误),且无法避免——除非你逐字逐字仔细校对好几遍全文,否则整部字典的差错率远超万分之一,甚至千分之一。
且,繁简双向转换的操作,是不可逆的,错误会固化到mdx词典数据当中。用户面对一部经过繁简双向转换的词典,永远无从准确分辨识别:词典中,有哪些内容是完全正确的,而有哪些内容混杂了繁简转换错误。
即我常说的:不足为据。

一句话结论:在数据层面实现的“简繁通搜”,事实上,已毁了原本正确无误的词典。

又来了,麦丰兄,坛里的大漢和辞典没有简繁转换,可以用,但是…,你看得懂吗?哈哈,反正我用起来很爽。

说笑了。哈哈哈哈。
打一个不太恰当的比方:
在数据层面实现的“简繁通搜”,也就相当于,将整部《大漢和辞典》正文或者全部词头,用谷歌、百度翻译等,“机翻”为中文,悉数添加到辞典数据当中,与原始数据并列,最后做成MDX,命名为:
【汉日通搜】大漢和辞典

主帖说的,大致是这么个意思。
希望朋友能看懂。
想要问问你敢不敢,使用这样一个mdx?

为什么要机翻?我是直接看的。与其四处提要求,不如提升自己。您没那本事就认了吧。

关于”在数据层面实现的“繁通搜”,还漏写了一大弊端:

将”繁简转换“后的词典正文或词头数据,也一并添加到MDX当中,事实上,大大增加了无谓的数据冗余。可能原本3MB的词典,弄出4、5MB来,而这多出的部分,有很多仅仅是人为(软件)生产出来的转换错误。

你和surfactant是兄弟吗?

虽是笑谈,不过,这倒还真是一个挺有前途的词典软件方向哈:

在软件层面实现【汉日通搜】、【汉英通搜】、【汉法通搜】、【汉德通搜】……

只需以CSV等简易文本形式,为词典软件添加相应的汉日、汉英、汉法、汉德……“机翻”查询表,即可实现较粗陋的各种不同语言的“通搜”功能,而不仅仅限于“简繁通搜”。

呵呵。好玩儿。

你咋不直接说全语言全文通搜

实际上要明确,是内容的繁简转换,还是仅仅添加了索引的繁简通搜。
前者容易出错,并不推荐,且耗费精力后期校对;后者并没有改动任何词典内容,毁了正确无误的词典更无从谈起。

2 Likes

他就是来挑刺的,前言不搭后语,甭对其解释。

1 Like

不要揶揄别人。

1 Like

二者确实是有区别的。
问题在于,在搜索关键字框的词头索引列表里,并无明显标记可一眼区分:哪些是原词,哪些是繁简转换后的可能有错的词。
比方说,若所有繁简转换词头,都能显示为小两号字、斜体、红字或标一粒小星,那么,楼主也不会发帖指出这个问题啦。
又或者,所有繁简转换词头,都加多一组类似这样的XML标记:
< cht2chs >巴拉巴拉< /cht2chs >
那么,有“文字洁癖”的网友,就可以方便地解包出MDX源文件,简单采用一个正则表达式,即可将全部带标记的跳转,整行删除,便得到了一个无任何人为(机器转换)错误的原始词典数据版本。
任何转换,只要是简单可逆的,便是可以接受的——若不喜欢随时“逆”回去即可;
然而,那种不可逆的转换,特别是针对严肃词典的不可逆的转换,用楼主的话说——
那是在毁词典!

freemdict有个有趣的现象——准确的说——挺无趣的现象:
个别朋友喜欢贸贸然无端跟帖:“我反对你的赞成!”,或者,“我反对你的反对!”
至于楼主帖子里赞成什么,或者,反对什么,似乎并不重要,跟帖者对于主帖说了什么内容,一无所知,也从不care,总之,就是要无厘头跟帖反对,就是要闲来无事刷刷自己的存在感……必须的!
就比方说,我聊“简繁通搜”,朋友会莫名其妙地跟帖:
漢和辞典他用得很爽。
讲真,漢和辞典他用得很爽,或者,用得很不爽,都不关楼主事,也跟楼主的帖子无半毛钱关系。
他若真的很爽,不妨到【闲聊吹水】发一个新帖,晒一晒溢满胸腔激情四荡由衷的喜悦与幸福——然而,那一切喜悦与幸福,真的跟楼主以及楼主所聊的“简繁通搜”,真的真的无半毛钱关系。
何必连跟1、2、3、4、5个帖子,没有一句聊到“简繁通搜”,却腻歪无限地一个劲儿缠着楼主,甩都甩不脱呢?
难不成,他不小心知道了,楼主有糖糖要派给小朋友吃?
可,那是给15楼张大爷他3岁的小外孙女囡囡买的,真的,楼主从不骗人。
少馋嘴。
呵呵。

繁简转换的词头都是跳转,不需要XML标记,软件层面就可以区分出来。没有这样做的原因是,MDX的文件格式把跳转的标识放在词条的内容里,批量读取的时候会影响查词速度。

恰恰正是因为从软件层面无法区分,主帖才会特别在意并且特意指出其“毁”。

在无明显标记的前提下,我们根本无法区分正常跳转与繁简跳转。
难不成,我们批量将全部的跳转一律删除,即能够将词典数据恢复至原状?——那会误删词典固有的正常跳转。

你最好举个“毁”的具体表现。
我认为,数据层面实现的“简繁通搜”=仅添加简体或繁体索引=不更改词典内容。
比如在关闭软件的繁简通搜的前提下,搜索“准则”,显示的词条为“準則”,我就知道mdx内部已经加了简体索引了,但是这根“毁了原本正确无误的词典”有什么关系呢?

2 Likes

你可以修改GoldenDict,让他区分出来。

不论词头还是跳转都是人为添加的,你想要原始数据,词头都可以全部删掉。

这就触及到了MDX词典的“灵魂”与“本质”。
先来作一个粗线条的界定:
MDX词典 = ①词典文本数据 + ②词头跳转索引
嗯……一个MDX词典,最有价值的部分,当然是①词典文本数据,最便利的部分,则是②词头跳转索引。
“词头全部删掉”,意味着,毁弃掉MDX词典使用最便利的那一部分。
那么,MDX也就失去了存在的本质与意义。
依您的意思,用户得到一个mdx词典,若想拥有原汁原味的查询,那么就直接删掉全部的②词头跳转索引吧,只保留①词典文本数据,就好啦!
那么试问,为什么制作者还要辛辛苦苦制作成mdx?所有的词典,全都提供TXT不香吗?
反正只要随便找个emeditor、UltraEdit……等等超大TXT文本编辑软件,打开TXT,Ctrl+F,输入关键字,即可跳到相应词典正文处。

之所以下载使用mdx词典,本质 上,正是希望利用其便利快捷的②词头跳转索引部分啊。
现在,数据层面实现的【简繁通搜】,恰好在“毁”掉②词头跳转索引部分,人为地、主动地、机械地引入了大量的简繁转换错误,让错误词头与正确的原始词头,混杂到一起,且无法区分开来。

是故,曰:
毁。

根本不存在错误词头与正确词头混杂到一起的情况,你倒是举一些例子看看。
1、在mdx—txt文件层面,原始数据,与跳转数据,展现的形式不一样:索引跳转以@@@LINK=的形式保存,没有其他内容,一眼就能区分。
2、以“乾坤”为例,假若加入了一个错误简体索引“干坤”,则在搜索“干坤”时将被指向正确的词语“乾坤”,在这个过程中,词典是如何被毁掉的呢?

词典原有的、正常的跳转,是以@@@LINK=的形式保存,
词典繁简转换得到的、人为新增的跳转,也是以@@@LINK=的形式保存。
这是无法一眼区分的——除非【简繁通搜】词典,强制规定:
不允许出现“词典原有的、正常的跳转”,而只允许保留“繁简转换得到的、人为新增的跳转”。