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

[开源] 一个机器翻译平台 + 一个人脸识别平台

  •  
  •   icybee · 2017-08-21 15:56:03 +08:00 · 4306 次点击
    这是一个创建于 2412 天前的主题,其中的信息可能已经有所发展或是发生改变。

    说这次开源的两个东西都还有很大的改进空间,开源的目的一方面是希望给对两个项目的方向感兴趣的初学者提供一个大致的方向,还有就是希望吸引一些大牛参与进来,提一些 pull request 改进一下模型,或者交流一下。

    两个项目从训练数据集到使用的方法,到训练出来的模型,到搭建 api,到展示这两个项目的网站的代码全部开源,相信对任何一个方面感兴趣的童鞋相信都可以找到一些自己喜欢的东西。对这两个个项目感兴趣的同学可以联系我: [email protected] , 这两个项目只是个人兴趣,水平上肯定比不上专门研究这些的,也请轻喷。

    英文-中文翻译系统(icytranslate

    大家可以通过 translate.icybee.cn 尝试一下翻译效果,不过目前只能把一些高中英语作文水平的翻译得比较能看一些。目前仅支持中文到英文的单向翻译,并且由于计算资源限制,一次只能翻译 4 句话以下的段落。

    示例翻译 1

    示例翻译 2

    实现参考了《 Neural Machine Translation by Jointly Learning to Align and Translate 》这篇论文,一些具体的细节我写在了博客上:icybee.cn/article/66.html,开源项目列举如下:

    1. 模型训练部分: https://github.com/bupticybee/icytranslate_offline
    2. restful api: https://github.com/bupticybee/icytranslate_api 将模型的产出封装成 web api
    3. icytranslate 的网站: https://github.com/bupticybee/icytranslate_website 和 icytranslate_api 一起部署,构成 icytranslate 为了缩短训练时间,减小模型大小(为了部署到个人服务器上)做了很多妥协,最后在 test 集上的 bleu 只有 22 左右,模型都是怎么简单怎么来。

    最后 icytranslate 提供开放的 api,不需要申请,如果恰好你有这方面需求可以看这里:icybee.cn/article/67.html

    icyface人脸识别系统

    大家可以通过 face.icybee.cn,尝试一下人脸识别的效果,网站提供一个这样的 demo:

    示例识别

    你也可以上传一些其他照片测试。icyface 的实现细节可以参考我的博客:icybee.cn/article/64.html

    icyface 同样分三个部分开源:

    1. 模型训练部分: https://github.com/bupticybee/icyface_offline 这个部分提供需要下载的数据,数据预处理,模型训练的代码,产出一个人脸识别模型
    2. api 接口部分: https://github.com/bupticybee/icyface_api 这部分将模型训练的产出封装成一个 REST api icyface 平台网站本身: https://github.com/bupticybee/icyface_website
    3. 目前 icyface 在 lfw 上的准确率约等于 95%,还有很多可以改进的地方,我在博客里都有列举,如果你觉得 icyface 的效果很挫,希望亲自来改进的话,欢迎 pull request.

    icyface 也免费提供 restful api,如果你正好有这方面需求的话,查看:icybee.cn/article/65.html

    The end

    对项目有任何想法都欢迎骚扰: [email protected] , 如果你想大刀阔斧的改一些项目里不合理的部分,欢迎提 pull reqest.

    && 如果你很喜欢我的博客,它也是开源的( php + laravel ): http://git.oschina.net/icybee/icyblog

    第 1 条附言  ·  2017-08-21 17:34:30 +08:00

    补充效果图

    14 条回复    2017-08-23 09:14:19 +08:00
    marknote
        1
    marknote  
       2017-08-21 16:01:35 +08:00 via iPhone
    不错
    mkstring
        2
    mkstring  
       2017-08-21 16:36:33 +08:00
    多谢分享成果
    bigporker
        3
    bigporker  
       2017-08-21 17:15:35 +08:00
    这个要赞
    frinstioAKL
        4
    frinstioAKL  
       2017-08-21 18:18:41 +08:00 via Android
    用 tensorflow 写的,太好了,去瞅瞅
    natforum
        5
    natforum  
       2017-08-21 21:35:35 +08:00
    支持大佬
    dreammes
        6
    dreammes  
       2017-08-21 21:42:37 +08:00
    支持
    unique
        7
    unique  
       2017-08-21 21:51:23 +08:00
    nice
    icybee
        8
    icybee  
    OP
       2017-08-21 21:58:06 +08:00 via Android
    @unique thx
    lovestudykid
        9
    lovestudykid  
       2017-08-21 22:37:11 +08:00
    翻译了一下 hello world,有点惨,哈哈
    icybee
        10
    icybee  
    OP
       2017-08-21 22:40:25 +08:00
    @lovestudykid 好像是这样,看来它并没有初中生水平。。。
    zuolan
        11
    zuolan  
       2017-08-21 22:53:31 +08:00
    翻译还不错,只是有些词汇漏掉了。例如我的测试语段:

    The mainframes of the 1960s and 1970s had a “ centralized ” computing model where a single mainframe would serve an entire office building, and “ dumb ” terminals would send compute-jobs to the mainframe.

    返回:
    一个主机的计算模式,将会有整个办公楼的楼宇,“哑”终端将向大型机发送计算机工作。


    好多词汇被忽视了。还是要赞,先 star。
    icybee
        12
    icybee  
    OP
       2017-08-21 22:57:46 +08:00
    @zuolan 忽略掉词是有原因的,原因是我用的是中文的字作为 token 而不是词,这样导致训练数据中不出现的词不会被<unk>替代,就是训练数据中全都是已知的词,所以模型对未知的词都会跳过
    z0z
        13
    z0z  
       2017-08-22 13:57:48 +08:00
    多谢分享
    awolfly9
        14
    awolfly9  
       2017-08-23 09:14:19 +08:00 via Android
    标记
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5166 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:32 · PVG 17:32 · LAX 02:32 · JFK 05:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.