本课题使用微信开发者平台开发,并使用python语言,使用阿里云数据库储存数据。 1.登录页面 用户仅能通过绑定微信来进行登录,来管理自己的群信息。 2.筛选群页面 通过过滤敏感词的方法,将带有不良言论以及广告的群聊筛选出来,并提取这些群聊中的有效信息进行存储。 在python中实现敏感词过滤的关键就是DFA算法的实现。 同时这里没有状态转换,没有动作,有的只是Query。可以认为,通过S query U、V,通过U query V、P,通过V query U P。通过这样的转变就可以将状态的转换转变为使用Java集合的查找。 诚然,加入在我们的敏感词库中存在如下几个敏感词:日本人、日本鬼子、毛.泽.东。 首先:query 日 ---> {本}、query 本 --->{人、鬼子}、query 人 --->{null}、query 鬼 ---> {子}。形如下结构: 这样就将我们的敏感词库构建成了一个类似与一颗一颗的树,这样判断一个词是否为敏感词时就大大减少了检索的匹配范围。比如我们要判断日本人,根据第一个字我们就可以确认需要检索的是那棵树,然后再在这棵树中进行检索。 但是如何来判断一个敏感词经结束应利用标识位来判断。 所以对于这个关键是已如何来构建一棵棵这样的敏感词树。下面我已Java中的HashMap为例来实现DFA算法。 以日本人,日本鬼子为例: 1、在hashMap中查询“日”看其是否在hashMap中存在,如果不存在,则证明已“日”开头的敏感词还不存在,则我们直接构建这样的一棵树。跳至3。 2、如果在hashMap中查找到了,表明存在以“日”开头的敏感词,设置hashMap = hashMap.get("日"),跳至1,依次匹配“本”、“人”。 3、判断该字是否为该词中的最后一个字。若是表示敏感词结束,设置标志位isEnd = 1,否则设置标志位isEnd = 0;有效信息查找页面 提取出的有效信息将上传到阿里云数据库,用户也可以在查找页面进行查找有用的群消息。 对于Deterministic Finite Automaton算法,翻译成中文就是确定有穷自动机算法。它的基本思想是基于状态转移来检索敏感词,只需要扫描一次待检测文本,就能对所有敏感词进行检测,所以效率比方案一高不少。 把敏感词组成成树形结构最大的好处就是可以减少检索次数,我们只需要遍历一次待检测文本,然后在敏感词库中检索出有没有该字符对应的子树就行了,如果没有相应的子树,说明当前检测的字符不在敏感词库中,则直接跳过继续检测下一个字符;如果有相应的子树,则接着检查下一个字符是不是前一个字符对应的子树的子节点,这样迭代下去,就能找出待检测文本中是否包含敏感词了。 首先将每个词的第一个字符作为key,value则是另一个dict,value对应的dict的key为第二个字符,如果还有第三个字符,则存储到以第二个字符为key的value中,当然这个value还是一个dict,以此类推下去,直到最后一个字符,当然最后一个字符对应的value也是dict,只不过这个dict只需要存储一个结束标志就行了,像上述的例子中,我们就存了一个{'\x00': 0}的dict,来表示这个value对应的key是敏感词的最后一个字符。 同理,“坏人”和“坏蛋”这2个敏感词也是按这样的方式存储起来,这里就不罗列出来了。 用dict存储有什么好处呢?我们知道dict在理想情况下可以以O(1)的时间复杂度进行查询,所以我们在遍历待检测字符串的过程中,可以以O(1)的时间复杂度检索出当前字符是否在敏感词库中,效率比方案一提升太多了。 3.退群选择界面 用户可在此页面选择不想继续使用的群聊并退群。
成品毕业设计 可以根据自己的要求, 自行浏览选购, 可以参考是否符合自己要求,找到满意的成品毕业设计 , 直接发送成品编号联系发你网址的工作人员进行交易, 我们会从QQ或者邮箱等方式发送毕业设计程序。
我们团队 , 可以根据用户的功能要求量 身定制毕业设计程序 (同样联系发你网址的 工作人员) , 需要用户提供详细的 , 功能要 求.开发技术要求(开发语言、开发工具、框 架等 ) . 我们会根据用户毕业设计的难易程 度 , 工作量大小等, 具体的给出一个报价,价格 协商一致过后,付下40%定金.我们开始开 发毕业设计, 做好过后先发送设计桌面演示录像 , 用户看后 满意付尾款, 我们再发程序源码压缩包!