规则
文章平均质量分 77
yukai08008
这个作者很懒,什么都没留下…
展开
-
Python 规则16 规则集对象实践3 - 开发过程
说明简单回顾一下开发过程,毕竟只有走通实用环节才有意义内容假设正在开发一条规则函数1 主逻辑主逻辑的开发和普通的随意开发没有本质区别。通常来说有以下特征:1 主逻辑只是针对一个元素的处理2 主逻辑封装为函数3 在单个函数的限制下,尽可能的增加规则及复杂度(不过5)某种程度上说,逻辑集成主要体现在规则集层面。 规则集的复杂度是规则函数的平方(5x5=25)。在PM规范下封装,是可以进一步集成,例如一个过程(Procedure)可以调用5个规则集,一个流程(Process)可以封装5原创 2022-01-15 23:20:04 · 179 阅读 · 0 评论 -
Python 规则15 规则集对象实践设计2
说明之前设计过一版,不过此一时,彼一时,目前Data Mill的概念基本通了,所以这里重新设计规则集对象。规则集对象的目的是将原来的函数式应用转换过来,方便后续的使用。内容1 概念在之前的实践中,有些概念是挺好的,在PM的设计过程也发现这些概念是可靠的,有推广性的。(因为两次设计时间间隔很久,差不多等于是独立的实验)RuleSet就简称为RS。某种程度上,规则集的确是PM的内存版一些粗的概念:1 在开发过程中,只有通过规则集才能完整的容纳一个功能。2 RS可以独自撑起一个简单API原创 2022-01-13 16:05:42 · 178 阅读 · 0 评论 -
Python 规则14 规则集对象实践设计
说明不能在两天内开发完成的创新就很难被推广。我发现很多原型创新因为考虑的比较多,最后都是昙花一现:被封装和测试的很好,但是没有融入实践,最终看起来还是很浪费。本篇探讨将规则集对象和实际的开放式、探索式编程结合在一起,只略微改变编程的习惯(成本很低),但是实现了规则集(RuleSet)的目标:1 对复杂逻辑的可靠实现2 将复杂的处理封装,以便复用3 暴露可控参数(可以和遗传算法对接)具体的改变则是在程序开始引入规则集对象,然后在编程过程中采用“边做边加”的方式逐渐开发,在完成时可以将整个处原创 2021-09-20 21:38:53 · 216 阅读 · 0 评论 -
Python 规则12 应用规则集_从mysql拉取数据
说明正好有个需求需要从mysql拉取数据,可以实操一下之前定义的规则集。内容1 导入包import FuncDict as fdimport pandas as pdcur_func_dict = fd.FuncDict1('pull_mysql_data', pack_fpath='./funcs/',lmongo=fd.func_lmongo)import funcs as fscur_func_dict.fs = fsfunc_lmongo = fd.func_lmongo2 读原创 2021-06-07 17:28:34 · 145 阅读 · 0 评论 -
Python 规则11 实体识别数据模型并行处理NerModelPredict
说明前面已经完成了实体识别数据的预处理,这里实现使用模型给出预测结果。内容1 规则集设计在数据库里的代号为NerModelPredict1.1 场景前面的规则集已经处理好了数据ss_list,模型需要对这些数据进行处理,可以返回每个短句中识别的公司名或者人名,然后将这些结果和数据集中的doc_id通过ss_hash关联起来。并行处理时既可以使用CPU也可以使用GPU,可以根据参数自动切换。1.2 要求/假设1 ss_list是一个Series的列表,每个Series的长度合适。(前面已经根原创 2021-06-07 11:31:31 · 320 阅读 · 3 评论 -
Python 规则10 实体识别数据预处理规则集-实例化
说明上篇以识别公司实体为例构建了一个规则集(模板),现在假设我们要识别人名。由于整个流程非常相似,所以没有必要重新写一个规则集,而是只开发某条规则(有差异的地方),然后通过参数重新实例化原来的规则集模板就可以了。内容形式上,规则集(模板)就是一个df,只不过字段的类型有列表和字典而已。用参数实例化就是把某条规则(某行记录)的值覆盖掉。1 修改的部分函数部分:原来目标提取公司,ss的最小长度是4,并且要包含公司实体的关键字,所以把原来的函数改一下,保存为新的函数就可以。rulev002_ge原创 2021-06-04 18:23:28 · 297 阅读 · 1 评论 -
Python 规则9 实体识别数据预处理规则集
说明在深度学习中,很多时候数据的预处理和模型本身一样重要。这个规则集的目的是把原始数据处理为适合实体模型进行并行处理的格式。只考虑识别公司实体和人名实体。内容1 规则集设计在数据库里的代号为NerPreProcessing。1.1 场景有n篇文档需要识别其中的实体。文档可能很长(几百页),也可能很短(几句话)。n非常大,从几百万到几亿不等,由于耗时非常长,所以不能串行处理,要进行并行处理。例如有200万份文档,每个文档有几百页。那么一篇文档至少要1分钟,也就是一个任务要200万分钟,.原创 2021-06-04 16:07:02 · 479 阅读 · 2 评论 -
Python 规则8 批量简单网络请求获取数据规则集BatchSimpleGet
说明使用异步方式,按id的slice_list向某个网址get数据,获取数据到文件夹。内容1 规则集设计在数据库里的代号为BatchSimpleGet。1.1 场景数据按照某个id字段有序编号,需要通过网络get方式获取,存储在某个文件夹中。由于目标源的数据非常大,因此我们希望这个读取是缓存式的:如果当前文件夹的数量/大小达到限制则报缓存满,跳过读取。另外,我们可以不知道当前最新的有效id是哪个,通过试错的方式来发现。1.2 要求/假设1 存储文件是以pkl形式的2 有其他程序回来读取原创 2021-06-03 17:52:21 · 246 阅读 · 1 评论 -
Python 规则7 一些有用的规则集
说明先梳理一些规则集,目标是十周100个规则集。内容序号名称代号作用1按步长读取mysqlPullMysqlByStep从mysql里取数据2将文章分为若干段落假设获得的是一个文本文件,要将该文件分为若干段落3将一个文本段落分为若干短句按标点符号将段落分为若干文字不相接的短句(再往下就必须要分词了)4不存在则创建mysql数据输入df, 指定键值,当这个值不存在才插入数据5存在才更新mysql数据输入df, 指定键值,当这个原创 2021-06-01 14:28:28 · 456 阅读 · 2 评论 -
Python 规则5 规则集模板v2
说明发现初版有些缺陷,这版进行一个修改,应该就可以用了。内容1 概念与机制1.1 规则函数一条规则就是一个函数;根据规则运行的特点而做特别约定的函数就叫规则函数。1.1 命名规则函数以rule_开头,目前变版本为2,所以新的规则函数以rulev002_开头(估计到不了100版)1.2 入参入参要么无参,要么全是关键字。没有位置参数。1.3 出参出参的结果是一个有序列表。1.4 保留关键字VarSpace这个版本主要就是因为这个变量。每个规则函数需要可以和变量空间直接交互,之前通原创 2021-05-30 20:53:38 · 442 阅读 · 1 评论 -
Python 规则4 规则集模板
说明规则集模板代表了一系列逻辑组合动作的抽象,通过规则集模板则是将这些动作固化并沉淀下来。因为这些模板是经过抽象的,并且在使用的过程中得到了验证。一个模板,用的越多就越可靠,越可靠就越不用去检查,直接可用。这样就实现了高效率(节约人的时间)和高可靠(节约人的时间,提升交付物/产品的性能)。内容1 模板的衔接每个模板的入和出都是字典,这种格式未来也适合在网络中传输。每个模板的第一条和最后一条分别是入规则和出规则,就要负责检查字典和输出字典。2 模板序号模板名称描述1Bas原创 2021-05-26 14:16:57 · 261 阅读 · 0 评论 -
Python 规则3 规则表实验2
说明上篇已经基本完成了一个规则表的实际运行,本篇将进一步封装,面向实用。内容1 规则集执行的调用封装从input – process – output的链条来说,调用一个规则集可以简单理解为,输入一个待处理的字典,读取并调用规则集df,然后输出结果字典。# 执行一个规则集def rule_run_rule_set(cur_space_dict, rule_set_df , fs): layers_list = list(set(rule_set_df['layer']))原创 2021-05-19 15:08:49 · 203 阅读 · 1 评论 -
Python 规则2 规则表实验
说明内容原创 2021-05-18 23:40:12 · 141 阅读 · 1 评论 -
Python 规则1 规则表设计
说明发现最后还是绕到了规则上面。这里做一个简单的设计。内容本质上,表就是图。规则就是从左到右的一个变化,所以本身就是一个函数。函数的入参就是左边,出参就是右边。但规则更像是一个待触发的函数,有可能一次判别所有的规则(函数)都不会触发。规则快速的执行则是BFS遍历过程。现在有了FuncDict,所以函数只要用名称替代就可以了。算法的开始需要一些初始化的入参,所以每个规则集/表的第一行是入规则判断,最后一条是出规则。规则表rule_setrule_idnamedescript原创 2021-05-17 18:44:57 · 546 阅读 · 0 评论