查看: 664|回复: 7
打印 上一主题 下一主题

[求助] 【请教】创建词条跳转时,单复数形式与词头不同,怎么办?

[复制链接]
  • TA的每日心情
    慵懒
    2018-6-25 21:54
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    58

    主题

    809

    回帖

    3万

    积分

    翰林院编修

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

    积分
    30780

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

    跳转到指定楼层
    1
    发表于 2017-5-30 12:01:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    比如我用正则替换得到这个:<a href="entry://self-concepts">self-concepts</a>,但词库中的词头却只有self-concept,而没有self-concepts。这种情形可有办法解决?如果单复数能解决,那有无连字符也能吗?比如在另一处是这样:<a href="entry://selfconcept">selfconcept</a>,还是想要链到self-concept上。

    该用户从未签到

    14

    主题

    281

    回帖

    4490

    积分

    贡士

    Rank: 6Rank: 6

    积分
    4490

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

    推荐
    发表于 2017-6-4 20:46:11 | 只看该作者
    本帖最后由 skywind3000 于 2017-6-4 20:51 编辑

    光靠正则搞不定,你需要 Lemma List,就是一个每个单词有哪些变形的对应表格,比如:

    1. be/4109826 -> is,was,are,were,'s,been,being,'re,'m,am,m
    2. have/1315648 -> had,has,'ve,having,'s,'d,of,d,ve
    3. it/1213224 -> its,they
    4. he/1196022 -> his,him,they
    5. i/1133697 -> my,me,we,is
    6. they/841960 -> their,them,'em
    7. you/804279 -> your,ya,ye
    8. not/767330 -> n't
    9. she/653505 -> her
    10. do/535646 -> did,does,done,doing,du,d'
    11. we/503360 -> our,us
    12. will/334612 -> 'll,wo,ll
    13. say/317317 -> said,says,saying
    14. would/278414 -> 'd
    15. can/263138 -> ca,cans,can,could
    16. go/227247 -> going,went,gone,goes,goin'
    17. get/212569 -> got,getting,gets,gotten
    18. make/209818 -> made,making,makes
    19. up/206976 -> ups,upping,upped
    20. see/184969 -> seen,saw,seeing,sees
    21. other/181277 -> others
    22. time/181080 -> times,timed,timing
    23. know/177717 -> knew,known,knows,knowing
    24. take/172773 -> took,taken,taking,takes
    25. year/161649 -> years
    复制代码


    然后写点小脚本就搞定了,点击下载:
    lemma.en.txt

  • TA的每日心情
    开心
    2023-1-18 23:24
  • 签到天数: 211 天

    [LV.7]常住居民III

    427

    主题

    4539

    回帖

    9万

    积分

    超级版主

    Rank: 12Rank: 12Rank: 12

    积分
    92011

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

    3
    发表于 2017-5-30 12:56:52 | 只看该作者
    可能要@@@LINK=



    <a href="entry://self-concepts">self-concepts</a>这种空格都不能多一个,否则找不到正确词头
  • TA的每日心情
    慵懒
    2018-6-25 21:54
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    58

    主题

    809

    回帖

    3万

    积分

    翰林院编修

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

    积分
    30780

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

    4
     楼主| 发表于 2017-5-30 13:21:32 | 只看该作者

    是啊,可是总不能把所有关键字用单复数来一遍@@@LINK=
  • TA的每日心情
    开心
    2023-2-24 18:44
  • 签到天数: 339 天

    [LV.8]以坛为家I

    12

    主题

    1566

    回帖

    58万

    积分

    超级版主

    Rank: 12Rank: 12Rank: 12

    积分
    582062

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

    5
    发表于 2017-5-30 14:09:48 | 只看该作者
    本帖最后由 blkserene 于 2017-5-30 14:11 编辑
    ~荆棘 发表于 2017-5-30 13:21
    是啊,可是总不能把所有关键字用单复数来一遍@@@LINK=


    GD 里开着形态学词典的时候可以正常跳转(不过貌似只能处理一些曲折变化 连字符大概不行)
    词头和正文一一对应 除非MDX自行添加@@@LINK进行优化 或者软件本身进行了类似的搜索优化(各个软件情况不同所以很不靠谱 还是建议自己来)
    所以这些就是制作词典后期优化里头痛的地方了
    我能想到的方法就是去弄一张 单复数穷举对应表 然后遍历替换就行
  • TA的每日心情
    慵懒
    2018-6-25 21:54
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    58

    主题

    809

    回帖

    3万

    积分

    翰林院编修

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

    积分
    30780

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

    6
     楼主| 发表于 2017-5-30 15:15:15 | 只看该作者
    blkserene 发表于 2017-5-30 14:09
    GD 里开着形态学词典的时候可以正常跳转(不过貌似只能处理一些曲折变化 连字符大概不行)
    词头和正文 ...

    请问怎么个遍历替换法?感觉得会编程才行的样子。。。
  • TA的每日心情
    开心
    2023-2-24 18:44
  • 签到天数: 339 天

    [LV.8]以坛为家I

    12

    主题

    1566

    回帖

    58万

    积分

    超级版主

    Rank: 12Rank: 12Rank: 12

    积分
    582062

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

    7
    发表于 2017-5-30 16:53:00 | 只看该作者
    ~荆棘 发表于 2017-5-30 15:15
    请问怎么个遍历替换法?感觉得会编程才行的样子。。。

    python 里就是 for line in file: re.sub('xxxx', 'xxxx', line)
    随便什么编程语言都行 不然的话你弄到曲折变化表后还要手动一个一个替换。。
  • TA的每日心情
    慵懒
    2018-6-25 21:54
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    58

    主题

    809

    回帖

    3万

    积分

    翰林院编修

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

    积分
    30780

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

    8
     楼主| 发表于 2017-5-30 20:17:38 | 只看该作者
    本帖最后由 ~荆棘 于 2017-5-30 20:19 编辑
    blkserene 发表于 2017-5-30 16:53
    python 里就是 for line in file: re.sub('xxxx', 'xxxx', line)
    随便什么编程语言都行 不然的话你弄到 ...


    然而我已经跪了。。。再者屈折表也不会弄,暂时放弃得了。还是多谢指导。