自动摘要: 一:您需掌握的: 1.期望您了解pandas处理,这样能让您快速的满足需求; 2.期望您了解flask库,这样能让您快速让你理清整体思路; 3.期望您少用try进 ……..
一:您需掌握的:
- 期望您了解pandas处理,这样能让您快速的满足需求;
- 期望您了解flask库,这样能让您快速让你理清整体思路;
- 期望您少用try进行异常处理,多用if进行判断,让错误了然,方便后续修正;
- 期望您了解NLP实体提取,这样可以帮助您快速解决问题。
- 期望您耐心分析需求,明确需求,反复确认后在行动,以免造成不必要的努力及时间;
- 期望您不要为做而做,掌握技术,为公司把握当下,迎接未来;
二:现阶段问题:
- 需求未明确,只有短期需求,没有真正的需求。需求是反复在反复,妥协在妥协出来的结果,才是甲方真正的需求(个人理解);
- 代码中存在大量try,请不要生气,这是为了及时满足甲方需求造成的,如有余力请及时修正;
- 里面用了nlp模型-BERT,凭感觉是在做中文分词,但现在NLP开源库集成的中文分词其实效果已经很不错;
- 公司没有配备开发服务器,只配备了部署服务器(受限,什么都不能操作,库都不能在线安装),请用winscp工具会让你舒服点。数据库只能通过部署服务器连接,当然你可以拷贝数据库做本地开发,当如果你时间紧迫,请不要做这些尝试;
- 现阶段等级进行修正了(详见后面),但是结果“riskfactor”内字典需要修正(未做),您只需在app后面对等级修正模块加入以下代码(伪代码);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# 创建个新字典,用于保存修正后的数据;
data=原始数据["riskfactor"]
# 实现字典相加
def sum_dict(a,b):
temp = dict()
for key in a.keys() | b.keys():
temp[key] = sum([d.get(key, 0) for d in (a, b)])
return temp
# 判断等级符合数据
for i in 等级字典:
if 1<原始数据["earlywarning_level"]:
data["riskfactor"]=sum_dict(i["riskfactor"],data["riskfactor"])
else:
print("原始数据["earlywarning_level"] 小于1"
三:需求目的:
对公司进行风险等级预测,规则:公司触发了几个数据库,预警等级就为几级。
四:问题及要求:
- 公司的信用代码统一用表15中的匹配,匹配不到此条数据不要;
- 格式问题,地址:XX省XX地市XX区县,地市:XX市,区县:XX县;
- alert_time选取问题,不同数据的alert_time可能不同,怎么选取;
- 同一个表里,出现两次或多次同一个公司名称,匹配的关键词可能一样,也可能不一样,那么触发发表次数算1次还是多次;
- 公司名、信用代码、地址、地市、区县、alert_time、预警时间risk_time、内容字段riskTitle、hash_unique_name、hash_unique有一个为空,此条数据不要;
- 同一个表有两条完全相同的数据,此条数据要,因为索引不一样;
- 不同表里有两条完全相同的数据,此条数据要,因为索引不一样;
五:算法流程:
补充资料:
1. 等级规则:如果个数为1,数据舍弃;若个数大于等于2,则输出相应的等级;2. 输出格式约束:
同一张表,同一条数据触发2个或多个关键词时,要在”riskfactor”中加如下信息:{“riskname”: “行政处罚_2”,”tabel”: “szfw_hj_biz_012_z_form_xinfangshangbaocs1_valid_old”,”hash_unique_name”: “hash_unique”,”hash_unique”: “b966687335f1a566bdfbf96c5995491a”,”risk_time”: “2022-02-19 02:00:27”,”riskTitle”: “tsnr”}举例:如匹配了两个关键词实列如下(黑部分关键词:行政处罚、漏电):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30{
"company": "浙江英博雁荡山啤酒公司",
"company_creditcode": "91330201MA28337824",
"alert_time": "2022-02-19 02:00:27",
"earlywarning_level": "3",
"data": {
"industry": "FINANCIALSECURITY",
"landcity": "温州市",
"districtcounty": "乐清市",
"detailedaddress": "浙江省温州市乐清市",
"riskfactor": [
{
"riskname": "行政处罚",
"tabel": "szfw_hj_biz_012_z_form_xinfangshangbaocs1_valid_old",
"hash_unique_name": "hash_unique",
"hash_unique": "b966687335f1a566bdfbf96c5995491a",
"risk_time": "2022-02-19 02:00:27",
"riskTitle": "tsnr"
},
{
"riskname": "漏电",
"tabel": "szfw_hj_biz_012_z_form_xinfangshangbaocs1_valid_old",
"hash_unique_name": "hash_unique",
"hash_unique": "b966687335f1a566bdfbf96c5995491a",
"risk_time": "2022-02-19 02:00:27",
"riskTitle": "tsnr"
}
]
}
}不同表中同一个公司名称数据要整合在一起,如来源于表szfw_hj_biz_012_z_form_xinfangshangbaocs1_valid_old和hbt_hj_biz_043_fxyjbxx_valid_old,那么结果如下
1 | { |