尝试用AI去解析自然语言

最近做一个功能,感触比较深,不是说实现的功能本身多厉害,而是给我们以后解决问题提供一种新思路。

简单介绍一下业务要求:能够在飞书群里进行故障上报,然后把上报的内容写入在线表格(还有一些其他的字段,需要通过输入自动计算,自动分析,不然可以直接填写在线表格)。

举例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
202501041515湖南长沙五一街道2


问题与故障描述:
基坑临边防护警示标志缺失


原因:
1)业务原因:基础防护围栏完成后未及时设置安全警示标志。
2)管理原因:施工单位管理人员巡视不到位,安全履职不到位。

改进措施:
1)纠正措施:立即整改。责任方:湖南启程;完成时间:15日。
2)预防措施:①要求施工单位落实巡检制度,发现问题及时整改。责任方:湖南启程;完成时间:15日。

从以上的上报内容,需要解析出项目名称、发生时间、问题与故障描述、原因、改进措施 5个标准字段。

你看到这个需求,你会怎么做?

我第一时间想到的就是,这个要规定用户的提报模板,输入一定要标准,什么中英文冒号这些关键点一定不能错。这个功能做着做着有点下雨天担稻草,越担越重,因为让输入得那么标准,把用户的使用门槛直线拉升,而且不经意间就会有一些数据没有录上,那还不如直接录入在线表格。

后来突然想到,这个玩意儿不能用AI来做,处理自然语言,这不是它的强项吗?

豆包尝试一波:

image-20251212084040516

猜结果怎么着?

image-20251212084233598

结果是真香,基于此解析后json反解析成实体对象,后续持续改进提示词,基本上可以适应用户各种奇怪输入,至此,项目成功交付。

感叹:

  1. 专业的人做专业的事情,理解自然语言,就应该让AI来做;
  2. AI有时候真能够突破我们那个卡壳的关键技术点;
  3. 在实现一个功能的时候,越敲代码感觉越别扭,这个时候就停下来想一想,可能真的方案错了,思路错了。