掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 916|回复: 2

[经验交流] 一个GoldenDict或任何词典软件 全文搜索 的局限性

 关闭 [复制链接]
  • TA的每日心情

    2019-9-23 23:38
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2020-2-3 13:02:43 | 显示全部楼层 |阅读模式
    本帖最后由 lbhl 于 2020-2-3 13:18 编辑 / H6 V- @, J4 {/ W7 E5 g7 r3 W4 N

    - ~. `, V9 a! Y最近才注意到一个GoldenDict(或任何词典软件)全文搜索的一个巨大局限性:被搜索的内容如果是多个关键字,那么这些关键字之间不允许再有其他HTML标签分隔。即它们必须位于必须位于同一个标签层级,不允许其中任何标签单独再被其他标签围绕。否则将不被全文搜索所发现。这种简单的文本搜索方法对程序员来说是方便了,但对使用者而言则是被屏蔽了本应该看到的内容。5 N  H8 A* ?. ~3 V+ O" a. A- g
    因为最近肺炎肆虐,看英文新闻的时候常看到一个搭配 “infectious patient”,意思是“被感染的病人”。 想进一步查阅infectious的用法。
    . V0 p! D0 q( ^4 w! V牛津高阶:
    1 _: E, V# ^( m, _2 j[not usually before noun]if a person or an animal is infectious, they have a disease that can be spread to others患有传染病;有传染力
    ! M/ {4 k9 a/ V8 W# O明摆着最近看到无数新闻中有 “infectious patient”这种用法,它竟然还说[not usually before noun],简直是一派胡言!之后又查阅了多部词典,竟然只有一部韦氏高阶双解中看到了解释:
    * F7 p! M+ Q0 O! p/ H* \- K/ fsuffering from a disease that can be spread to other people by germs患传染病的/ m7 N+ D+ Q) H8 p5 U9 c
    an infectious patient
    , {! i; \0 L  |; |  ]0 s8 {9 z传染病患者) H2 F' A; G2 b8 T: ^5 e$ H/ |
    9 b) @% e1 j! W3 ?; t3 N
    接着,又在GoldenDict进行全文搜索 “infectious patient”,结果搜索到其他几部词典例句中也有此用法,但韦氏高阶中刚通过词头infectious看到的上述例证就是搜不到。
    1 g  A+ f* k- w9 Z4 }0 L! p接着再仔细观察韦氏高阶中该例证的HTML,原来infectious用了一个em标签围绕,但patient没有。难怪词典里显示infectious这个词的时候是斜体。0 T" z3 u; j! O7 p0 G6 U
    GoldenDict显然是将“infectious patient”作为一个整体去利用正则表达式的API来搜索,而不会自己分析词库的HTML将em标签去掉。如果将全文搜索的“最大间距”设置为非零,一样无用搜不出。GoldenDict不会认为em标签本身是属于关键字之间有效的内容。
    7 t7 q. ^- F! X# X$ Q
    ) R$ W4 Z3 A* h0 F* j. C% q- j如果高手能解决这个问题,无疑全文搜索能获得更多有效的结果。但通用的解决方案在编程上肯定是一个大难点。( p% o6 c3 y" t& K
    但我想,有一个简单可行的解决方案,即针对特定的词库专门编程来处理这些干扰HTML标签。词库那么多,同一个词库版本还很多,显然每个都专门处理工作量巨大。但是,实际上绝大部分人都在用的经典词典也就是十几二十部而已,如果专门针对这二十部词典编程工作量也不会大,但能解决绝大部分人的问题,肯定会深受使用者欢迎。此外,可以通过扫描文件计算MD5来判断词库版本。
    . `! q. D* \9 z# J7 @3 N
    9 M% p# ^+ `3 c, \$ m$ {4 T9 a" t1 m

    ! T: Q7 F5 K$ ^+ C# _3 R1 E. _2 g2 Y" e
  • TA的每日心情
    慵懒
    15 小时前
  • 签到天数: 1459 天

    [LV.10]以坛为家III

    发表于 2020-2-3 14:02:04 | 显示全部楼层
    你找这一本英文韦氏,全文搜索找得到你那个例子  (或许更简单的应对方法就像这样,多装几部词典来对照,就算其中一两本是漏网之鱼,还有其他的可以补上,算是一种「词典海战术」吧。)9 X4 s- @" M' j: Y
    -------
    8 m2 x% O- a7 W. ]: R1 V2 @: p5 ZMerriam-Webster's Advanced Learner's English Dictionary, online, 2016/2/5
    0 T  I" [  r8 G2 R, e6 g/ G# P0 w0 S9 q; v- [6 S5 W  }
    copyright © 2016 by Merriam-Webster, Incorporated
    4 S8 M1 [1 B' c+ P* r5 [; |1 }# Q
    Copyrights/ `0 {# g" O, [2 M( l

    1 W2 r) M3 g& {/ k/ f; d1 xAll contents of the Services are © Merriam-Webster, Incorporated or its licensors. All rights reserved. Merriam-Webster Online (www.Merriam-Webster.com, www.LearnersDictionary.com) is copyrighted 2016 by Merriam-Webster, Incorporated. All rights reserved.$ j! M  `3 q5 o1 Z6 K

    ; q3 s, G# Q. c3 F3 K; ^4 v$ pNOTE: This material is for academic and personal use only, free but WITHOUT ANY WARRANTY. " K- P2 Y7 o5 J/ g

    ' a9 C! X0 _/ B7 K& n1 G/ {) c9 m% lTHANKS TO THOSE IDs: e****y, T***a, y*****t, L********g, y*******s, 无**, z*****c, s*****7, l**********i, O***y, g****b 8 E2 ~. D# C2 `8 v, [  w' ?) ?2 m& i

    4 L1 [* M/ O5 {& F$ Bmdx made by g****b
    / a0 M1 h/ [! sLast Updated: Feb 15, 2016
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    发表于 2020-2-3 16:02:18 | 显示全部楼层
    用正则模糊搜索就好了
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2024-5-7 22:27 , Processed in 0.037122 second(s), 8 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

    快速回复 返回顶部 返回列表