পাইথনের সাথে প্রাকৃতিক ভাষা API ব্যবহার করা

1. ওভারভিউ

2c061ec3bc00df22.png

Natural Language API আপনাকে Google মেশিন লার্নিং ব্যবহার করে অসংগঠিত পাঠ্য থেকে তথ্য বের করতে দেয়। এই টিউটোরিয়ালে, আপনি এর Python ক্লায়েন্ট লাইব্রেরি ব্যবহার করার উপর ফোকাস করবেন।

আপনি কি শিখবেন

  • আপনার পরিবেশ কিভাবে সেট আপ করবেন
  • কিভাবে অনুভূতি বিশ্লেষণ সঞ্চালন
  • কিভাবে সত্তা বিশ্লেষণ সঞ্চালন
  • কিভাবে সিনট্যাক্স বিশ্লেষণ সঞ্চালন
  • কিভাবে বিষয়বস্তু শ্রেণীবিভাগ সঞ্চালন
  • কিভাবে টেক্সট সংযম সঞ্চালন

আপনি কি প্রয়োজন হবে

  • একটি Google ক্লাউড প্রকল্প
  • একটি ব্রাউজার, যেমন ক্রোম বা ফায়ারফক্স
  • পাইথন ব্যবহার করে পরিচিতি

সমীক্ষা

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

শুধুমাত্র মাধ্যমে এটি পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন

পাইথনের সাথে আপনার অভিজ্ঞতাকে আপনি কীভাবে মূল্যায়ন করবেন?

নবজাতক মধ্যবর্তী দক্ষ

আপনি Google ক্লাউড পরিষেবাগুলির সাথে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

নবজাতক মধ্যবর্তী দক্ষ

2. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

  1. Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না। আপনি সবসময় এটি আপডেট করতে পারেন.
  • প্রোজেক্ট আইডি সমস্ত Google ক্লাউড প্রোজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রকল্প আইডি উল্লেখ করতে হবে (সাধারণত PROJECT_ID হিসাবে চিহ্নিত)। আপনি যদি জেনারেট করা আইডি পছন্দ না করেন, তাহলে আপনি অন্য একটি এলোমেলো আইডি তৈরি করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করতে পারেন, এবং এটি উপলব্ধ কিনা দেখতে পারেন। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রকল্পের সময়কালের জন্য থাকে।
  • আপনার তথ্যের জন্য, একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর , যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
  1. এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ হবে না, যদি কিছু হয়। এই টিউটোরিয়ালের বাইরে বিলিং এড়াতে সংস্থানগুলি বন্ধ করতে, আপনি আপনার তৈরি করা সংস্থানগুলি মুছতে বা প্রকল্প মুছতে পারেন। নতুন Google ক্লাউড ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷

ক্লাউড শেল শুরু করুন

যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি ক্লাউড শেল ব্যবহার করবেন, ক্লাউডে চলমান একটি কমান্ড লাইন পরিবেশ।

ক্লাউড শেল সক্রিয় করুন

  1. ক্লাউড কনসোল থেকে, ক্লাউড শেল সক্রিয় করুন ক্লিক করুন d1264ca30785e435.png .

cb81e7c8e34bc8d.png

যদি এটি আপনার প্রথমবার ক্লাউড শেল শুরু হয়, তাহলে এটি কী তা বর্ণনা করে আপনাকে একটি মধ্যবর্তী স্ক্রীন উপস্থাপন করা হবে। যদি আপনি একটি মধ্যবর্তী স্ক্রীনের সাথে উপস্থাপিত হন, তবে চালিয়ে যান ক্লিক করুন।

d95252b003979716.png

ক্লাউড শেলের সাথে সংযোগ করতে এবং সংযোগ করতে এটির মাত্র কয়েক মুহূর্ত লাগবে৷

7833d5e1c5d18f54.png

