تعدیل متن با 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
🖖 بیشتر