• Chastota- Teskari hujjat chastotasi (TF-IDF)
  • TF-IDF
  • Chatbotni yarataylik, kerakli kutubxonalarni import qilish
  • So‘zlar sumkasi bilan bog’liq muammo




    Download 5,69 Mb.
    bet48/182
    Sana19.05.2024
    Hajmi5,69 Mb.
    #244351
    1   ...   44   45   46   47   48   49   50   51   ...   182
    Bog'liq
    Python sun\'iy intellekt texnologiyasi Dasrlik 2024

    So‘zlar sumkasi bilan bog’liq muammo
    Hujjatda haddan tashqari ko‘p uchraydigan so‘zlar ustunlik qila boshlaydi, ammo ular ma’lumot mazmunini o‘z ichiga olmaydi. Bundan tashqari, uzunroq hujjatlar qisqaroq hujjatlarga qaraganda ko‘proq og’irlik qiladi.
    Yechim
    Biz so‘zlarning chastotasini ularning barcha hujjatlarda qanchalik tez-tez paydo bo‘lishiga qarab o‘zgartiramiz, shunda "in" kabi tez-tez so‘zlar uchun ballar jazolanadi. Ushbu yondashuv muddatli TF-IDF)'>Chastota- Teskari hujjat chastotasi (TF-IDF): deb ataladi.
    Term Frequency: Bu joriy hujjatdagi so‘zning chastotasi bahosi.
    Term Frequency= (Number of times k occurs in a document)/ (Number of words in the document)
    Hujjatlarning teskari chastotasi: Bu soʻzning hujjatlarda qanchalik kam boʻlishini baholash.
    Inverse Document Frequency = 1+log(N/n), where N= number of documents and n=number of documents with k occurred
    TF-IDF= Term Frequency * Inverse Document Frequency
    TF-IDFni quyidagi tarzda import qilish mumkin:
    from sklearn.feature_extraction.text import TfidfVectorizer
    Kosinus o‘xshashligi: Bu nolga teng bo‘lmagan ikkita vektor o‘rtasidagi o‘xshashlik o‘lchovidir. TF-IDF - bu vektor fazosida ikkita haqiqiy vektorni olish uchun matnlarga qo‘llaniladigan transformatsiya. Bu har qanday vektor juftining kosinus o‘xshashligini ularning nuqta mahsulotini olib, normalari ko‘paytmasiga bo‘lish orqali topishimiz mumkin. Bu vektorlar orasidagi burchakning kosinusini beradi. Ushbu formuladan foydalanib, biz a1 va a2 har qanday ikkita hujjat o‘rtasidagi o‘xshashlikni bilib olamiz.
    Cosine Similarity (a1,a2)= Dot product(a1, a2)/||a1||*||a2||
    Bu yerda a1 va a2 nolga teng bo‘lmagan vektorlar.
    Chatbotni yarataylik, kerakli kutubxonalarni import qilish
    import io
    import random
    import string
    import warnings
    import numpy as np
    from sklearn.feature_extraction.text import TfidfVectorizer
    from sklearn.metrics.pairwise import cosine_similarity
    import warnings
    warnings.filterwarnings(‘ignore’)
    import nltk
    from nltk.stem import WordNetLemmatizer
    nltk.download(‘popular’, quiet=True)
    Korpus
    Ushbu korpusim sifatida “chatbotlar” uchun Vikipediya sahifalaridan foydalanardim. Tarkibni sahifadan nusxa ko‘chiring va uni “chatbot.txt” nomli matn fayliga joylashtiring. Biroq, siz tanlagan har qanday korpusdan foydalanishingiz mumkin.

    Download 5,69 Mb.
    1   ...   44   45   46   47   48   49   50   51   ...   182




    Download 5,69 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    So‘zlar sumkasi bilan bog’liq muammo

    Download 5,69 Mb.