এই ভার্চুয়াল মেশিনটি প্রয়োজনীয় সমস্ত বিকাশের সরঞ্জাম দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5 GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার অনেক কাজ, যদি সব না হয়, ব্রাউজার দিয়ে করা যেতে পারে।

একবার ক্লাউড শেলের সাথে সংযুক্ত হয়ে গেলে, আপনি দেখতে পাবেন যে আপনি প্রমাণীকৃত হয়েছেন এবং প্রকল্পটি আপনার প্রকল্প আইডিতে সেট করা আছে।

  1. আপনি প্রমাণীকৃত কিনা তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud auth list

কমান্ড আউটপুট

 Credentialed Accounts
ACTIVE  ACCOUNT
*       <my_account>@<my_domain.com>

To set the active account, run:
    $ gcloud config set account `ACCOUNT`
  1. gcloud কমান্ড আপনার প্রকল্প সম্পর্কে জানে তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud config list project

কমান্ড আউটপুট

[core]
project = <PROJECT_ID>

যদি এটি না হয়, আপনি এই কমান্ড দিয়ে এটি সেট করতে পারেন:

gcloud config set project <PROJECT_ID>

কমান্ড আউটপুট

Updated property [core/project].

3. পরিবেশ সেটআপ

আপনি প্রাকৃতিক ভাষা API ব্যবহার শুরু করার আগে, API সক্ষম করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:

gcloud services enable language.googleapis.com

আপনি এই মত কিছু দেখতে হবে:

Operation "operations/..." finished successfully.

এখন, আপনি প্রাকৃতিক ভাষা API ব্যবহার করতে পারেন!

আপনার হোম ডিরেক্টরিতে নেভিগেট করুন:

cd ~

নির্ভরতা বিচ্ছিন্ন করতে একটি পাইথন ভার্চুয়াল পরিবেশ তৈরি করুন:

virtualenv venv-language

ভার্চুয়াল পরিবেশ সক্রিয় করুন:

source venv-language/bin/activate

IPython, Pandas, এবং Natural Language API ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন:

pip install ipython pandas tabulate google-cloud-language

আপনি এই মত কিছু দেখতে হবে:

...
Installing collected packages: ... pandas ... ipython ... google-cloud-language
Successfully installed ... google-cloud-language-2.11.0 ...

এখন, আপনি প্রাকৃতিক ভাষা API ক্লায়েন্ট লাইব্রেরি ব্যবহার করার জন্য প্রস্তুত!

পরবর্তী ধাপে, আপনি IPython নামে একটি ইন্টারেক্টিভ পাইথন ইন্টারপ্রেটার ব্যবহার করবেন, যা আপনি আগের ধাপে ইনস্টল করেছেন। ক্লাউড শেলে ipython চালিয়ে একটি সেশন শুরু করুন:

ipython

আপনি এই মত কিছু দেখতে হবে:

Python 3.9.2 (default, Feb 28 2021, 17:03:44)
Type 'copyright', 'credits' or 'license' for more information
IPython 8.15.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]:

4. অনুভূতি বিশ্লেষণ

সেন্টিমেন্ট বিশ্লেষণ প্রদত্ত টেক্সট পরিদর্শন করে এবং পাঠ্যের মধ্যে বিদ্যমান আবেগগত মতামতগুলিকে চিহ্নিত করে, বিশেষ করে বাক্য এবং নথির স্তরে ইতিবাচক, নেতিবাচক বা নিরপেক্ষ হিসাবে প্রকাশ করা অনুভূতিগুলি নির্ধারণ করতে। এটি analyze_sentiment পদ্ধতিতে সম্পাদিত হয় যা একটি AnalyzeSentimentResponse প্রদান করে।

আপনার IPython অধিবেশনে নিম্নলিখিত কোড অনুলিপি করুন:

from google.cloud import language

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

