查看: 1117|回复: 12
打印 上一主题 下一主题

[求助] 请教FF版朗文5++mdx文件巨大的原因

[复制链接]
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

    6

    主题

    555

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10889

    QQ 章

    跳转到指定楼层
    1
    发表于 2019-8-4 17:43:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    今天想提取这本字典中的辨析和搭配部分,但是没想到折腾了一天一直都失败,要么提示内存不足根本打不开,要么分割之后再进行正则匹配,除了异常缓慢之外,还一直发生未知错误(表达式应该是没写错的)。
    我知道朗文单独的搭配词典和同义辨析词典已经有了,但是那都是纯英文的,我还是想弄个双解的用来阅读。
    那么问题来了,为啥这本词典的文件如此大。。?各位大佬,求解!
    之前garypang大佬的词组提取帖子我也看了,有人说是因为图片都是以啥64格式存在里面的?但是我把所有图片地址都匹配删除了,也只不过小了几十兆而已。。。困惑中。
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

    6

    主题

    555

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10889

    QQ 章

    2
     楼主| 发表于 2019-8-4 18:13:15 | 只看该作者
    nonwill 发表于 2019-8-4 18:04
    内存不足应该不是问题:只是提取词条的部分信息出来,完全可以每次只读入一个词条的信息,针对词条提取到的 ...

    看来我真的需要先把编程学好再来折腾字典这玩意儿了,不然只会使用一些初级工具,遇到问题了就没法用高级的方式来解决。  谢谢大佬指点。。
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    250

    主题

    2966

    回帖

    53万

    积分

    状元

    吃水不忘挖井人

    Rank: 9Rank: 9Rank: 9

    积分
    531111

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

    3
    发表于 2019-8-4 19:12:09 | 只看该作者
    不同词典可能不一样,但用正则提取有时候容易误删数据,这种建议用专门的html解析器来做。
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

    6

    主题

    555

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10889

    QQ 章

    4
     楼主| 发表于 2019-8-4 21:52:28 | 只看该作者
    jonah_w 发表于 2019-8-4 19:12
    不同词典可能不一样,但用正则提取有时候容易误删数据,这种建议用专门的html解析器来做。 ...

    对啊,我就是用正则匹配的时候,选择查找都一条条可以对上,但是选则全部替换就莫名其妙的把一些不相关的部分给删掉了。 谢谢你的建议,我会继续尝试。
  • TA的每日心情
    慵懒
    2022-3-16 01:47
  • 签到天数: 389 天

    [LV.9]以坛为家II

    8

    主题

    753

    回帖

    2099

    积分

    解元

    Rank: 5Rank: 5

    积分
    2099
    5
    发表于 2019-8-4 23:24:42 | 只看该作者
    tangshun 发表于 2019-8-4 21:52
    对啊,我就是用正则匹配的时候,选择查找都一条条可以对上,但是选则全部替换就莫名其妙的把一些不相关的 ...

    正则直接全部替换的时候边界后置字符容易越界
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

    6

    主题

    555

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10889

    QQ 章

    6
     楼主| 发表于 2019-8-4 23:28:50 | 只看该作者
    thresh 发表于 2019-8-4 23:24
    正则直接全部替换的时候边界后置字符容易越界

    对,就是这么回事,这是为什么啊?有什么有效的解决办法吗。
  • TA的每日心情
    擦汗
    2020-9-30 15:12
  • 签到天数: 636 天

    [LV.9]以坛为家II

    4

    主题

    715

    回帖

    9278

    积分

    进士

    Rank: 8Rank: 8

    积分
    9278
    7
    发表于 2019-8-5 08:54:50 | 只看该作者
    因为这套词典自带例句发音,每句例句几乎都有真人朗读,所以音频占用的容量很大。
  • TA的每日心情
    慵懒
    2022-3-16 01:47
  • 签到天数: 389 天

    [LV.9]以坛为家II

    8

    主题

    753

    回帖

    2099

    积分

    解元

    Rank: 5Rank: 5

    积分
    2099
    8
    发表于 2019-8-5 15:55:03 | 只看该作者
    tangshun 发表于 2019-8-4 23:28
    对,就是这么回事,这是为什么啊?有什么有效的解决办法吗。

    这个是正则本身的匹配问题,也就是它的解释器本身的问题,除非自己改解释器。当然这个对大家不太现实

    一般的话,变通的办法有:
    方案一:根据内容手工写一一句匹配后置字符,尽量避免贪婪模式
    方案二:如果直接匹配行尾能生效,不涉及替换,那就匹配到行位,手工添加一些特殊字符。再重复方案一

  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

    6

    主题

    555

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10889

    QQ 章

    9
     楼主| 发表于 2019-8-6 07:17:35 | 只看该作者
    shekel 发表于 2019-8-5 08:54
    因为这套词典自带例句发音,每句例句几乎都有真人朗读,所以音频占用的容量很大。 ...

    并不是这么回事,我只解压了mdx文件,在解压之前mdx文件是195M,文本化后居然是600多M,并没有带语音,我搞不懂为什么这样。
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

    6

    主题

    555

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10889

    QQ 章

    10
     楼主| 发表于 2019-8-6 07:18:25 | 只看该作者
    thresh 发表于 2019-8-5 15:55
    这个是正则本身的匹配问题,也就是它的解释器本身的问题,除非自己改解释器。当然这个对大家不太现实

    一 ...

    谢谢指点。
  • TA的每日心情
    慵懒
    昨天 00:55
  • 签到天数: 1342 天

    [LV.10]以坛为家III

    143

    主题

    2805

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    91207

    笑傲江湖章灌水大神章

    QQ
    11
    发表于 2019-10-31 06:38:36 | 只看该作者
    tangshun 发表于 2019-8-6 07:17
    并不是这么回事,我只解压了mdx文件,在解压之前mdx文件是195M,文本化后居然是600多M,并没有带语音,我 ...

          是被称之为HTML标签的排版指令占的空间太大,这个600多M的文件删去这些内容后,就只有82M的纯文本文件了。
  • TA的每日心情
    奋斗
    2020-11-15 11:37
  • 签到天数: 249 天

    [LV.8]以坛为家I

    20

    主题

    1368

    回帖

    4万

    积分

    状元

    牛津爱好者

    Rank: 9Rank: 9Rank: 9

    积分
    41348

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

    12
    发表于 2019-10-31 20:47:08 | 只看该作者
    yfz48516 发表于 2019-10-31 06:38
    是被称之为HTML标签的排版指令占的空间太大,这个600多M的文件删去这些内容后,就只有82M的纯文本 ...

    其实MDX是有base64的图片嵌入在里面的,html标签本身没这么大。删标签的时候顺便把base64图片也删了,才有了这个82M的效果。
  • TA的每日心情
    慵懒
    昨天 00:55
  • 签到天数: 1342 天

    [LV.10]以坛为家III

    143

    主题

    2805

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    91207

    笑傲江湖章灌水大神章

    QQ
    13
    发表于 2019-10-31 20:49:56 | 只看该作者
    lgmcw 发表于 2019-10-31 20:47
    其实MDX是有base64的图片嵌入在里面的,html标签本身没这么大。删标签的时候顺便把base64图片也删了,才有 ...

          谢谢指教!应该是这样。