Middle — Senior
Ինչպես իրականացնել առարկայական մոտեցում առաջարկային համակարգերում:
sobes.tech AI
Պատասխան AI-ից
Նշված մոտեցումը հիմնված է առարկաների վրա, և այն հիմնված է նմանության վերլուծության վրա, ոչ թե օգտվողների միջև: Հիմնական քայլերը՝
-
Տվյալների հավաքագրում՝ օգտվողների փոխազդեցությունների մատրից, օրինակ՝ գնահատականներ, գնումներ, դիտումներ:
-
Նմանության հաշվարկ՝ առարկաների միջև՝ օրինակ, կոսինուս նմանություն, Փիրսոնի կորելացիա կամ Ջակարդի գործակից՝ օգտագործողների փոխազդեցության վեկտորների հիման վրա:
-
Համադրության մոդելի կառուցում՝
- Ամեն առարկայի համար գտնում ենք ամենաշատ նման առարկաները:
- Օգտվողին առաջարկում ենք նման առարկաներ, որոնք նա արդեն փոխազդեցություն է ունեցել:
-
Առաջարկների ձևավորում՝
- Ամեն օգտվողի համար հավաքում ենք նման առարկաներ, որոնք նա գնահատել կամ գնել է:
- Դրանք դասավորում ենք ընդհանուր նմանության կամ այլ մետրիկաների հիման վրա:
Օրինակ 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)
Այս մոտեցումը լավ է ընդլայնվում և հաճախ ավելի կայուն առաջարկներ է տալիս, քան օգտվողների վրա հիմնված մոտեցումը, հատկապես երբ օգտվողների թիվը մեծ է։