当前位置: 首页 > news >正文

即墨城乡建设局网站做网站优化公司

即墨城乡建设局网站,做网站优化公司,wordpress怎么更换系统文件,slider revolution wordpress自我介绍 做一个简单介绍#xff0c;酒架年近48 #xff0c;有20多年IT工作经历#xff0c;目前在一家500强做企业架构#xff0e;因为工作需要#xff0c;另外也因为兴趣涉猎比较广#xff0c;为了自己学习建立了三个博客#xff0c;分别是【全球IT瞭望】#xff0c;【…自我介绍 做一个简单介绍酒架年近48 有20多年IT工作经历目前在一家500强做企业架构因为工作需要另外也因为兴趣涉猎比较广为了自己学习建立了三个博客分别是【全球IT瞭望】【架构师酒馆】和【开发者开聊】有更多的内容分享谢谢大家收藏。企业架构师需要比较广泛的知识面了解一个企业的整体的业务应用技术数据治理和合规。之前4年主要负责企业整体的技术规划标准的建立和项目治理。最近一年主要负责数据涉及到数据平台数据战略数据分析数据建模数据治理还涉及到数据主权隐私保护和数据经济。 因为需要比如数据资源入财务报表另外数据如何估值和货币化需要财务和金融方面的知识最近在学习财务金融和法律。打算先备考CPA然后CFA如果可能也想学习法律备战律考。欢迎爱学习的同学朋友关注也欢迎大家交流。微信小号【ca_cea】 实现Python隐私文本过滤器通过删除个人身份信息PII来保护用户的隐私。 GDPR是欧盟制定的《通用数据保护条例》。其目的是保护所有欧洲居民的数据。保护数据也是开发人员的内在价值。通过控制对列和行的访问保护行/列数据结构中的数据相对容易。但是免费文本呢 为了满足我们的隐私要求我们可以调整自由文本字段的内容用标签取代与隐私相关的信息。文本的含义没有改变但不能通过匿名化与个人相关。目标是翻译以下文本日期为荷兰语 The possibilities have increased since 2014, especially compared to2012, hè Kees? The system has different functions to manipulate data. The date is 12–01–2021 (or 12 jan 2021 or 12 januari 2021). You can reach me at namprovider.com and I live in Rotterdam. My address is Maasstraat 13, 1234AB. My name is Thomas de Vries and I have Acne. Oh , I use ranitidine for this. 并将其替换为 The possibilities have increased since NUMBER, especially compared toNUMBER, hè NAME? The system has different functions to manipulate data. The date is DATE (or DATE or DATE). You can reach me at EMAIL and I live in PLACE. My address is ADRESS NUMBER, POSTALCODE. My name is NAME NAME and I have DISEASE. Oh , I use MEDICINE for this. 本文介绍了一个简单的隐私过滤器它将执行以下操作 用标签DATE替换日期将URL替换为标签URL将电子邮件地址替换为email将邮政编码替换为POSTALCODE将数字替换为NUMBER用PLACE替换城市和地区将街道名称替换为street将名字和姓氏替换为NAME用疾病替换疾病将药品名称替换为medicine 添加后两个是因为医疗信息需要额外的护理。发生的次数会很低但当这些信息被泄露时影响会很大。 前四个动作将用正则表达式执行而最后五个动作将由替换函数实现。我们的隐私过滤器类具有以下结构 import re from flashtext import KeywordProcessorclass PrivacyFilter:def __init__(self):...def initialize(self):...def remove_numbers(self, text):...def remove_dates(self, text):...def remove_email(self, text):...def remove_postal_codes(self, text):...def filter(self, inputtext):text self.remove_dates(text)text self.remove_email(text)text self.remove_postal_codes(text)text self.remove_numbers(text)...if __name__ __main__:sentence ...pfilter PrivacyFilter()pfilter.initialize()print(pfilter.filter(sentence)) PrivacyFilter类实现了不同的过滤器。在创建和初始化后该对象可以用于过滤文本。它与regulator表达式和FlashText WordProcesser.配合使用。 使用正则表达式筛选 前四个过滤器是用正则表达式实现的。更换数字是最简单的第一种更换方式 def remove_numbers(self, text):return re.sub(r\w*\d\w*, NUMBER, text).strip() 此正则表达式将所有包含一个或多个数字的单词替换为标记NUMBER。这将替换文本中的银行账户、电话号码、身份证号码等。此过滤器是最后执行的因此邮政编码和日期可以由其相应的标签代替而不是一系列数字标签。 更高级的是删除邮政编码的功能。荷兰的邮政编码格式为0000AA数字和字母之间有一个可选的空格。要替换这些请使用以下正则表达式 def remove_postal_codes(self, text):return re.sub([0-9]{4}[ ]?[A-Z]{2}([ ,.:;]), POSTALCODE\\1, text) 添加带标点符号的可选部分是为了防止单词前两个字母的四个数字序列被替换例如我们不想将“4000项的顺序”替换为“POSTCODEems的顺序”。 由于电子邮件地址的复杂性删除电子邮件地址变得有点棘手 def remove_email(text):return re.sub((([\w-](?:\.[\w-])*)((?:[\w-]\.)*\w[\w-]{0,66})\. \([a-z]{2,6}(?:\.[a-z]{2})?))(?![^]*), EMAIL, text) 正则表达式可以在网站上找到99.99%的正则表达式有效。可以在那里找到各种语言的电子邮件检查器的实现。正则表达式的另一个好来源是Murani.nl.。 删除日期是不可能用一个正则表达式的因为月份可以写成数字、缩写和全名。要删除日期我们需要三个正则表达式 def remove_dates(text):text re.sub(\d{2}[- /.]\d{2}[- /.]\d{,4}, DATUM , text)text re.sub((\d{1,2}[^\w]{,2}(januari|februari|maart|april|mei|juni|juli|augustus\|september|oktober|november|december)([- /.]{,2}(\d{4}|\d{2})){,1})\(?Pn\D)(?![^]*), DATE , text)text re.sub((\d{1,2}[^\w]{,2}(jan|feb|mrt|apr|mei|jun|jul|aug|sep|okt|nov|dec)\([- /.]{,2}(\d{4}|\d{2})){,1})(?Pn\D)(?![^]*), DATE , text)return text 第一个正则表达式匹配以数字形式书写的日期格式为dd-mm-yyyy。支持日期部分之间的不同分隔符。第二个和第三个匹配日期与文本中的月份名称。 使用KeyWordProcessor进行筛选 如果像以前的替换集一样构建过滤地点、街道、名称、药物和疾病需要数千个正则表达式。即使将一系列名称组合在一个正则表达式中也是昂贵的。 为了解决这个问题Alfred V.Aho实现了 Aho-Corasick algorithm该算法定位存储在类似字典结构中的字符串。从所有搜索项创建一个图并遍历该图以解析文本。 Example tree (image by author) 该图包含字符串“AB”、“ABEF”、“AC”和“BD”因为只有蓝色节点是结束节点。当第一个字母是“AB”时它是一个结束节点除非后面跟着字母“C”和“E”。为了在KeywordProcessor中使用替换标记与图中的结束节点相关联。通过这种方式所有不同的隐私元素都可以添加到一个图中并且仍然可以由适当的标签替换。 这个算法有几种实现这里我们将使用Github的Flashtext实现。该算法在大规模替换和检索文档中的关键词中进行了描述。它包含一个KeywordProcessor关键字将添加到其中并替换KeywordProcessor.add_keywordkeywordreplacement。端节点存储要放置的替换项。 在数据集文件夹中有几个文件每行都有一个关键字例如一个文件具有所有的名字或者至少有10000个最常见的名字。我们可以使用替换标记NAME将该文件中的所有元素添加到图中如下所示 def __init__(self):self.keyword_processor_case_sensitive KeywordProcessor(case_sensitiveTrue)def file_to_list(filename, minimum_length0):with open(filename, encodinglatin) as f:lst [line.rstrip() for line in f]lst list(dict.fromkeys(lst))if minimum_length 0:lst list(filter(lambda item: len(item) minimum_length, lst))return lstdef initialize(self):for naam in self.file_to_list(datasets\\firstnames.csv):self.keyword_processor_case_sensitive.add_keyword(naam, NAME) 在构造函数中会创建一个区分大小写的KeywordProcessor。我们使用区分大小写的处理程序因为在荷兰语中有几个名字也是动词。这样我们只会在它们以输入文件中的大写字母开头时替换它们。如果您想更安全可以使用不区分大小写的处理器。 输入文件被读取到列表中第5行和第6行从该列表中删除重复项第7行并以最小长度过滤该列表。列表中的每个项目都会添加到处理器中从而添加到图形中并带有相应的标记“NAME”。 在initialize函数中可以为街道名称、地点、姓氏、药品等添加更多的数据文件。 class PrivacyFilter:def __init__(self):self.keyword_processor_case_sensitive KeywordProcessor(case_sensitiveTrue)self.keyword_processor_case_insensitive KeywordProcessor(case_sensitiveFalse)def file_to_list(self, filename, minimum_length0, drop_first1):with open(filename, encodinglatin) as f:lst [line.rstrip() for line in f]lst list(dict.fromkeys(lst))if minimum_length 0:lst list(filter(lambda item: len(item) minimum_length, lst))return lst[drop_first:]def initialize(self):for naam in self.file_to_list(datasets\\streets_Nederland.csv, minimum_length5):for c in [., ,, , :, ;, ?, !]:self.keyword_processor_case_insensitive.add_keyword(naam c, STREET c)for naam in self.file_to_list(datasets\\places.csv):for c in [., ,, , :, ;, ?, !]:self.keyword_processor_case_insensitive.add_keyword(naam c, PLACE c)for naam in self.file_to_list(datasets\\firstnames.csv):self.keyword_processor_case_sensitive.add_keyword(naam, NAME)for naam in self.file_to_list(datasets\\lastnames.csv):self.keyword_processor_case_sensitive.add_keyword(naam, NAME)for naam in self.file_to_list(datasets\\aandoeningen.csv):self.keyword_processor_case_insensitive.add_keyword(naam, DISEASE)for naam in self.file_to_list(datasets\\medicijnen.csv):self.keyword_processor_case_insensitive.add_keyword(naam, MEDICINE) 位置名称是按大小过滤的因为数据是从OpenStreetMap中提取的并且在获得的数据集中有空字段、零长度字段和短缩写。最小尺寸可根据您的安全要求进行定制。 过滤文本 有了所有的函数我们可以编写实际的过滤器方法 def filter(self, inputtext):text self.remove_dates(text)text self.remove_email(text)text self.remove_postal_codes(text)text self.remove_numbers(text)text self.keyword_processor_case_insensitive.replace_keywords(text)text self.keyword_processor_case_sensitive.replace_keywords(text)return text.strip() 调用基于正则表达式的方法然后调用区分大小写和不区分大小写的处理器。由于不同的数据集集成在KeywordProcessors中因此只需要执行一次。这将产生所需的输出。 但是性能呢更换文本部件可能会变得非常昂贵尤其是包含大量禁止使用的单词在这种情况下约为136.000。在我的电脑上初始化课程需要3.1秒但过滤前面介绍的文本只需要0.5毫秒。太快了这足够快可以在实际用例中使用。 最后的想法 本文为自由文本提供了一个简单但非常有效的隐私解析器。改进总是可能的但这段代码是从文本中过滤隐私信息的最佳方法。 可以通过用标记化器替换算法来进行改进。这使得引入Levenshtein function来测量单词之间的距离成为可能从而支持删除有打字错误的单词。 完整的代码可以在Github上找到https://github.com/lmeulen/PrivacyFilter 标签和例句是荷兰语但源代码可以很容易地被其他语言所采用。在存储库中还有一个程序用于收集荷兰语的不同数据集。请注意这些操作将第一行添加到具有数据名称的数据文件中。PrivacyFiler类在读取数据文件时过滤第一行。 本文【隐私保护】使用Python从文本中删除个人信息 | 开发者开聊 欢迎收藏  【全球IT瞭望】【架构师酒馆】和【开发者开聊】.
http://www.zqtcl.cn/news/802766/

