查看: 1008|回复: 13
打印 上一主题 下一主题

[汉汉] 部首类聚版部件检索功能全解

[复制链接]

该用户从未签到

131

主题

2650

回帖

3万

积分

翰林院编修

Rank: 11Rank: 11Rank: 11Rank: 11

积分
34126

灌水大神章小蜜蜂章笑傲江湖章翰林院专用章管理组专用章

跳转到指定楼层
1
发表于 2020-7-3 01:43:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 eeshu 于 2020-7-3 01:44 编辑

老帖子已经更新,资源下载请点https://www.pdawiki.com/forum/forum.php?mod=viewthread&tid=23133&highlight=但是可能有不少坛友不太清楚新版部件检索的全部功能,所以再发一帖科普一下。以下内容完全照搬WFG的博客https://fgwang.blogspot.com/2020/07/blog-post.html,有条件者可以自行搜索。

漢字使用環境的建置 —— 部件檢索更新


Unicode + CNS 漢字隨著 Unicode 13.0 的到來,部件檢索也作出了更新,這次不僅支援了所有 G 區漢字的檢字,更一舉涵蓋了台灣 CNS  標準的所有編碼漢字,配合全宋體字型,能檢索、顯示的漢字逼近十二萬大關,該是目前漢字使用環境下一個最強而有力的支援工具。

有理拆分 vs. 無理拆分這一版的拆分資料,我新引入了「有理拆分」與「無理拆分」的概念。所謂的「有理拆分」是按照傳統的漢字構形意義來拆分;而「無理拆分」則是不管構形的意義,直接按字形的形狀切割細分,通常最後可以細拆到一筆一畫為止。舉例來說,像「魚」這個字,按字理是個獨體字,也就是說它自成一個完整形體不可切分。若按「有理拆分」的原則,它就是不可拆分;但若按「無理拆分」的原則,它就可以拆成「⺈田灬」,甚至可以繼續再往下細拆。

顯而易見的,若選擇「有理拆分」,由於拆分只會進行到獨體為止,檢索的響應一定會比較快;若選擇「無理拆分」,由於可能會細拆到一筆一畫,所以速度自然就較慢了。可是反過來說,當輸入「⺈田灬」來檢索時,若選擇「有理拆分」,因為「魚」不可拆分,它就找不到這個字;反之若選擇「無理拆分」則可以。所以兩種方式各有其優缺點跟不同的適用領域,這一版的部件檢索同時內建了這兩類數據,使用者可以依據不同的使用情境,隨時切換。

獨體查詢如前所述,獨體字是自成一個完整形體不可切分的。可是如果這個獨體字我用正常的輸入法打不出來,又不能拆分開來檢索,那要怎麼找到它呢?除了切換到「無理拆分」的辦法外,這一版還提供一個「獨體查詢」的功能,它能列出該模式下的所有獨體字(請注意:「有理拆分」與「無理拆分」模式下的獨體字是不一樣的喔!)

關於「有理拆分」、「無理拆分」與「獨體字」的認定,這其實是需要一些學理上的專業。我並不具備這樣的專業,因此目前建立的數據可能並不完整,也不見得正確。我只先建立起一個架構,希望將來或許能有更多的專家學者在這個基礎上進一步地幫忙完善這些數據。

細部調整這一版的部件檢索程式碼,我其實做了很大的調整。首先放棄了對 IE 7.0 以前較舊版瀏覽器的支援,讓程式碼更為精簡。也全面採用 css 方式來控制版面樣式,方便使用者做客製化的調整。再來就是修正了一些細部邏輯,讓使用者的操作響應更為一致、合理。

由於漢字的總數逼近十二萬大關,檢索的響應速度勢必會變慢,這一版特別加強了沒有勾選「即時查詢」時操作的合理性,若覺得檢索的響應速度實在太慢,不妨取消「即時查詢」的勾選試試。

類聚鍵盤這次跳脫了舊式思維,我設計了一種新的虛擬部件鍵盤,採用「物以類聚」的分類概念,讓性質相近的部件類聚在一起,希望讓使用者熟悉之後能「反射式」地定位部件的所在,加快輸入的速度,改善傳統鍵盤按筆畫數分類,使用者難以記憶反射的缺點。



當然,目前的按鍵安排還在起草階段,可能還難以盡如人意。不過這次按鍵的定義我改採簡單明瞭的陣列式描述,有興趣的朋友不妨看看原始碼(不懂程式也能改),您可以很容易地按自己的意思增減,定義自己專屬的鍵盤。不過若有好的 ideal,千萬記得反饋給我,呵呵!

如果真的無法適應新的類聚鍵盤,我還是提供了傳統鍵盤的版本,供大家自由選擇。


下載連結:部件檢索(測試版).7z



