CoreML分词训练日程模型
效果
从一句口语化的语语中提取出具体的时间和事项
["大后天下午两点开会", "下周二上午10点面试", "下周四上午11点跳坤舞", "下午5点运动", "星期三上午10点开会"].forEach { text in
if let (date,event) = model.expertDateStringWithEventPoint(text) {
print("目标时间: \(date)\n 事件: \(event) \n")
}
}
目标时间: 2024-04-11 14:00
事件: 开会
目标时间: 2024-04-09 10:00
事件: 面试
目标时间: 2024-04-11 11:00
事件: 跳坤舞
目标时间: 2024-04-08 17:00
事件: 点运动
目标时间: 2024-04-11 10:00
事件: 开会
用到工具
- XCode
- Create ML - (XCode - Open Developer Tool - Create ML)
步骤
- 打开Create ML工具后,找到 Word Tagging, Next 到 选择存储路径 至完成
- 在创建主界面,Training Data 中导入你的JSON数据
[{ "tokens": ["零点", "开会"], "labels": ["time|00:00", "EVENT"] }, { "tokens": ["晚上","12点", "开会"], "labels": ["hour|PM","time|00:00", "EVENT"] }, { "tokens": ["1点", "睡觉"], "labels": ["time|01:00", "EVENT"] }]
在下方的 Labels 和 Tokens 栏需要分别选中 key
- 在 Testing Data 中 选择你的测试数据
- 点击左上角的 Train开始运行,根据训练数据的大小决定完成时间,生成模型后,直接双击 nmodel 文件,即可查看模型的详细情况