相关文章:

  • 无锡市建设培训中心网站私人订制软件平台
  • 宁波网站设计推荐荣盛网络招远网站制作
  • 网站开发维护运维室内设计师怎么找
  • 网站建设如何增加二级页面学网络工程好找工作吗
  • 网站设计的研究方法有哪些wordpress样式路径
  • 网站建设与网页设计...南通网站seo报价
  • 网站开发毕业设计说明书范文关键词排名代做
  • 本地环境建设网站南通网站制作怎样
  • 注册公司多少钱不用交税南昌seo网站推广费用
  • 网站建设与运营的论文的范本wordpress弹框登陆
  • 阿里云做的网站空间动画制作器
  • 徐州企业网站建设做视频网站需要多少上传
  • 记事本做网站怎么加背景图网站开发需要哪些人怎么分工
  • 南宁网站建设找哪家网站被k换域名
  • spring mvc 网站开发网站开发与管理所对应的职位及岗位
  • 国内做视频的网站有哪些宁波网站制作与推广
  • 织梦软件展示网站源码建设工程竣工验收消防备案网站
  • 网站里面的链接怎么做漳州建设网站
  • 有什么网站建设类岗位企业门户网站设计论文
  • 外贸公司如何做公司网站集团网站建设建站模板
  • 嘉兴云推广网站贵州毕节网站建设
  • 班级网站模板青岛哪里有做网站公司的
  • 建设工程设计招标信息网站.制作一个聊天软件需要多少钱
  • 校园网站建设的意见新闻聚合网站开发 技术
  • 网站推广公司兴田德润电话多少wordpress 弹框
  • 大连网站建设谁家好软件开发需要什么技术
  • 广州网站建设哪家便宜成都电商app开发
  • 网站qq访客统计青岛网站设计定制
  • 山东嘉祥做网站的有哪几家销售外包
  • 怎么做网站_旅游网站定位