由-o-所引发的异常对于词典格式一点想法

我这几天一直在试图解析文馨词典, 要把它转成json格式.

由于没法获取全部词条的所有可能的html排版格式.

就只能边解边看, 发现有"另类"的词条, 就得添加规则重新解析.

-o-

比如, 词条"-o-", 内容除了音标, 无任何内容, 导致脚本里提取不出任何信息. 后面我使用json时, 遇到NoneType Error.

提取信息时, 已经加判断和try except, 但我怎么也没料到竟然存在没有任何内容的词条.

还有"FreeMdict"词条, 它的内容没有标签包裹. 导致内容没有被提取出来. 像这类没有被正确包裹的, 或者包裹方式不统一的例子还有.

统一

为什么词典的格式不能统一起来呢?

如果所有mdx词条能用统一的排版格式, 比如xml或者json. 用这样的方式便于把信息在不同的词典间做交换.

有了这样统一的语义结构, 词典软件可以做到:

在查询单词的时候, 可以随意将不同词典的不同部分收藏组合, 在查词, 直接显示你所组合的词典的内容.

不需要某部词典的某一个部分, 在软件里直接消去, 查词时就不在显示该部分, 与此相反, 高亮显示你最感兴趣的部分.

统一的格式的影响

  • 词典的开发者: 更容易解析词典, 可开发出更强大的词典软件
  • 对词典的作者: 因为更容易开发出相应的工具, 词典作者更容易制作词典
  • 对高级用户: 能玩的更多, 不再是改改css, 跨词典组合, 定制内容更加方便
  • 对普通用户: 使用方式上无额外影响
  • 对词典软件: 不再局限于web浏览器渲染, 标准格式化的词典, 在解析算法上会更容易, 且性能和兼容性会得到提升. 比如在智能手表里查询词典.

以上只是最容易想到的好处.

2 Likes

拿英语来说,OED、MWU、CED、LDOCE的格式都是HTML原网站格式的。

它们本身就不统一,大家当然是想让它统一,这样精确到每一个释义都可以查看不同词典的解释用词,而不用一大坨里找了。

这个过程,需要会人工智能的进行语义自动分组判定,把图片、音标、释义、例句、词源、搭配的区分和联系进行分组。尤其遇到 learned 这种音不规律的还要特殊处理。

牛津朗文韦氏都有提供json格式的数据接口,结构字段内容都不相同,没法统一。

1 Like

与其花大量的时间对各种词典修修补补,真不如弄个一劳永逸的方案。一旦转换成标准化的数据库,新的查询、挖据、组合方式等各种花样也就变得简单了。

@舒服员 老兄这个工作有新进展吗?等着学习呢

刚看这个YT视频(What is Elasticsearch?)想起你这个帖子