延续上几个月写的一段代码,可按照几率生成随机话单内容

  1. #-*-coding:cp936-*-
  2. #===============================================================================
  3. #Author:nilxin@21cn.com
  4. #Time:2008-10-28
  5. #Function:
  6. #1.实现分析内容自动生成功能
  7. #2.实现自动从一个数据字典中获得某种类型的词组加入到原始话单中
  8. #==============================================================================
  9. importos,math,random
  10. globalnumber
  11. defGetKeyWord():
  12. #获取关键字
  13. #key_words=raw_input("请输入原始话单语句:")
  14. key_words="想起当年俺们宿舍一哥们抢别人的包子吃,边吃边说:就这玩意儿,只配塞屁股"
  15. returnkey_words
  16. defReadDict():
  17. #获得当前文件所在路径
  18. newpath=os.getcwd()+"\\config\\WordData.date"
  19. read_list=open(newpath,'r')
  20. #读取词库信息缓存到内存中
  21. read_dict=read_list.readlines()
  22. #初始化字典
  23. data_dict={}
  24. #temp_dict=[]
  25. number=0
  26. #获取前200个词组,并存放在10个队列中,构成一个数据字典
  27. foryinrange(10):
  28. temp_dict=[]
  29. foriinrange(20):
  30. #全局变量number用来控制每个队列取多少个词组
  31. number+=1
  32. #数据字段:data_dict,分别存在放在10个队列中
  33. temp_dict.append(str(read_dict[number][:-1]))
  34. temp_change=temp_dict
  35. data_dict[y]=temp_change
  36. #返回词组字典
  37. returndata_dict
  38. defAssorted():
  39. key_words=GetKeyWord()
  40. data_dict=ReadDict()
  41. rule_dict={0:(0,30),1:(40,60),2:(60,100)}
  42. #printlen(dict.values())
  43. #获取字典索引数组长度,应该是9位(0-9)
  44. foryinrange(len(rule_dict.keys())):
  45. #print"test=",data_dict[y]
  46. #初始化变量
  47. sentence=""
  48. rule_temp=0
  49. #获得每组数据,并对每组数据进行排序,随机抽取5个词汇组成一个句子
  50. #printlen(data_dict.values()[y])
  51. random_count=random.randint(0,len(data_dict.values()[y]))
  52. #规则字典来取得每组数据的几率,则每次话单调用时会根据随机数所在区间,来获取相应级别的关键字
  53. rule_temp=random.randint(0,len(rule_dict.keys())-1)
  54. #print"test",len(rule_dict.keys())-1,rule_dict[0]
  55. rule_value=rule_dict[rule_temp]
  56. random_value=random.randint(0,100)
  57. #print"random_value",random_value
  58. foriinrange(len(rule_dict.keys())):
  59. try:
  60. ifrandom_valueinrange(rule_dict.values()[i][0],rule_dict.values()[i][1]):
  61. #print"rule_value",rule_dict.values()[i][0],rule_dict.values()[i][1]
  62. #printi
  63. sentence+=data_dict[i][random_count]
  64. break;
  65. except:
  66. continue;
  67. #print"---------------------------------------"
  68. print"关键字等级:%d,关键字内容:%s"%(i,(key_words)+sentence)
  69. if__name__=="__main__":
  70. #调用方法
  71. foriinrange(100):
  72. Assorted()
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值