Skip to main content
  1. Blogs/

NLPCaptcha: இயற்கை மொழி CAPTCHAக்களில் தொழில்நுட்ப சவால்களை வெற்றிகொள்வது

468 words·3 mins·
தொழில்நுட்பம் மென்பொருள் மேம்பாடு இயற்கை மொழி செயலாக்கம் பைதான் மேம்பாடு CAPTCHA இயந்திர கற்றல் இணைய பாதுகாப்பு
திபாங்கர் சர்க்கார்
Author
திபாங்கர் சர்க்கார்
உலகின் சிறந்த தொழில்நுட்பங்களில் சிலவற்றில் பணியாற்றுகிறேன்.
Table of Contents

NLPCaptcha-ஐ தொடர்ந்து உருவாக்கும்போது, நாங்கள் பல தொழில்நுட்ப சவால்களை எதிர்கொண்டு வெற்றி கொண்டோம். இன்று, இந்த சவால்கள் குறித்த சில நுண்ணறிவுகளையும், பைதான் மற்றும் பல்வேறு NLP நுட்பங்களைப் பயன்படுத்தி அவற்றை எவ்வாறு நிவர்த்தி செய்தோம் என்பதையும் பகிர்ந்து கொள்ள விரும்புகிறேன்.

சவால் 1: பன்முக, சூழல்-விழிப்புணர்வு கேள்விகளை உருவாக்குதல்
#

எங்கள் முதன்மை சவால்களில் ஒன்று விளம்பரதாரர் உள்ளடக்கத்தை உள்ளடக்கிய மனிதர்கள் படிக்கக்கூடிய பல்வேறு வகையான கேள்விகளை உருவாக்கும் அமைப்பை உருவாக்குவதாகும்.

தீர்வு:
#

நாங்கள் பைதான் மற்றும் NLTK ஐப் பயன்படுத்தி டெம்ப்ளேட் அடிப்படையிலான அமைப்பை செயல்படுத்தினோம். இதோ ஒரு எளிமைப்படுத்தப்பட்ட உதாரணம்:

import nltk
from string import Template

def generate_captcha(ad_text):
    templates = [
        Template("மேற்கோள் குறியீடுகளில் உள்ள வார்த்தைகளை எழுதுங்கள்: '$ad_text'"),
        Template("'$ad_text' இல் உள்ள பெரிய எழுத்துக்களை தட்டச்சு செய்யவும்"),
        Template("'$ad_text' இல் எத்தனை வார்த்தைகள் உள்ளன?")
    ]
    return nltk.choice(templates).substitute(ad_text=ad_text)

# பயன்பாடு
captcha = generate_captcha("இன்றே ACME பொருட்களை வாங்குங்கள்!")
print(captcha)
# சாத்தியமான வெளியீடு: 'இன்றே ACME பொருட்களை வாங்குங்கள்!' இல் உள்ள பெரிய எழுத்துக்களை தட்டச்சு செய்யவும்

இந்த அணுகுமுறை புதிய டெம்ப்ளேட்களை எளிதாகச் சேர்க்கவும், எங்கள் CAPTCHAக்களில் பன்முகத்தன்மையை பராமரிக்கவும் அனுமதிக்கிறது.

சவால் 2: போட் எதிர்ப்பை உறுதி செய்தல்
#

CAPTCHAக்களை மனிதர்கள் படிக்கக்கூடியதாக மாற்றும்போது, அவற்றை போட்கள் தீர்ப்பது கடினமாக இருப்பதை உறுதி செய்ய வேண்டியிருந்தது.

தீர்வு:
#

நாங்கள் பல அடுக்கு அணுகுமுறையை செயல்படுத்தினோம்:

  1. கேள்வி மாறுபாடு: மேலே காட்டியபடி, நாங்கள் பல கேள்வி வகைகளைப் பயன்படுத்துகிறோம்.
  2. இயற்கை மொழி புரிதல்: பயனர் உள்ளீட்டில் சிறிய மாறுபாடுகளை அனுமதிக்க, பதில்களை பகுப்பாய்வு செய்ய NLP ஐப் பயன்படுத்துகிறோம்.
  3. சூழல் அடிப்படையிலான சரிபார்ப்பு: பதில்களை சரிபார்க்கும் போது விளம்பரத்தின் சூழலைக் கருத்தில் கொள்கிறோம்.

இதோ எங்கள் சரிபார்ப்பு செயல்முறையின் எளிமைப்படுத்தப்பட்ட உதாரணம்:

import nltk

def validate_response(question, correct_answer, user_response):
    if "பெரிய எழுத்துக்கள்" in question.lower():
        return user_response.upper() == ''.join(c for c in correct_answer if c.isupper())
    elif "மேற்கோள் குறியீடுகளில் உள்ள வார்த்தைகள்" in question.lower():
        return user_response.strip("'\"") == correct_answer.strip("'\"")
    elif "எத்தனை வார்த்தைகள்" in question.lower():
        return str(len(nltk.word_tokenize(correct_answer))) == user_response
    # தேவைப்பட்டால் மேலும் சரிபார்ப்பு வகைகளைச் சேர்க்கவும்
    return False

# பயன்பாடு
question = "'இன்றே ACME பொருட்களை வாங்குங்கள்!' இல் உள்ள பெரிய எழுத்துக்களை தட்டச்சு செய்யவும்"
correct_answer = "இன்றே ACME பொருட்களை வாங்குங்கள்!"
user_response = "ACME"
is_valid = validate_response(question, correct_answer, user_response)
print(f"பதில் செல்லுபடியாகும்: {is_valid}")

சவால் 3: விளம்பரதாரர் உள்ளடக்கத்துடன் ஒருங்கிணைத்தல்
#

பாதுகாப்பை பராமரிக்கும் அதே வேளையில் விளம்பரதாரர் உள்ளடக்கத்தை எங்கள் CAPTCHAக்களில் தடையின்றி இணைப்பது மற்றொரு முக்கியமான சவாலாக இருந்தது.

தீர்வு:
#

விளம்பரதாரர்கள் தங்கள் உள்ளடக்கத்தைச் சமர்ப்பிக்க அனுமதிக்கும் உள்ளடக்க மேலாண்மை அமைப்பை உருவாக்கினோம், பின்னர் அது செயலாக்கப்பட்டு எங்கள் CAPTCHA உருவாக்க அமைப்பில் ஒருங்கிணைக்கப்படுகிறது. இதோ ஒரு கருத்துரு உதாரணம்:

class AdvertiserContent:
    def __init__(self, brand, message, target_demographics):
        self.brand = brand
        self.message = message
        self.target_demographics = target_demographics

class CAPTCHAGenerator:
    def generate(self, user_demographics):
        suitable_ads = self.find_suitable_ads(user_demographics)
        ad = random.choice(suitable_ads)
        return generate_captcha(ad.message)

    def find_suitable_ads(self, user_demographics):
        # பயனர் மக்கள்தொகை விளம்பர இலக்கு மக்கள்தொகையுடன் பொருந்தும் தர்க்கம்
        pass

# பயன்பாடு
ad1 = AdvertiserContent("ACME", "இன்றே ACME பொருட்களை வாங்குங்கள்!", {"வயது": "18-35"})
ad2 = AdvertiserContent("XYZ Corp", "XYZ Corp: நாளைய புதுமை", {"ஆர்வம்": "தொழில்நுட்பம்"})
# ... மேலும் விளம்பரங்கள் ...

generator = CAPTCHAGenerator()
captcha = generator.generate({"வயது": "25", "ஆர்வம்": "தொழில்நுட்பம்"})
print(captcha)

தொடர்ச்சியான சவால்கள் மற்றும் எதிர்கால வேலை
#

NLPCaptcha-ஐ தொடர்ந்து மேம்படுத்தும்போது, நாங்கள் கவனம் செலுத்துகிறோம்:

  1. இயற்கை மொழி புரிதலை மேம்படுத்துதல்: மாறுபட்ட பயனர் பதில்களை விளக்கும் எங்கள் திறனை மேம்படுத்துதல்.
  2. மொழி ஆதரவை விரிவுபடுத்துதல்: பல மொழிகளில் CAPTCHAக்களை உருவாக்கி சரிபார்க்கும் திறன்களை உருவாக்குதல்.
  3. செயல்திறன் மேம்பாடு: குறைந்தபட்ச தாமதத்துடன் அதிக அளவிலான CAPTCHA கோரிக்கைகளை எங்கள் அமைப்பு கையாளக்கூடியதாக இருப்பதை உறுதி செய்தல்.

நாங்கள் செய்த முன்னேற்றம் மற்றும் இணைய பாதுகாப்பு மற்றும் விளம்பரத்தில் NLPCaptcha-இன் சாத்தியமான தாக்கம் குறித்து நாங்கள் உற்சாகமாக இருக்கிறோம். இந்த இடத்தில் தொடர்ந்து புதுமை படைக்கும்போது மேலும் புதுப்பிப்புகளுக்காக காத்திருங்கள்!

Related

NLPCaptcha: இணைய பாதுகாப்பு மற்றும் விளம்பரத்தை புரட்சிகரமாக்குதல்
313 words·2 mins
தொழில்நுட்பம் புதுமை CAPTCHA இயற்கை மொழி செயலாக்கம் இணைய பாதுகாப்பு விளம்பரம் பைதான் மேம்பாடு