使用實例部件檢索的使用請參見  漢字使用環境的建置 ㈡ —— 輸入篇 的說明,這裡不再贅述,改用幾個實際例子來引導大家進入使用的情境:

即地解構 假設我們要檢索左邊這個字。
左邊的「⺶」當然屬「動物區」,直接找到,點擊輸入。右邊的部件不太好輸入,但我們想起翺翔的「翺」也有這個部件,可以加以利用,於是直接輸入「翺」。

按一下解構按鈕,這時「翺」就會裂解成「臯羽」,我們便取得了這個難輸的部件。

再按一下倒退鍵,消掉「羽」,於是我們就完成了輸入,找到該字。


字頭部件 假設我們要檢索左邊這個字。
左上的是個常見的字頭部件,這次的類聚鍵盤為大家整理了一個「字頭區」,直接在這區就可找到這個部件。左邊中間是個「口」,「口」當然屬「人體區」。左下是個「冊」,「冊」是書,往「書樂區」去找。右邊是個「殳」,「殳」是兵器,屬「軍事區」。這樣我們就可依次輸入四個部件,順利找到這個字(其實輸入第三個部件時就已經找到)。


包圍部件 假設我們要檢索左邊這個字。
左邊的是個包圍部件,包住一個韭菜的「韭」,類聚鍵盤為大家整理了一個「包圍區」,直接在這區就可找到這個部件。「韭」當然在「植物區」。右邊的「毛」在「動物區」。


部分查詢若這時我們突然想知道左邊的兩個部件是否能合成一個字,不用清除重查,請直接反白選取這兩個部件,按一下查詢鍵,即可查到「韯」字。


快速替換如果想用「韯」替代原先的兩個部件,直接右擊「韯」字,即可快速替換上去。善用「部分查詢」及「快速替換」的功能,可以增加查詢時的便利性與靈活度。


複製部件有時候我們想直接複製虛擬鍵盤上的部件,而不是想輸入,例如直接右擊顏色區的部件按鈕,該部件的字符「靑」即會被複製到剪貼簿。


未竟之功由於全字庫的拆分是拆到最細(最大拆分),而做為部件檢索用途,最小拆分才能達到最佳效果,因此我需要逐字加以調整、訂正全字庫的拆分。目前完成了數千字,還有萬餘字等待檢覈。原本想等全部完成後再對外發布,無奈父親一病讓我耽擱了大半年,再加上 G 區字既出,很多朋友等著有工具可以支援,因此只好先將這個尚未完全優化的版本推出,讓大家先有個工具可用,至於進一步臻至完善,只好徐徐後圖了。

未來展望整合完全字庫的 CNS 編碼漢字後,我的下階段目標是將教育部異體字字典裡的所有圖片漢字整併進我的字庫之中。三年前,我擷取了教育部異體字字典的數據做成一部《教育部異體字字典》自用。由於官網的十萬漢字之中只有約一萬八千字是文字化的(Unicode 編碼),其餘全部以圖片加上編號來表示,這非常不利於檢索查詢。雖然與全字庫官網類似,官方都提供構形檢字的方式來查詢,但其實後台的數據都不完整,很多字都檢索不到。如果不信,我們便以「一」的異體字為例:




到官網的「複合查詢-條件七-形構」,輸入第一字的「匕天又土囗日」,或是第二字的「匕矢又土囗臣」,或是兩字共有的「匕又土囗」,都是查不到任何字。

