Sobes.tech
Middle — Senior

Ինչպես իրականացնել առարկայական մոտեցում առաջարկային համակարգերում:

sobes.tech AI

Պատասխան AI-ից

Նշված մոտեցումը հիմնված է առարկաների վրա, և այն հիմնված է նմանության վերլուծության վրա, ոչ թե օգտվողների միջև: Հիմնական քայլերը՝

  1. Տվյալների հավաքագրում՝ օգտվողների փոխազդեցությունների մատրից, օրինակ՝ գնահատականներ, գնումներ, դիտումներ:

  2. Նմանության հաշվարկ՝ առարկաների միջև՝ օրինակ, կոսինուս նմանություն, Փիրսոնի կորելացիա կամ Ջակարդի գործակից՝ օգտագործողների փոխազդեցության վեկտորների հիման վրա:

  3. Համադրության մոդելի կառուցում՝

    • Ամեն առարկայի համար գտնում ենք ամենաշատ նման առարկաները:
    • Օգտվողին առաջարկում ենք նման առարկաներ, որոնք նա արդեն փոխազդեցություն է ունեցել:
  4. Առաջարկների ձևավորում՝

    • Ամեն օգտվողի համար հավաքում ենք նման առարկաներ, որոնք նա գնահատել կամ գնել է:
    • Դրանք դասավորում ենք ընդհանուր նմանության կամ այլ մետրիկաների հիման վրա:

Օրինակ Python-ում (պարզեցված):

from sklearn.metrics.pairwise import cosine_similarity
import numpy as np

# Փոխազդեցության մատրիցա՝ տողերը՝ օգտվողներ, սյունակները՝ առարկաներ
user_item_matrix = np.array([
    [5, 0, 3],
    [4, 0, 0],
    [0, 2, 4],
])

# Տրանսպոնում՝ առարկաների վրա հիմնված մոտեցման համար
item_user_matrix = user_item_matrix.T

# Նմանության հաշվարկ՝ առարկաների միջև
item_similarity = cosine_similarity(item_user_matrix)

# Առարկա 0-ի համար՝ նման առարկաներ գտնել
similar_items = item_similarity[0]

print(similar_items)

Այս մոտեցումը լավ է ընդլայնվում և հաճախ ավելի կայուն առաջարկներ է տալիս, քան օգտվողների վրա հիմնված մոտեցումը, հատկապես երբ օգտվողների թիվը մեծ է։