برنامه نویسی

تعدیل متن با API زبان طبیعی

عکس از دا نینا در Unsplash

Natural Language API به شما امکان می دهد با استفاده از یادگیری ماشین گوگل اطلاعات را از متن بدون ساختار استخراج کنید و راه حلی برای مشکلات زیر ارائه می دهد:

  • تحلیل احساسات
  • تجزیه و تحلیل موجودیت
  • تجزیه و تحلیل احساسات موجودیت
  • تحلیل نحوی
  • طبقه بندی محتوا
  • تعدیل متن (پیش نمایش)

🔍 دسته های تعدیل

تعدیل متن (اکنون در پیش نمایش موجود است) به شما امکان می دهد محتوای حساس یا مضر را شناسایی کنید. اولین مقوله تعدیل که به ذهن می رسد “سمی بودن” است، اما موضوعات مورد علاقه بسیار بیشتری وجود دارد. یک مدل مبتنی بر PaLM2 پیش‌بینی‌ها را قدرت می‌دهد و 16 دسته را کسب می‌کند:

سمی توهین امنیت عمومی جنگ و درگیری
تحقیر کننده فحاشی سلامتی دارایی، مالیه، سرمایه گذاری
خشن مرگ، آسیب و تراژدی دین و اعتقاد سیاست
جنسی سلاح گرم و سلاح مواد مخدر غیر قانونی مجاز

⚡ تعدیل متن

مثل همیشه، می‌توانید API را از طریق رابط‌های REST/RPC یا با کتابخانه‌های کلاینت اصطلاحی فراخوانی کنید.

در اینجا یک مثال با استفاده از کتابخانه مشتری پایتون (google-cloud-language) و moderate_text روش:

from google.cloud import language

def moderate_text(text: str) -> language.ModerateTextResponse:
    client = language.LanguageServiceClient()
    document = language.Document(
        content=text,
        type_=language.Document.Type.PLAIN_TEXT,
    )
    return client.moderate_text(document=document)

text = (
    "I have to read Ulysses by James Joyce.\n"
    "I'm a little over halfway through and I hate it.\n"
    "What a pile of garbage!"
)
response = moderate_text(text)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

🚀 سریع است! تأخیر مدل بسیار کم است و امکان تجزیه و تحلیل بلادرنگ را فراهم می کند.

پاسخ شامل نمرات اطمینان برای هر دسته تعدیل است. بیایید آنها را مرتب کنیم:

import pandas as pd

def confidence(category: language.ClassificationCategory) -> float:
    return category.confidence

columns = ["category", "confidence"]
categories = sorted(
    response.moderation_categories,
    key=confidence,
    reverse=True,
)
data = ((category.name, category.confidence) for category in categories)
df = pd.DataFrame(columns=columns, data=data)

print(f"Text analyzed:\n{text}\n")
print(f"Moderation categories:\n{df}")
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

معمولاً ممکن است نمرات زیر 50 درصد را نادیده بگیرید و راه حل خود را با تعیین حدهای بالایی (یا سطل) برای امتیازهای اطمینان کالیبره کنید. در این مثال، بسته به آستانه شما، ممکن است متن را به عنوان بی احترامی (سمی) و توهین آمیز پرچم گذاری کنید:

Text analyzed:
I have to read Ulysses by James Joyce.
I'm a little over halfway through and I hate it.
What a pile of garbage!

Moderation categories:
                 category  confidence
0                   Toxic    0.680873
1                  Insult    0.609475
2               Profanity    0.482516
3                 Violent    0.333333
4                Politics    0.237705
5   Death, Harm & Tragedy    0.189759
6                 Finance    0.176955
7       Religion & Belief    0.151079
8                   Legal    0.100946
9                  Health    0.096305
10          Illicit Drugs    0.083333
11     Firearms & Weapons    0.076923
12             Derogatory    0.073953
13         War & Conflict    0.052632
14          Public Safety    0.051813
15                 Sexual    0.028222
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

🖖 بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا