AI活用

把学校的讲义OCR识别后,自动登记到日历和提醒事项的机制

把学校的讲义OCR识别后,自动登记到日历和提醒事项的机制

Photo: freestocks.org (CC0 1.0) via Flickr

早上好,我是まさきん。

学校发的讲义,现在依然以纸质为主。活动日程、提交物的截止日期、要带的东西。信息种类很多,一不留神漏看的话,之后会很麻烦。

于是我做了一个机制,用OCR读取讲义,按内容自动分类,分别登记到日历和提醒事项里。这次连API调用的实际例子都会具体介绍。

起因是「明明看过却记不住内容」

讲义看过一遍,当时会觉得自己已经记住了。但一周之后,内容就忘得差不多了。也发生过贴在冰箱上,结果截止日期都过了的情况。

「看过」和「不忘记地执行」是两件不同的事。所以我决定把「把看过的内容落实到机制里」这部分自动化。

机制的流程

做的事情分为以下3个阶段。

  1. 扫描讲义,用OCR转换成文字数据,也支持双栏排版
  2. 把内容分类成「活动」或「要做的事」,也就是提交物、截止日期
  3. 把分类结果分别通过API自动登记到合适的App里

活动登记到日历,要做的事登记到提醒事项。按角色分开存放位置,是这里的关键。

OCR部分的技巧

学校的讲义大多是A4双栏排版,如果直接拿去OCR,有时候左右两栏的文字会在行的中间混在一起。所以我会先把图片左右切成两半,再分别交给OCR处理。

from PIL import Image

def split_two_columns(image_path):
    img = Image.open(image_path)
    width, height = img.size
    left = img.crop((0, 0, width // 2, height))
    right = img.crop((width // 2, 0, width, height))
    return left, right

光是这样切分,识别精度就有了明显改善。如果看了识别结果,发现左右文字还是混在一起,我会考虑不切成两栏而是三栏,或者以标题的位置为线索调整切分范围。识别结果不只看文字数据,我一定会跟原始讲义图片对照确认。因为表格和格线在OCR时容易变形,尤其是日期和星期的组合一旦弄错,登记到日历上会造成致命的失误。

分类规则

我把区分「活动」和「要做的事」的标准,整理成以下这样。

类型判断标准登记位置颜色标记
活动,需要参加需要家长参加的日程日历红色
截止日期、缴费提交物或收款的期限日历加提醒事项橙色
要带的东西、准备前一天之前需要准备的物品提醒事项
每日携带物品笔盒、笔记本等日常用品不登记-

判断不清的项目,原则上我倾向于「两边都登记比较保险」。之后不需要的话可以删掉,但漏登记的话就会在完全没意识到的情况下过去。

这个机制说到底是在手机上运行的。日历也好,提醒事项也好,通知最终都会送到我的手机上。作为支撑这个机制的基础,资费方案或许也值得重新审视一下。

无需签约也能获得100积分的资费模拟 把手机资费方案也当作机制的基础重新审视

点击后会跳转到乐天登录页面,登录后即可看到活动内容。

日历登记的实际例子

活动我是用Google日历的API登记的。颜色标记用到了一个叫colorId的参数,需要家长参加的活动指定为红色,也就是colorId: "11",截止日期类指定为橙色,也就是colorId: "6"

title: "◯◯小学:运动会"
start.date: "2026-05-23"
end.date: "2026-05-24"   # 全天事件的end要设为第二天
description: "讲义相关部分的摘要"
colorId: "11"  # 需要家长参加,所以是红色

colorId需要以字符串的形式传递,而不是数值,如果传成数值类型会导致API报错,这一点需要注意。时间明确的活动,比如家长会14点开始,我不会登记成全天事件,而是指定具体的开始和结束时间。

登记之前,我会先确认是否已经存在相同标题、相同日期的事件。因为年级通讯和其他发放物上有时会写到同一个活动,如果省略确认步骤,同一个日程就会被重复登记。

登记到提醒事项、任务,以及有意为之的双重登记

截止日期和要带的东西,我会用相同的标题,同时登记到任务管理App和提醒事项App这两处。看起来有点多余,但这是特意这样做的。

python3 things_bridge_client.py add \
  --title "◯◯小学:订购书法用具套装(截止4/17)" \
  --when "2026-04-17" \
  --tags "学校,孩子,金钱" \
  --notes "无现金支付。扫申请单上的QR码。"

任务管理App适合以清单的形式结构化管理。而提醒事项App有个特点,就是通过语音助手或系统标准通知,更容易不经意间被看到。两个工具擅长的领域不一样,所以我特意让它们重复。

如果同样的内容只登记在一处,那天没打开那个App的话,信息就等于不存在。让它们双重存在,可以降低漏看的风险。不过,为了避免双重登记带来的噪音,登记到提醒事项之前,我一定会先获取现有的清单,确认是否已经有同名的项目。

先确认提醒事项的现有清单(防止重复)
→ 如果没有同名的提醒事项,再用与任务管理App相同的标题、相同的期限新建登记

把标题一字不差地对齐,之后想把两边拿来对照确认时,也更容易查找。

日期省略年份的问题

学校的讲义大多像「4月15日(星期三)」这样,省略了年份。需要从当前学年补上年份,但如果是3月发的讲义上写着「4月」,就一定要考虑它指的可能是下一学年的4月。

另外,如果要处理补充星期信息的部分,我一定会用日期机械地计算出星期,而不是靠人工或记忆去套。因为靠人工或记忆去套星期,很容易出错。

尝试后的感受

最省心的一点,是「看过却忘记」的情况消失了。因为在读取的那一刻就已经反映到日历和提醒事项里,剩下的只需要跟着通知走就行。

不过,OCR的精度并不是完美的。尤其是带手写补充说明的讲义,有时候不太容易识别。这种情况下,我不会强行走自动化流程,而是先用自己的眼睛确认过再登记。

适合这样的人

总结

我做了一个机制,把讲义内容分类成「活动」和「要做的事」,分别自动登记到合适的位置。颜色标记、双重登记、防重复检查,这些不起眼的规则只要事先定好,信息的处理就会变得相当有条理。

如何把纸质信息纳入机制,虽然不起眼,但我觉得是效果很大的一个小技巧。

说到底,接收通知的终究都是我的手机。机制用得越久,通信环境的重要性也会越高。资费方案偶尔检查一下,或许也不是坏事。

无需签约也能获得100积分的资费模拟 支撑通知的手机线路,也重新看看

点击后会跳转到乐天登录页面,登录后即可看到活动内容。

本文包含联盟营销广告。如果您通过本站链接申请相关商品或服务,我们可能会从合作企业获得报酬。此外,运营者是乐天集团的员工,也可能通过员工推荐计划获得报酬。文章内容与评价均基于运营者的真实体验与调查完成,与是否存在广告无关,但请您在阅读前了解上述关系。详情请参阅免责声明与联盟营销说明。 免责声明与联盟营销说明

本文包含机器翻译内容。正式条件请以乐天移动官方网站的多语言页面为准。

如果您对乐天移动的通信区域·信号状况有疑问,可以通过官方的 电波改善调查申请表 进行咨询。

ABOUT THE AUTHOR
まさきん

乐天集团员工·数字营销人(持有FP资格)

40岁出头,双职工家庭、四个孩子的父亲。在乐天集团担任数字营销工作的同时,也活用理财规划师(FP)资格,专注于家庭理财与资产配置。

查看简介

相关文章

RELATED
为了Grok开通X Premium,没想到特斯拉车里也能用了 AI活用

为了Grok开通X Premium,没想到特斯拉车里也能用了

为了AI助手Grok,我开通了X的付费方案。没想到差不多同一时期,特斯拉车里也能用上同一个Grok,让我有点惊讶。这次整理一下付费方案怎么选,以及车内实际的使用方法,都是我自己确认过的内容。

2026.09.01 · 阅读约2分钟
口头约定的家庭安排,用AI轻松登记到Google日历的方法 AI活用

口头约定的家庭安排,用AI轻松登记到Google日历的方法

把从家人LINE或对话中听到的「下个月运动会是10/25早上9点开始」这类安排,只需口头告诉AI,就能自动生成Google日历登记链接。不需要扫描,也不需要安装任何App。

2026.07.10 · 阅读约4分钟
早上换装的时候,让AI给我准备一张『今日简报』 AI活用

早上换装的时候,让AI给我准备一张『今日简报』

把日程、邮件、聊天消息交给AI汇总,做成一张可以在换装间隙看完的简报并自动生成。从信息收集方式到界面效果的打磨,都会以可以直接照做的方式介绍。

2026.06.22 · 阅读约4分钟
转到乐天移动,最高可获14,000积分 无需签约也能获得100积分的资费模拟 →
立即申请 →