def show_text_sentiment(response: language.AnalyzeSentimentResponse):
    import pandas as pd

    columns = ["score", "sentence"]
    data = [(s.sentiment.score, s.text.content) for s in response.sentences]
    df_sentence = pd.DataFrame(columns=columns, data=data)

    sentiment = response.document_sentiment
    columns = ["score", "magnitude", "language"]
    data = [(sentiment.score, sentiment.magnitude, response.language)]
    df_document = pd.DataFrame(columns=columns, data=data)

    format_args = dict(index=False, tablefmt="presto", floatfmt="+.1f")
    print(f"At sentence level:\n{df_sentence.to_markdown(**format_args)}")
    print()
    print(f"At document level:\n{df_document.to_markdown(**format_args)}")
    

একটি বিশ্লেষণ সম্পাদন করুন:

# Input
text = """
Python is a very readable language, which makes it easy to understand and maintain code.
It's simple, very flexible, easy to learn, and suitable for a wide variety of tasks.
One disadvantage is its speed: it's not as fast as some other programming languages.
"""

# Send a request to the API
analyze_sentiment_response = analyze_text_sentiment(text)

# Show the results
show_text_sentiment(analyze_sentiment_response)

আপনি নিম্নলিখিত মত একটি আউটপুট দেখতে হবে:

At sentence level:
   score | sentence
---------+------------------------------------------------------------------------------------------
    +0.8 | Python is a very readable language, which makes it easy to understand and maintain code.
    +0.9 | It's simple, very flexible, easy to learn, and suitable for a wide variety of tasks.
    -0.4 | One disadvantage is its speed: it's not as fast as some other programming languages.

At document level:
   score |   magnitude | language
---------+-------------+------------
    +0.4 |        +2.2 | en

আপনার নিজের বাক্য পরীক্ষা করার জন্য একটি মুহূর্ত নিন.

সারাংশ

এই ধাপে, আপনি পাঠ্যের একটি স্ট্রিংয়ে অনুভূতি বিশ্লেষণ করতে সক্ষম হয়েছেন!

5. সত্তা বিশ্লেষণ

সত্তা বিশ্লেষণ পরিচিত সত্ত্বাগুলির জন্য প্রদত্ত পাঠ্য পরিদর্শন করে (সঠিক বিশেষ্য যেমন পাবলিক ফিগার, ল্যান্ডমার্ক ইত্যাদি), এবং সেই সত্তাগুলির সম্পর্কে তথ্য প্রদান করে। এটি analyze_entities পদ্ধতির সাথে সঞ্চালিত হয় যা একটি AnalyzeEntitiesResponse প্রদান করে।

আপনার IPython অধিবেশনে নিম্নলিখিত কোড অনুলিপি করুন:

from google.cloud import language

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

def show_text_entities(response: language.AnalyzeEntitiesResponse):
    import pandas as pd

    columns = ("name", "type", "salience", "mid", "wikipedia_url")
    data = (
        (
            entity.name,
            entity.type_.name,
            entity.salience,
            entity.metadata.get("mid", ""),
            entity.metadata.get("wikipedia_url", ""),
        )
        for entity in response.entities
    )
    df = pd.DataFrame(columns=columns, data=data)
    print(df.to_markdown(index=False, tablefmt="presto", floatfmt=".0%"))
    

একটি বিশ্লেষণ সম্পাদন করুন:

# Input
text = """Guido van Rossum is best known as the creator of Python,
which he named after the Monty Python comedy troupe.
He was born in Haarlem, Netherlands.
"""

# Send a request to the API
analyze_entities_response = analyze_text_entities(text)

# Show the results
show_text_entities(analyze_entities_response)

আপনি নিম্নলিখিত মত একটি আউটপুট দেখতে হবে:

 name             | type         |   salience | mid       | wikipedia_url
