本文主要介绍使用Claude 3来精准识别发票、证件、车牌等图片文件,提取其中的有用信息,类似于Claude 3的人工智能技术的应用可以极大的降低我们开发难度,缩短上线周期并降低整体使用成本
2024年3月,Anthropic 宣布推出 Claude 3,这是新系列的先进人工智能模型,允许客户选择适合其业务需求的智能、速度和成本的精确组合。该系列中的三个模型分别是 Claude 3 Haiku,这是最快、最紧凑的模型,可实现近乎即时的响应;Claude 3 Sonnet,平衡了技能和速度的理想模型;Claude 3 Opus,一款能在高度复杂任务上实现更出色性能的更加智能的产品。目前Anthropic已经和AWS合作,在Amazon Bedrock上上线了Haiku、Sonnet并计划尽快上线Opus。
目前,Anthropic Claude 3系列和大家熟知的OpenAI ChatGPT 4系列处于同一水平,下图是Anthropic官方的性能对比,此外很多第三方的资料也表明Claude 3部分优于ChatGPT 4
图片识别场景
使用Claude 3非常方便,只需要在AWS上使用Amazon Bedrock服务并申请Cluade 3的使用权限即可。bedrock自带的网页对话框可以非常方便的让我们进行开发和测试
12306火车票
这个例子以一个假的火车票为例进行识别,我输入如下的提示词,帮助Claude 3来识别火车票,注意输入提示词时我们需要把被识别的图片一起附带过去:
请按照如下格式提取图片信息,将提取的结果用json返回
1. 出发站,终点站;请注意:出发站位于图片左上角,终点站位于图片右上角;你以数组的方式来提取,格式为[出发站,终点站]
2. 车次;请注意:车次位于出发站和终点站之间,车次是英文字母开头,是英文字母和数字的组合
3. 出发时间;请注意:出发时间是xxx年xx月字样开头,请精确到分钟
4. 座位号;请注意:座位号格式为xxx车xx号,座位号是汉字、英文字母和数字的组合
5. 座位等级
6. 票价;请注意:票价的单位是人民币
7. 乘客身份证号码;请注意:乘客身份证号码经过了隐私处理,是一串连续的字符串,字符串里面有***的字样
8. 乘客姓名;请注意:乘客姓名位于客身份证号码右侧,乘客姓名位于乘客身份证号码后面,用空格分隔了
样本图片
识别的效果非常不错:
车牌号
这个例子以一个网络搜索得到的车牌为例进行识别,我输入如下的提示词
请按照如下格式提取车牌信息,将提取的结果用json返回
1. 车牌号;请注意车牌是图片蓝底白字部分或者绿底白字部分,中国大陆的车牌号是以汉字开头,由汉字、大写英文字母和数字组成
2. 汽车制造商;注意请按照照片中的文字原样输出,不要翻译
3. 汽车型号;注意请按照照片中的文字原样输出,不要翻译
样本图片
识别的效果非常不错:
广告卡片
这个例子以一个路边发放的广告名片进行识别,我输入如下的提示词
请按照如下格式提取图片信息,将提取的结果用json返回
1.公司名称;请注意:它是在图片的最顶部,文字被红色加粗了
2.联系人
3.电话号码
4.发票类型;请注意:发票类型可能是多个值,这些值在"发票类型"的下方,位于图片的左下角部分,这些值是用空格或者换行分割的,请以数组的方式来识别
样本图片
识别的效果不错,但是有个汉字认错了:
大模型有小概率会识别错中文字符,这时我们可以进行调整;比如我们可以继续丰富提示词模板,要求Claude 3对自己的识别结果给出置信度分数,我们可以按照这个分数的高低来判断本次识别的准确率,当置信度分数低于某个值(比如90分)就认为识别的准确性不能很好保证,不能采纳
我继续优化提示词
请按照如下格式提取图片信息,将提取的结果用ison返回
1.公司名称
2.联系人
3.电话号码
4.发票类型
此外请你给出本次识别的置信度分数
识别的效果不错,本次汉字识别完全正确,Calude 3对本次置信度的分值也达到了95分,可以认为识别是准确的:
总结
提示工程是一个较新的学科,应用于开发和优化提示词(Prompt),帮助用户有效地将语言模型用于各种应用场景和研究领域。掌握了提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性。研究人员可利用提示工程来提高大语言模型处理复杂任务场景的能力,如问答和算术推理能力。开发人员可通过提示工程设计和研发出强大的技术,实现和大语言模型或其他生态工具的高效接轨。
我在进行测试的过程中,只需要用自然对话的方式,基本对提示词的描述调整2到3次就可以完美的完成识别,后续大家可以自己收集不同的提示词模板,完成不同排版布局的图片的识别