三年來,我陸續將這些未文字化的圖片整理還原,目前已經還原約四萬字,106302 字中共有 56729 字是可以直接利用部件檢索來檢字的,已經超過一半。如果能將它全部完成,不僅可以檢索到《教育部異體字字典》的每一個字,對一些古籍的數位化也能提供幫助,可以大幅減少缺字的困擾。只是這是個恐怖的工作量,憑我一己之力,不知要到何年何月才能完工!大家只好慢慢等囉,呵呵!










  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    2
    发表于 2020-7-3 06:07:30 | 只看该作者
    本帖最后由 VimVim 于 2020-7-3 06:21 编辑

    试用了一下,類聚鍵盤很有创意!但要求我们需要事先熟悉分类,否则依然很难找到。在
    我的长期实践中,我更常使用文中提到的“即地解構”方法。

    建议:
    1. 无论是類聚鍵盤,还是傳統筆畫鍵盤,都增加一个常见汉字偏旁部首(如大陆《现代汉
       语词典》附录中所列)。
    2. 更进一步,增加一个部件收藏功能,用户可以按自己的心意自由收藏部件。
    3. 更大胆的一个想法,将解構功能和搜索功能二合一,全部放入搜索功能中,搜索结果包
       含两个部分:(1)将汉字拆解为部件,(2)将部件组合为汉字。在具体体验上,可以
       只解构搜索框中最后一个汉字,结合即时搜索,体验应该很不错。

    该用户从未签到

    131

    主题

    2650

    回帖

    3万

    积分

    翰林院编修

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34126

    灌水大神章小蜜蜂章笑傲江湖章翰林院专用章管理组专用章

    3
     楼主| 发表于 2020-7-3 07:02:05 | 只看该作者
    VimVim 发表于 2020-7-3 06:07
    试用了一下,類聚鍵盤很有创意!但要求我们需要事先熟悉分类,否则依然很难找到。在
    我的长期实践中,我更 ...

    1. 加在哪儿?页面有限,只能布局不易输入的部首,而不是全部。
    2. 目前可以暂时收藏若干部件,如果要永久收藏有两个问题:一,该部件和其他部件组合成什么字的信息从何而来?二,原因同1.
    3. 没看明白。(1)(2)同时进行的话,到底是拆字还是组字呢?
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    4
    发表于 2020-7-3 07:46:05 | 只看该作者
    本帖最后由 VimVim 于 2020-7-3 08:57 编辑

    1-2、传统键盘不是有单选项切换功能?或标签页。2、配置文件?我不太懂相关技术
    3、就是同时拆字和组字:按需选择。
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    5
    发表于 2020-7-3 07:52:54 | 只看该作者
    本帖最后由 VimVim 于 2020-7-3 08:14 编辑

    将其加入mdx后,在GoldenDict中相应的javascript无法使用——无法切换键盘的收缩和展开。解决方案:
    原始:
    <span class="Line"><a href="javascript:;" id="padbtn" title="鍵盤收/展">▲</a>⌨


    修订:
    <span class="Line"><span id="padbtn" title="鍵盤收/展">▲</span>⌨


  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    6
    发表于 2020-7-3 08:21:14 | 只看该作者
    加入mdx很好很强大

  • TA的每日心情
    开心
    2019-1-18 23:55
  • 签到天数: 230 天

    [LV.7]常住居民III

    72

    主题

    1027

    回帖

    11万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    117972

    QQ 章

    7
    发表于 2020-7-3 08:37:55 | 只看该作者
    还没用(之前版本我也够用了),给想弄成手机版mdx的说点建议:
    (1)字体。WFG弄的全宋体在手机上好像有些问题,蛮多字显示不出来。可以考虑使用开心宋体,查了下今年更新了,也支持到G区(A区的包就不用装了,都支持的)。私有字体部分还是用全宋体里的那个包。
    (2)手机上用,把ttf转成woff或者woff2能节省空间,其中前者兼容性更好,而后者体积要小很多。当然如果是电脑使用,直接安装字体就行了,不需要这么折腾。
    (3)建议不习惯看繁体字的把提示性文字换成简体,这些都是可定制的。
  • TA的每日心情
    擦汗
    2022-3-25 11:07
  • 签到天数: 66 天

    [LV.6]常住居民II

    23

    主题

    510

    回帖

    3585

    积分

    贡士

    Rank: 6Rank: 6

    积分
    3585

    QQ 章灌水大神章笑傲江湖章

    8
    发表于 2020-7-3 08:40:21 | 只看该作者
    VimVim 发表于 2020-7-3 07:52
    将其加入mdx后,在GoldenDict中相应的javascript无法使用——无法切换键盘的收缩和展开。解决方案:
    原始: ...

    请问找到这段代码替换就好了么?

    点评

    是的  发表于 2020-7-3 08:50
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    9
    发表于 2020-7-3 10:27:06 | 只看该作者
    求教:如何让GoldenDict的搜索框可以输入冷门字?

    使用“部件檢索”确实查到了想要的字,但无法输入到GoldenDict搜索框,即使有相应的词典,也无法进行检索啊。

    点评

    复制模式,应该有效。  发表于 2020-8-23 10:33
  • TA的每日心情
    擦汗
    前天 07:00
  • 签到天数: 1090 天

    [LV.10]以坛为家III

    124

    主题

    1772

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10477

    灌水大神章小蜜蜂章笑傲江湖章

    10
    发表于 2020-7-3 11:24:44 | 只看该作者
    有没有人出个c语言版,配合超微浏览器d:类url速度应该飞快。
  • TA的每日心情

    3 天前
  • 签到天数: 204 天

    [LV.7]常住居民III

    1

    主题

    332

    回帖

    5701

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    5701
    11
    发表于 2021-4-29 17:41:01 | 只看该作者
    词典应该不错。
  • TA的每日心情
    开心
    2020-6-11 10:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    253

    回帖

    845

    积分

    举人

    Rank: 4

    积分
    845
    12
    发表于 2021-9-13 18:20:13 | 只看该作者
    非常非常非常赞强烈推荐