V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hm279
V2EX  ›  分享创造

一个词典 App,可以对英文文章进行解析,然后基于个人单词库过滤出生词

  •  
  •   hm279 · 2015-06-10 00:50:24 +08:00 · 3145 次点击
    这是一个创建于 3456 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题:

    在你英语阅读能力不足前,是时常需要查阅单词的,但当你中断阅读后,你又容易忘记之前看的内容了。

    解决方案:

    解析你所需要阅读的英文文章,基于你的单词词库过滤出文章内的生词,集中显示生词解释。

    基础: 个人单词库

    难题: 解析文章,Text性质的文档解析容易,其他的格式看OCR。对非 text 数据则通过云端提供的 OCR 服务解析。

    • 情景一:还记得当年做阅读理解的痛苦吗?如果拍照下阅读理解的内容进而解析过滤出生词,便可快速查阅生词意思。
    • 情景二:浏览器提供插件,解析当前网页内容,根据个人词库过滤出生词,也可快速查阅生词意思。

    核心: 个人词库(分通用与专业)。

    终极形态: 得到每个用户的专业性词库数据,提供用户可能感兴趣的单词。

    云端同步个人词库

    以上是基于一个词典应用,你想得到生词的什么解释就看你拥有怎样的词典,不限于英英,英汉,英日,英韩等等,都是针对英语,英语容易分词。

    Android App 可以通过 Intent 的分享接口,接收其他 App 的 text 数据,解析内容过滤出生词。但这里面没统一格式,怎么实现?


    下面是我的部分实现 (Android 应用)

    Github

    基本功能

    词典功能。
    不包含词典,需自己添加。实现了 stardict 2.4.2 格式的字典, 还没增加音频图像的支持。后续增加字典格式。

    文章管理

    你可以添加 text,html 格式的文章,解析器会分析出单词,统计各个单词的出现次数,按次数排序存储。提供三种方法归档文章单词,归档即是把单词存放到你的单词库里。
    - 全部归档,把全部单词归档。
    - 过滤归档,把已存在词库里面的单词归档(只是增加了归档次数),过滤出生词。
    - 手动归档,手动选择归档单词。

    存储格式 JSON ,Key_Value 形式,单词为 key ,次数为 value 。

    个人词库

    分两种类型,通用词库和专业词库。专业词库可以添加解释。(未完全完成)
    - 词库记录初始归档时间,同时会记录单词的总统计次数。专业词库多一个个人解释项。
    - 根据统计次数、归档时间展示个人词库。

    TODO

    单词变形纠正(如复数),去掉非单词,添加 OCR 云端解析支持,词库云端同步,浏览器插件支持...

    其实我是一个 Android 开发者,做云端同步,插件支持怎么搞。

    8 条回复    2015-06-10 15:39:31 +08:00
    em70
        1
    em70  
       2015-06-10 02:20:54 +08:00 via Android
    为啥不直接做个阅读器,提供海量阅读理解文章,每天抓取大量英文新闻,小说,各种英文内容,然后一边提供更好的阅读体验,一边采集用户数据,然后提供更好的体验

    做词典的话,获得个人词库是比较难的,大量精力都花在插件,OCR去了,其实核心不在这里。另外工具属性比较没前途
    bjzhush
        2
    bjzhush  
       2015-06-10 09:01:49 +08:00
    之前我做过这个东西
    URL或者一段文字贴过去,解析出来里面出现频率最高的生词,自己可以标识哪些单词是认识的
    主要是学习技术文档的时候贴些内容过去。。
    hm279
        3
    hm279  
    OP
       2015-06-10 09:44:05 +08:00
    @em70 个人词库是个人收集维护。是没什么前途,哈
    hm279
        4
    hm279  
    OP
       2015-06-10 09:47:51 +08:00
    @bjzhush 初始时我也想这么做,然而现在可以直接阅读了,,
    lavande
        5
    lavande  
       2015-06-10 11:52:10 +08:00
    不太清楚为什么要这样做……识别率怎么样也比不过用户自己啊,我看到一个词瞬间就知道我认不认识,然后要是不认识:在电脑上直接划线取词,在纸质文本上用手机摄像头+ocr取词,立刻就查到了,觉得很流畅啊,为啥要先过滤出生词来?
    hm279
        6
    hm279  
    OP
       2015-06-10 12:09:54 +08:00
    @lavande
    额,对于单个生词肯定是直接查啦。我最初看英文文档是太多生词不认识,时常需要查,很难顺畅阅读。
    我的想法是对整篇文档过滤出生词,统一显示生词解释。。其实我可以顺畅阅读了,我也不知道还有没有用。
    lavande
        7
    lavande  
       2015-06-10 12:14:54 +08:00
    @hm279 原来如此……不过有一定概率是你看完统一生词解释,然后去读文章,然后发现又忘了啥意思,然后又回去查解释……
    hm279
        8
    hm279  
    OP
       2015-06-10 15:39:31 +08:00 via Android
    @lavande 哈哈,划词解释效率高,这个优势是一次显示全部解释。
    基于用户词库做成一个推荐类词典还可以,用户可以记有用(感兴趣)的单词。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3206 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:15 · PVG 08:15 · LAX 16:15 · JFK 19:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.