首页  >  文章  >  后端开发  >  如何将 Python better_profanity Filter API 与 GraphQL 结合使用

如何将 Python better_profanity Filter API 与 GraphQL 结合使用

DDD
DDD原创
2024-11-16 16:14:03580浏览

随着网络上的社交互动不断增长,特别是随着生成式人工智能不断在全球范围内得到采用,越来越需要构建具有检测和过滤脏话能力的社交应用程序。

构建可以检测和过滤脏话的应用程序可能是更安全的在线社交沟通和互动的解决方案之一。

在本教程中,我们将通过代码片段说明如何使用 Python better_profanity API 和 GraphQL 构建脏话过滤器。

什么是脏话

脏话是指在谈话中使用咒骂、粗鲁和冒犯性的词语。脏话可以用来表达对某人或某事的强烈敌意或不满。

亵渎过滤器是一种检测和过滤在线通信渠道中被视为亵渎的词语的应用程序。

检测和过滤脏话的原因

  • 确保社交互动的在线空间安全。
  • 自动检测和过滤不需要的内容。
  • 检测和过滤脏话可以改善用户体验。
  • 它构建健康的社交空间。

使用 better_profanity 检测脏话

Better-profanity 是一个速度极快的 Python 库,用于检测和清理脏话。它支持自定义单词列表、安全列表、检测修改后的单词拼写、Unicode 字符(也称为 leetspeak)中的脏话,甚至多语言脏话检测。

要开始使用,您需要满足以下先决条件:

  • 您的机器上安装了Python
  • Python基础知识
  • GraphQL 基础知识

安装 better_profanity 库

要为我们的项目安装 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

现在我们已经有了脏话过滤器,让我们为我们的过滤器构建一个 GraphQL API 并测试它。

安装 Flask 和 GraphQL

要在我们的应用程序中安装 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 ****

如果一切正确,服务器应该开始运行,并且您的终端应该如下图所示:

How to use the Python better_profanity Filter API with GraphQL
现在您可以通过访问终端上显示的 URL (http://127.0.0.1:5000/) 来测试您的 API。
查看 URL,您将看到如下图所示的 GraphiQL 界面:

How to use the Python better_profanity Filter API with GraphQL
要测试 API,请在提供的 GraphQL 接口中执行以下查询:

profanity.contains_profanity() # True | # False

您将收到以下回复:

profanity.censor(word, '-')

How to use the Python better_profanity Filter API with GraphQL

结论

为所有用户构建一个安全的社交网络是构建社交应用程序时需要考虑的重要因素。在本教程中,我们介绍了脏话的概念以及如何检测和过滤应用程序中的脏话。我们使用 Python 框架 Flask 和 GraphQL 来演示如何构建脏话过滤器 API。

以上是如何将 Python better_profanity Filter API 与 GraphQL 结合使用的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn