2019独角兽企业重金招聘Python工程师标准>>>

教育一直以来都是各方相争得热点,最近整合了一个python库开发了一个作文自动批阅小应用,前端支持微信交互操作和web操作,有兴趣得道友可以fork下本项目github地址

应用简介


英文作文自动批阅程序,主要包括拼写检测、语法检测、语句一致性检测与主题检测等几个部分。

主要技术栈:

  • Web: Flask、Mako。
  • 语法单词检查:pylinkgrammar、PyEnchant。
  • 学习算法:链语法、决策树。
  • 微信接口库: itchat

效果:

程序架构

程序主要包括了五个模块,拼写检测模块、语法检测模块、统计信息模块、评分模块和前端模块。

1、拼写检查模块

拼写检查模块用PyEnchant对单词进行检查。其通过一个带有正确拼写得字典,判断文章中得词是否为正确拼写,如果不在正确拼写词典中则根据概率返回最可能得拼写单词。

2、语法检查模块

语法检查模块采用pylinkgrammar库,主要通过语法链对语义进行分析。

链语法算法利用词典文件中词条的链接子表达式分析输入文本的句法结构,符合语法的句子会形成完整的链路图(linkpage),而不符合语法的句子会形成局部的链路图(partial linkpage)。更多可见grammar-link。

>>> from pylinkgrammar.linkgrammar import Parser
>>> p = Parser()
>>> linkages = p.parse_sent("This is a simple sentence.")
>>> len(linkages)
2
>>> print linkages[0].diagram+-------------------Xp------------------+|              +--------Ost-------+     ||              |  +-------Ds------+     |+---Wd---+-Ss*b+  |     +----A----+     ||        |     |  |     |         |     |LEFT-WALL this.p is.v a simple.a sentence.n .

链语法通过词语的链接属性,来对句子进行分析,将语言知识完全落实到词汇基础上。 在分析不合语法的输人时,链语法分析器能够跨越句子中不合语法的单词,找到后面的词汇,并连接构成有句法意义的词对,比如主语动词,动词宾语和助动词动词等。

3、统计信息模块

这里的统计信息主要包括单词个数,句子平均长度,句子长度方差等。 在很多英文作文的评分中,都会对句子长度、核心单词的数量等指标进行关注,因此在指标中加入了这类的统计信息。

4、评分模块

评分模块功能主要是对单词拼写、句法评分、统计信息三个维度的特征进行整合,输出评分机制。 评分模块主要采用机器学习的方法对给定的样本数据打分情况进行学习,拟合出最接近样本数据的各项评分权重值,从而实现接近人类的评分结果。

5、前端模块

前端主要包括了两种,一种是Web页面,一种是微信端。 Web页面采用Flask构建,模板采用Mako语法。 微信端采用itchat构建。

TODO

  • [ ] 语法检查模块加入马尔科夫链进行检测,对于低分的句子给出正确的修改方法。
  • [ ] 引入主题相关性维度,计算各句之间的相关性,对偏离主题的文章给予低分。
  • [ ] 完善评分模块,加入机器学习训练算法。
  • [ ] 完善微信端功能,使得系统支持ORC图片识别功能,可以让用户直接通过微信拍照上传作文进行批阅。

欢迎关注shikanon~~

转载于:https://my.oschina.net/Kanonpy/blog/861178