------------------+--------------+------------+-----------+-------------------------------------------------------------
 Guido van Rossum | PERSON       |        50% | /m/01h05c | https://en.wikipedia.org/wiki/Guido_van_Rossum
 Python           | ORGANIZATION |        38% | /m/05z1_  | https://en.wikipedia.org/wiki/Python_(programming_language)
 creator          | PERSON       |         5% |           |
 Monty Python     | PERSON       |         3% | /m/04sd0  | https://en.wikipedia.org/wiki/Monty_Python
 comedy troupe    | PERSON       |         2% |           |
 Haarlem          | LOCATION     |         1% | /m/0h095  | https://en.wikipedia.org/wiki/Haarlem
 Netherlands      | LOCATION     |         1% | /m/059j2  | https://en.wikipedia.org/wiki/Netherlands

অন্যান্য সত্তা উল্লেখ করে আপনার নিজের বাক্য পরীক্ষা করার জন্য একটি মুহূর্ত নিন।

সারাংশ

এই ধাপে, আপনি সত্তা বিশ্লেষণ করতে সক্ষম হয়েছেন!

6. সিনট্যাক্স বিশ্লেষণ

সিনট্যাক্স বিশ্লেষণ ভাষাগত তথ্য বের করে, প্রদত্ত পাঠকে বাক্য এবং টোকেনের একটি সিরিজে বিভক্ত করে (সাধারণত শব্দের সীমানার উপর ভিত্তি করে), সেই টোকেনগুলিতে আরও বিশ্লেষণ প্রদান করে। এটি analyze_syntax পদ্ধতির মাধ্যমে সঞ্চালিত হয় যা একটি AnalyzeSyntaxResponse প্রদান করে।

আপনার IPython অধিবেশনে নিম্নলিখিত কোড অনুলিপি করুন:

from typing import Optional
from google.cloud import language

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

def get_token_info(token: Optional[language.Token]) -> list[str]:
    parts = [
        "tag",
        "aspect",
        "case",
        "form",
        "gender",
        "mood",
        "number",
        "person",
        "proper",
        "reciprocity",
        "tense",
        "voice",
    ]
    if not token:
        return ["token", "lemma"] + parts

    text = token.text.content
    lemma = token.lemma if token.lemma != token.text.content else ""
    info = [text, lemma]
    for part in parts:
        pos = token.part_of_speech
        info.append(getattr(pos, part).name if part in pos else "")

    return info

def show_text_syntax(response: language.AnalyzeSyntaxResponse):
    import pandas as pd

    tokens = len(response.tokens)
    sentences = len(response.sentences)
    columns = get_token_info(None)
    data = (get_token_info(token) for token in response.tokens)
    df = pd.DataFrame(columns=columns, data=data)
    # Remove empty columns
    empty_columns = [col for col in df if df[col].eq("").all()]
    df.drop(empty_columns, axis=1, inplace=True)

    print(f"Analyzed {tokens} token(s) from {sentences} sentence(s):")
    print(df.to_markdown(index=False, tablefmt="presto"))
    

একটি বিশ্লেষণ সম্পাদন করুন:

# Input
text = """Guido van Rossum is best known as the creator of Python.
He was born in Haarlem, Netherlands.
"""

# Send a request to the API
analyze_syntax_response = analyze_text_syntax(text)

# Show the results
show_text_syntax(analyze_syntax_response)

আপনি নিম্নলিখিত মত একটি আউটপুট দেখতে হবে:

Analyzed 20 token(s) from 2 sentence(s):
 token       | lemma   | tag   | case       | gender    | mood       | number   | person   | proper   | tense   | voice
