mdx 转为 sqlite 作为 Emacs 内词典数据源

如题,现在 AI 可以很好的提取很复杂的结构性数据,朗文6算是很复杂的词典了,我目前适配了朗文英英6和牛津高阶双解4,完全可以适配在其他词典中 mdx 的表现。朗文6用了在线语音,当然也可以使用 mdd 中提取的离线资源。

至于 mdx 转换后的 sqlite db 文件(或者你的mdx版本和我相同,就可以利用repo里面的脚本自行转换。),不知道这里是否能放,先不放了,有需要的可以在 tg 群内问我要。

7 个赞

repo中的脚本是专门适配牛津和朗文这两个词典的吗? 之前编辑mdx的时候用过mdict,里面也有转化为SQLite的选项的,不知和repo中的效果是否一样:

> mdict -h
usage: mdict [-h] [--version] [-k] [-m] [-q <key>] [--txt-db] [--db-txt] [-x] [-d <exdir>] [--exdb] [--exdb-zip] [--split-n <number>]
             [--split-az] [-a <resource>] [--title <title>] [--description <description>] [--encoding <encoding>] [--key-size <size>]
             [--record-size <size>] [--key-file <key file>] [--convert-chtml]
             <mdx/mdd>

MDict pack/unpack tool

positional arguments:
  <mdx/mdd>             Dictionary MDX/MDD file

options:
  -h, --help            show this help message and exit
  --version             show version
  -k                    show mdx/mdd keys
  -m                    show mdx/mdd meta information
  -q <key>              query KEY from mdx/mdd
  --txt-db              convert mdx txt to sqlite3 db. <mdx/mdd> is ".txt"
  --db-txt              convert sqlite3 db to mdx txt. <mdx/mdd> is ".db"

我还真不知道这个,我是直接结构化提取的,等今天研究研究这个。

看了下,那个只是转为键值对,值是html,所以对在 emacs 内使用没什么用,还是需要额外解析结构,提取数据。

能不能在这里分享一下转换完的?我尝试用这个脚本:

  1. “Please install python-lzo first. This packagewont work without lzo.”
  2. pip install python-lzo → Exception: please set LZO_DIR to where the lzo source lives

我分享一下吧,不过不知道是否合规。https://www.dropbox.com/scl/fo/99uuvwpop8soyalrerwci/AIkVDmWhcjA-uc8vcDZTTj8?rlkey=ojfwecu3ftghq2vuwapd3icnc&st=p2kaa3yi&dl=0

1 个赞

用起来不错👍 不过双解里面没有也看到中文?

转换脚本能否给个详细的配置说明,我看看如何转换自己的 mdx,谢谢

按t会出现,有🌐标志的就是有翻译的

有个 schema.md 你可以先看看,主要还是要写 python 脚本解析 html和css,因为每个词典结构都不一样。脚本这个事情我觉得 ai 可以代劳。然后就是 lexdb-ui 中提供了一些公用的,然后写自己解析词典的adapter,也就是例如 lexdb-ldoce。

能否放baidu网盘上吗?不方便翻墙。

我用夸克网盘给你分享了「OALD4_EC」等2项,点击链接或复制整段内容,打开「夸克APP」即可获取。 /~5f613A65E4~:/ 链接:https://pan.quark.cn/s/f2f81dc3fdad

谢谢