iai-group / MovieBot

IAI MovieBot
https://iai-group.github.io/MovieBot/
MIT License
8 stars 10 forks source link

Create UserModel class #184

Closed NoB0 closed 11 months ago

NoB0 commented 1 year ago

This is a first attempt at modelling a user. The model stores the previous choices (e.g., accept, reject, and dont_like). The preference towards a set of movies can be estimated.

Note that the tag preferences are not computationally efficient as of now (e.g., a database call and exploration of the results are performed each time to get the tag preference).

github-actions[bot] commented 1 year ago
Current Branch Main Branch
Coverage Badge Coverage Badge
IKostric commented 1 year ago

The model right now estimates the preferances for slots from liked/disliked movies. We should also keep track of explicitly stated preferances, e.g., "I like drama".

NoB0 commented 1 year ago

See inline comments. I have several questions regarding choices. The main one being: Why keep historical choices instead of the latest one only?

Choices include various values for different intents, for example, the choice can watched, dont_like when a recommendation is rejected. These may be handled differently when converting the choices to preferences. As of now, there is no difference between historical choices and session choices and the tag preference is inferred from all the choices available. This allows us to infer tag preference for tag that are not mentioned in the current conversation.

Based on your comments, I would make the following suggestion:

Would this make the code and logic more clear?

kbalog commented 1 year ago

We might want to distinguish between item and slot preferences... Not sure if tags are represented as a slot.