-------------+---------+-------+------------+-----------+------------+----------+----------+----------+---------+---------
 Guido       |         | NOUN  |            |           |            | SINGULAR |          | PROPER   |         |
 van         |         | NOUN  |            |           |            | SINGULAR |          | PROPER   |         |
 Rossum      |         | NOUN  |            |           |            | SINGULAR |          | PROPER   |         |
 is          | be      | VERB  |            |           | INDICATIVE | SINGULAR | THIRD    |          | PRESENT |
 best        | well    | ADV   |            |           |            |          |          |          |         |
 known       | know    | VERB  |            |           |            |          |          |          | PAST    |
 as          |         | ADP   |            |           |            |          |          |          |         |
 the         |         | DET   |            |           |            |          |          |          |         |
 creator     |         | NOUN  |            |           |            | SINGULAR |          |          |         |
 of          |         | ADP   |            |           |            |          |          |          |         |
 Python      |         | NOUN  |            |           |            | SINGULAR |          | PROPER   |         |
 .           |         | PUNCT |            |           |            |          |          |          |         |
 He          |         | PRON  | NOMINATIVE | MASCULINE |            | SINGULAR | THIRD    |          |         |
 was         | be      | VERB  |            |           | INDICATIVE | SINGULAR | THIRD    |          | PAST    |
 born        | bear    | VERB  |            |           |            |          |          |          | PAST    | PASSIVE
 in          |         | ADP   |            |           |            |          |          |          |         |
 Haarlem     |         | NOUN  |            |           |            | SINGULAR |          | PROPER   |         |
 ,           |         | PUNCT |            |           |            |          |          |          |         |
 Netherlands |         | NOUN  |            |           |            | SINGULAR |          | PROPER   |         |
 .           |         | PUNCT |            |           |            |          |          |          |         |

অন্যান্য সিনট্যাকটিক স্ট্রাকচারের সাথে আপনার নিজের বাক্য পরীক্ষা করার জন্য কিছুক্ষণ সময় নিন।

আপনি যদি প্রতিক্রিয়া অন্তর্দৃষ্টিতে গভীরভাবে ডুব দেন, আপনি টোকেনগুলির মধ্যে সম্পর্কও খুঁজে পাবেন। এখানে একটি ভিজ্যুয়াল ব্যাখ্যা রয়েছে যা এই উদাহরণের জন্য সম্পূর্ণ সিনট্যাক্স বিশ্লেষণ দেখাচ্ছে, অনলাইন প্রাকৃতিক ভাষার ডেমো থেকে একটি স্ক্রিনশট:

b819e0aa7dbf1b9d.png

সারাংশ

এই ধাপে, আপনি সিনট্যাক্স বিশ্লেষণ করতে সক্ষম হয়েছেন!

7. বিষয়বস্তুর শ্রেণীবিভাগ

বিষয়বস্তু শ্রেণীবিভাগ একটি নথি বিশ্লেষণ করে এবং নথিতে পাওয়া পাঠ্যের জন্য প্রযোজ্য বিষয়বস্তু বিভাগের একটি তালিকা প্রদান করে। এটি classify_text পদ্ধতির সাথে সঞ্চালিত হয় যা একটি ClassifyTextResponse প্রদান করে।

আপনার IPython অধিবেশনে নিম্নলিখিত কোড অনুলিপি করুন:

from google.cloud import language

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

def show_text_classification(text: str, response: language.ClassifyTextResponse):
    import pandas as pd

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

    print(f"Text analyzed:\n{text}")
    print(df.to_markdown(index=False, tablefmt="presto", floatfmt=".0%"))
    

একটি বিশ্লেষণ সম্পাদন করুন:

# Input
text = """Python is an interpreted, high-level, general-purpose programming language.
Created by Guido van Rossum and first released in 1991, Python's design philosophy
emphasizes code readability with its notable use of significant whitespace.
"""

# Send a request to the API
classify_text_response = classify_text(text)

# Show the results
show_text_classification(text, classify_text_response)

আপনি নিম্নলিখিত মত একটি আউটপুট দেখতে হবে:

Text analyzed:
Python is an interpreted, high-level, general-purpose programming language.
Created by Guido van Rossum and first released in 1991, Python's design philosophy
emphasizes code readability with its notable use of significant whitespace.

 category                             |   confidence
--------------------------------------+--------------
 /Computers & Electronics/Programming |          99%
 /Science/Computer Science            |          99%

