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日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程