A11000100A 2021-07-22 17:06 采纳率: 75%
浏览 54
已结题

Python识别判断一句话里的关键字,随后合并为格式文档,怎么实现?

首先是,我们对程序输入一段文字,文字中包含很多关键字,且关键字一般不会重复,而且有优先级
这里进行举例:给我算个沪A123458的价格,续保的
关键字库有分类
A类:续保,续个保,续保的,上年人保,续
B类:转保,转保的,上年其他公司
C类:算价,算个价,给个价格,

文字识别的逻辑是,先识别一段文字中的车牌,一段文字中有且只有一个车牌,而且车牌的规则是一个前缀,后续一个字母,然后5或6个字母或数字,这里有个重要点,这段文字里车牌后不会有干扰性的字母或数字,例如,车牌沪A123456续保,这里的车牌就是沪A123456而不是沪A12345

文字识别后,我的想法是,识别完成后,将已识别的文字删除,继续识别剩下的文字

另外,识别文字得到结果后输出是格式文档,举个例子:给我算个沪A123458的价格,续个保的
识别的结果是:
续保;
某支公司某业务员;
沪A123458;

如果语句中包含A、B、C三大类的语言,只显示A类,且A类统一后为“续保;”
如果语句中包含B、C类,则优先显示B类,且统一为“录单;”
如果语句中只有C类,也是统一为“录单;”

  • 写回答

1条回答 默认 最新

  • 听霄 2021-07-23 09:46
    关注

    没有看到显示某公司某业务员的逻辑

    
    import re
    
    a = {
    'A类':('续保','续个保','续保的','上年人保','续'),
    'B类':('转保','转保的','上年其他公司'),
    'C类':('算价','算个价','给个价格'),
    }
    b = '给我算个沪A12348的价格,续保的'
    c = re.findall('[\u4e00-\u9fa5][A-Z][A-Z\d]{5,6}',b)
    print('车牌:',c)
    def test(text,result):
        for i in text:
            if i in b:
                return result
    
    if test(a['A类'],'续保') != None:
        print(test(a['A类'],'续保'))
    elif test(a['B类'], '转保') != None:
        print(test(a['B类'], '录单'))
    elif test(a['C类'], '算价') != None:
        print(test(a['C类'], '录单'))
    

    剩下的就是根据你自己的想法合并到文件里

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月31日
  • 已采纳回答 7月23日
  • 创建了问题 7月22日

悬赏问题

  • ¥30 seata使用出现报错,其他服务找不到seata
  • ¥35 引用csv数据文件(4列1800行),通过高斯-赛德尔法拟合曲线,在选取(每五十点取1点)数据,求该数据点的曲率中心。
  • ¥20 程序只发送0X01,串口助手显示不正确,配置看了没有问题115200-8-1-no,如何解决?
  • ¥15 Google speech command 数据集获取
  • ¥15 vue3+element-plus页面崩溃
  • ¥15 像这种代码要怎么跑起来?
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误