অন্যান্য বিভাগের সাথে সম্পর্কিত আপনার নিজের বাক্য পরীক্ষা করার জন্য একটি মুহূর্ত নিন। মনে রাখবেন যে আপনাকে অবশ্যই কমপক্ষে বিশটি টোকেন (শব্দ এবং বিরাম চিহ্ন) সহ একটি পাঠ্য ব্লক (নথি) সরবরাহ করতে হবে।

সারাংশ

এই ধাপে, আপনি বিষয়বস্তু শ্রেণীবিভাগ করতে সক্ষম হয়েছেন!

8. পাঠ্য সংযম

Google-এর সর্বশেষ PaLM 2 ফাউন্ডেশন মডেল দ্বারা চালিত, পাঠ্য সংযম ঘৃণাত্মক বক্তৃতা, গুন্ডামি এবং যৌন হয়রানি সহ ক্ষতিকারক সামগ্রীর বিস্তৃত পরিসর চিহ্নিত করে৷ এটি moderate_text পদ্ধতির সাথে সঞ্চালিত হয় যা একটি ModerateTextResponse প্রদান করে।

আপনার IPython অধিবেশনে নিম্নলিখিত কোড অনুলিপি করুন:

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)

def show_text_moderation(text: str, response: language.ModerateTextResponse):
    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}")
    print(df.to_markdown(index=False, tablefmt="presto", floatfmt=".0%"))
    

একটি বিশ্লেষণ সম্পাদন করুন:

# Input
text = """I have to read Ulysses by James Joyce.
I'm a little over halfway through and I hate it.
What a pile of garbage!
"""

# Send a request to the API
response = moderate_text(text)

# Show the results
show_text_moderation(text, response)

আপনি নিম্নলিখিত মত একটি আউটপুট দেখতে হবে:

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!

 category              |   confidence
-----------------------+--------------
 Toxic                 |          67%
 Insult                |          58%
 Profanity             |          53%
 Violent               |          48%
 Illicit Drugs         |          29%
 Religion & Belief     |          27%
 Politics              |          22%
 Death, Harm & Tragedy |          21%
 Finance               |          18%
 Derogatory            |          14%
 Firearms & Weapons    |          11%
 Health                |          10%
 Legal                 |          10%
 War & Conflict        |           7%
 Public Safety         |           5%
 Sexual                |           4%

আপনার নিজের বাক্য পরীক্ষা করার জন্য একটি মুহূর্ত নিন.

সারাংশ

এই ধাপে, আপনি পাঠ্য সংযম করতে সক্ষম হয়েছেন!

9. অভিনন্দন!

2c061ec3bc00df22.png

আপনি পাইথন ব্যবহার করে প্রাকৃতিক ভাষা API ব্যবহার করতে শিখেছেন!

পরিষ্কার করুন

ক্লাউড শেল থেকে আপনার উন্নয়ন পরিবেশ পরিষ্কার করতে:

  • আপনি যদি এখনও আপনার IPython সেশনে থাকেন, তাহলে শেল এ ফিরে যান: exit
  • পাইথন ভার্চুয়াল পরিবেশ ব্যবহার বন্ধ করুন: deactivate
  • আপনার ভার্চুয়াল পরিবেশ ফোল্ডার মুছুন: cd ~ ; rm -rf ./venv-language

ক্লাউড শেল থেকে আপনার Google ক্লাউড প্রকল্প মুছে ফেলতে:

  • আপনার বর্তমান প্রকল্প আইডি পুনরুদ্ধার করুন: PROJECT_ID=$(gcloud config get-value core/project)
  • নিশ্চিত করুন যে এই প্রকল্পটি আপনি মুছতে চান: echo $PROJECT_ID
  • প্রকল্পটি মুছুন: gcloud projects delete $PROJECT_ID

আরও জানুন

লাইসেন্স

এই কাজটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন 2.0 জেনেরিক লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত।