随着网络上的社交互动不断增长,特别是随着生成式人工智能不断在全球范围内得到采用,越来越需要构建具有检测和过滤脏话能力的社交应用程序。
构建可以检测和过滤脏话的应用程序可能是更安全的在线社交沟通和互动的解决方案之一。
在本教程中,我们将通过代码片段说明如何使用 Python better_profanity API 和 GraphQL 构建脏话过滤器。
脏话是指在谈话中使用咒骂、粗鲁和冒犯性的词语。脏话可以用来表达对某人或某事的强烈敌意或不满。
亵渎过滤器是一种检测和过滤在线通信渠道中被视为亵渎的词语的应用程序。
Better-profanity 是一个速度极快的 Python 库,用于检测和清理脏话。它支持自定义单词列表、安全列表、检测修改后的单词拼写、Unicode 字符(也称为 leetspeak)中的脏话,甚至多语言脏话检测。
要开始使用,您需要满足以下先决条件:
要为我们的项目安装 better_profanity 库,请在终端中运行以下命令:
pip install better_profanity
在您的 Python 项目中,创建一个 profanity_filter.py 文件并添加以下代码片段:
from better_profanity import profanity profanity.load_censor_words() def test_profanity(paragraph): print(profanity.censor(paragraph))
如果您将攻击性词语作为参数传递给函数,如下所示:
test_profanity("Don't be fuck")
您将得到以下结果:
Don't be ****
Python better_profanity 有一个函数可以判断字符串是否包含脏话:
profanity.contains_profanity() # True | # False
Python better_profanity 有一个用自定义字符审查脏话的函数:
profanity.censor(word, '-')
.censor('-') 中的第二个参数将用于审查第一个参数(单词)中找到的任何脏话。
现在我们已经有了脏话过滤器,让我们为我们的过滤器构建一个 GraphQL API 并测试它。
要在我们的应用程序中安装 Flask 和 GraphQL 库,请在终端上运行以下命令:
pip install better_profanity
接下来,我们将编写 API GraphQl 模式。为此,请创建一个 schema.py 文件并添加以下代码:
from better_profanity import profanity profanity.load_censor_words() def test_profanity(paragraph): print(profanity.censor(paragraph))
接下来,让我们将脏话过滤器配置到具有可访问 URL 的服务器。为此,请创建一个 Python 文件 app.py,并向其中添加以下代码:
test_profanity("Don't be fuck")
要运行我们的应用程序,请在终端中运行以下命令:
Don't be ****
如果一切正确,服务器应该开始运行,并且您的终端应该如下图所示:
现在您可以通过访问终端上显示的 URL (http://127.0.0.1:5000/) 来测试您的 API。
查看 URL,您将看到如下图所示的 GraphiQL 界面:
要测试 API,请在提供的 GraphQL 接口中执行以下查询:
profanity.contains_profanity() # True | # False
您将收到以下回复:
profanity.censor(word, '-')
为所有用户构建一个安全的社交网络是构建社交应用程序时需要考虑的重要因素。在本教程中,我们介绍了脏话的概念以及如何检测和过滤应用程序中的脏话。我们使用 Python 框架 Flask 和 GraphQL 来演示如何构建脏话过滤器 API。
以上是如何将 Python better_profanity Filter API 与 GraphQL 结合使用的详细内容。更多信息请关注PHP中文网其他相关文章!