文档首页 > > 最佳实践> 简易中文信息过滤系统> 构建程序

构建程序

分享
更新时间: 2019/07/13 GMT+08:00

本例提供了实现中文信息过滤功能的程序包,用户可以下载、学习使用。

创建程序包

本例使用Python语言实现中文信息过滤的功能,有关函数开发的过程请参考Python函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。

图1 样例代码目录

文件目录里的sensitivewords.txt文件存储了本代码的敏感词库,可以自定义敏感词,每个敏感词单独为一行。

因为项目用到了jieba分词包和敏感词库,所以需要将分词包和词库文件同样放在fss_examples_message_filtering文件下面。

index.py为函数执行的入口文件,代码片段如下。

 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
31
32
33
# -*- coding:utf-8 -*-
import json
import jieba
import os
import sys

reload(sys)  
sys.setdefaultencoding(´utf-8´)

def is_ok_publish(body, over = 0.1):
    ´´´
    body中敏感词数量超过10%,此消息不能发出
    ´´´
    words = list(jieba.cut(body))   #使用jieba分词包,对传入消息进行分词。example: body:我爱中国 words: ["我","爱","中国"]

    filename = os.environ.get(´RUNTIME_CODE_ROOT´) + ´/sensitivewords.txt´    # 读取敏感信息库的内容,注意文件路径,sensitivewords是用户上传的敏感词列表,随代码一起上传
    with open(filename)as file:
        sensitive_words = file.read().decode(´gbk´).split(´\r\n´)        #注意系统不同,可能换行符也不同,(windows下面亲测有效)
    num = 0     #计算消息中包含的敏感词和词库中敏感词重合的数目
    for each in (set(words) & set(sensitive_words)):
        num = num + 1
    length = len(set(words))
    rate = float(num)/length
    if(rate >= over):      #敏感词数量超过词数的10%,判定该消息敏感,拒绝发布
        return False
    return True    #可以发布

def handler (event, context):

    msg = event[´Messages´]   # 从dms队列中拉取消息
    body = msg[0]["body"]       # 读取消息的正文部分

    flag = is_ok_publish(body) #判断该正文是否敏感

上传代码至OBS桶

登录“对象存储服务”,进入obs-mycode桶的对象界面中,上传样例程序包至OBS桶,如图2所示。

图2 上传程序包

进入fss_examples_message_filtering文件详情页,如图3所示,查看文件链接:https://obs-mycode.obs.myhwclouds.com/fss_examples_message_filtering.zip。

图3 程序包链接

创建函数

创建函数的时候,必须选择委托包含DMS访问权限的委托,否则不能使用DMS服务。

  1. 登录华为云控制台,进入“函数工作流服务控制台>函数”界面,单击“创建函数”,进入创建函数流程。
  2. 填写函数配置信息

    1. 输入基础配置信息,如图4所示。

      函数名称输入:“fss_examples_message_filtering”

      所属应用选择默认的“default”。

      描述输入:“中文过滤”

      委托名称选择创建委托中创建的“serverless_dms”

      图4 基础配置
    2. 输入代码信息,如图5所示。

      运行时语音选择:“Python2.7”

      函数执行入口输入:“index.handler”

      代码选择“从OBS上传文件”,OBS链接URL输入上传代码至OBS桶中的地址:https://obs-mycode.obs.myhwclouds.com/fss_examples_message_filtering.zip

      图5 代码配置
    3. 单击右侧“创建函数”,完成函数创建。

  3. 进入fss_examples_message_filtering函数详情页,在“配置”页签,输入环境信息,如图6所示。

    内存选择:“512”

    超时时间输入:“40”

    图6 环境配置

  4. 单击页面右上角“保存”,保存配置信息。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区