zoukankan      html  css  js  c++  java
  • 2018-09-06 Java实现英汉词典API初版发布在Maven

    在打算批量代码汉化工具 · Issue #86 · program-in-chinese/overview时, 发现没有现成的Java库实现英汉查询功能. 于是开此项目.

    源码库: program-in-chinese/english-chinese-dictionary

    API使用中文命名. 源码也是.
    2018-09-06 at 11.03.30 PM_java_ecdict_api

    使用时在Maven项目中添加依赖:

    <dependency>
      <groupId>com.codeinchinese</groupId>
      <artifactId>english-chinese-dictionary</artifactId>
      <version>0.0.1</version>
    </dependency>
    

    词典数据来源于skywind3000/ECDICT. 77万个词条, 除不到2千词之外绝大多数有中文释义. 将这个词典数据(csv文件)封装的后果是这个jar包有22MB, 首次调用'查词'接口需要一段时间加载数据(本机测试十秒左右), 之后的查词是哈希表查询, 速度还能接受.

    下面是返回词条数据结构:

    public class 词条 {
    
      public String 英文;
      public String 音标;
      public List<String> 英文释义;
      public List<String> 中文释义;
      public String 词语位置;
      public int 柯林斯星级;
      public boolean 为牛津三千核心词;
    
      // zk/中考,gk/高考,cet4/四级等
      public String 标签;
    
      // 如果为0, 无词频数据, 否则为正数
      public int 英国国家语料库词频顺序;
      public int 当代语料库词频顺序;
    
      public List<词形变化> 变形;
      public String 详细;
      public String 在线读音音频;
    ...
    }
    

    词形的几种变化:

    public enum 词形变化类型 {
      过去式("p"), // past tense
      过去分词("d"),
      现在分词("i"), // -ing
      第三人称单数("3"),
      形容词比较级("r"), // -er
      形容词最高级("t"), // -est
      名词复数形式("s"),
      原型("0"),
      原型变换形式("1");
    ...
    }
    

    接口定义很简单, 调用:

    英汉词典.查词("apple")
    

    返回值打印输出(toString生成类JSON样式, 下同):

    {
    英文: apple
    音标: 'æpl
    英文释义: n. fruit with red or yellow or green skin and sweet to tart crisp whitish flesh
    n. native Eurasian tree widely cultivated in many varieties for its firm rounded edible fruits
    
    中文释义: n. 苹果, 家伙
    [医] 苹果
    
    词语位置: 
    柯林斯星级: 3
    为牛津三千核心词: true
    标签: zk gk
    英国国家语料库词频顺序: 2446
    当代语料库词频顺序: 2695
    变形: 名词复数形式:apples; 
    详细: 
    在线读音音频: 
    }
    

    可以查出原型:

    {
    英文: shopping
    音标: 'ʃɒpiŋ
    英文释义: n. searching for or buying goods or services
    n. the commodities purchased from stores
    
    中文释义: n. 买东西, 购物
    [经] 购物, 买东西
    
    词语位置: 
    柯林斯星级: 3
    为牛津三千核心词: true
    标签: gk cet4 cet6 ielts
    英国国家语料库词频顺序: 2763
    当代语料库词频顺序: 2713
    变形: 原型:shop; 原型变换形式:i; 现在分词:shopping; 
    详细: 
    在线读音音频: 
    }
    

    也有很多常见短语:

    {
    英文: beat around the bush
    音标: 
    英文释义: 
    中文释义: 转弯抹角, 旁敲侧击, 拖延谈及正题
    
    词语位置: 
    柯林斯星级: 0
    为牛津三千核心词: false
    标签: 
    英国国家语料库词频顺序: 0
    当代语料库词频顺序: 0
    变形: 
    详细: 
    在线读音音频: 
    }
    

    其中释义部分只根据源数据格式说明中按行分拆, 并未进行进一步提取. 打算以后在实际使用中进行改进. 也许"n. 苹果, 家伙"提取为:

    {
    词性: 名词
    释义: ["苹果", "家伙"]
    }
    

    欢迎尝鲜.

  • 相关阅读:
    jmeter入门----安装及简单使用
    python的学习路线
    利用selenium模块来编写网络爬虫
    软件测试的一些建议
    作为面试官的一些心得
    测试中常用的python第三方库
    Bootstrap:Bootstrap_table第一篇:快速用bootstrap_table(支持参数)筛选并展示数据,固定表格前几列,实现表格单元格编辑
    JS插件:fullCalendar图解
    Python脚本:实现对象集合List导入到excel表格,支持mysql,postergrsql,MongoDB
    Python脚本:实现excel表格导入到数据库,支持mysql,postgresql,MongoDB
  • 原文地址:https://www.cnblogs.com/program-in-chinese/p/10499283.html
Copyright © 2011-2022 走看看