作文自动批阅程序简介相关推荐

  1. 微信小程序简介、发展史、小程序的优点、申请账号、开发工具、初识wxml文件和wxss文件

    微信小程序介绍: 小程序简介: 小程序是一种连接用户与服务的方式,它能在微信内被便捷地获取和传播,具有出色的使用体验. 不需要下载安装,用户通过搜一搜或扫一扫就可以打开使用,使用完后退出即可. 小程序 ...

  2. 支付宝五福53张自动领取程序 v2021

    简介: 临近过年,身边的朋友们都开始参加支付宝一年一度的集五福活动了!今天小编带来的这款支付宝五福53张自动领取程序能够帮助集福的朋友们更加轻松地完成任务,让用户一键完成53个任务并自动获取福卡,非常 ...

  3. 微信小程序简介账号注册流程(简)

    目录 1.小程序简介 2.开发环境准备 1.注册账号 2.获取appid(不上线的小程序可以用测试的appid) 3.微信开发工具(必须) 3.微信原生框架目录结构 1.小程序结构与传统web对比 2 ...

  4. UUCP系列程序简介

    UUCP系列程序简介 1.UUCP系统概述 UUCP系统是一组程序,完成文件传输,执行系统之间的命令,维护系统使用情况的统计,保护安全.UUCP是UNIX系统最广泛使用的网络实用系统,这其中在两个原因 ...

  5. 微信小程序开发教程||微信小程序 小程序简介||微信小程序 开始||微信小程序 小程序代码构成

    微信小程序 小程序简介 小程序简介 小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 小程序技术发展史 ​小程序并非凭空冒出来的一个概念.当微信中的 ...

  6. 小程序学习 - 01小程序简介+微信小程序基础

    小程序简介 小程序是一个全新的.轻量级的移动端应用. 起源 在小程序出现之前的移动端开发的解决方案有: Android iOS Windows Phone - 后来退出历史舞台 移动端开发发展了一段时 ...

  7. c语言编程题考试自动评分系统,C语言编程题考试自动评分系统简介.ppt

    C语言编程题考试自动评分系统简介 主要内容 教材简介 学习方法 机考系统简介 教材简介 教学理念的更新 教材简介 教材简介 国内55所院校使用 新版增加的内容 强化知识点.算法.编程方法与技巧 [编程 ...

  8. python自动更新程序

    简介 windows 自动更新程序 最近用python给开发了一个windows监控软件,用于监控电脑的运行情况,更新电脑软件.由于有几十电脑,一台一台手动更新就不太靠谱了,于是就开发了一个自动更新软 ...

  9. 在Red Hat Linux中自动运行程序

    在Red Hat Linux中自动运行程序 1.开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程,启动其它进程.通常 ...

最新文章

  1. awk4.0 — awk格式化
  2. 机器学习实战源码数据集
  3. 2020-11-16(常见加密算法统计)
  4. OpenGL 网格Mesh
  5. centos7.5 使用报错:用户名 不在 sudoers文件中,此事将被报告。
  6. 计算机二级选择题复习整理(公共基础部分)
  7. Altera 速度等级
  8. LeetCode 653. 两数之和 IV - 输入 BST(二叉搜索树迭代器双指针)
  9. cp abe java_CP-ABE环境配置
  10. idea无法登录github,显示显示错误信息invalid authentication data的终极解决办法。
  11. 机器学习基础(五十六)—— tanh、sign 与 softsign
  12. CCDA认证的详细综合叙述
  13. 按指定次数重复显示 Excel 单元格
  14. 嵌入式如何学习与职业规划
  15. Katalon Studio:一款静候你使用的免费自动化测试工具
  16. 15.模拟e^x的麦克劳林展开式
  17. 国企区块链应用进展年内已经突破50起 信任传递或引发区块链遍地开花
  18. 远程桌面--某些设置由你的组织管理
  19. java前后端分离框架_Spring Boot 入门及前后端分离项目实践
  20. HihoCoder 1830 Cheat ICPC2018 北京网络赛

热门文章

  1. 数值计算方法——不动点迭代和牛顿迭代法
  2. 阅读《SeedNet: Automatic Seed Generation with Deep Reinforcement Learning for Robust Interactive Segme》
  3. 算法笔记_048:找零问题(Java)
  4. 软件工厂(Software factory)介绍
  5. 华为与Qualcomm率先完成TDD制式LTE Cat.1 MDM对接测试
  6. 综述二 | 最全的目标检测大综述(附下载链接)
  7. 【堆】堆的实现(Java)
  8. bwz是什么缩写_bwz是什么意思,bwz缩写代表什么意思,bwz是什么含义
  9. 基于微信小程序奶茶店在线点单管理系统ssm框架-计算机毕业设计
  10. 思迅软件找回会员卡信息数据库修复误删除修复