Skip to content

253 refactor informationneeds#255

Open
dkkdark wants to merge 15 commits into
mainfrom
253-refactor-informationneeds
Open

253 refactor informationneeds#255
dkkdark wants to merge 15 commits into
mainfrom
253-refactor-informationneeds

Conversation

@dkkdark

@dkkdark dkkdark commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@dkkdark dkkdark linked an issue Jun 23, 2026 that may be closed by this pull request
@github-actions

Copy link
Copy Markdown
Current Branch Main Branch
Coverage Badge Coverage Badge

@dkkdark
dkkdark requested a review from NoB0 June 23, 2026 15:55

@NoB0 NoB0 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There a few points to clarify, see questions above. And some nits to look at.

Comment thread usersimcrs/core/information_need.py Outdated
Comment thread usersimcrs/core/information_need.py Outdated
domain: Domain knowledge.
item_collection: Collection of items.
preference_model: Preference model of the same simulated user.
max_constraints: Maximum number of preference-grounded constraints.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: missing "Defaults to..."
Is there a specific reason why to use a maximum number of constraints as opposed to random number as in generate_random_information_need?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the older logic first built constraints from preferences and only then searched for a matching item, so max_constraints was used to avoid overconstraining the search. But I decided to change the logic, we first select a preference-aligned target_item and then sample constraints from its properties, so a random number of constraints works again and I removed max_constraints.

Comment thread usersimcrs/core/information_need.py Outdated
Comment thread usersimcrs/core/information_need.py Outdated
Comment thread usersimcrs/core/information_need.py Outdated
Comment thread usersimcrs/simulator/agenda_based/interaction_model.py Outdated
)
)
if elicited_slot in information_need.constraint_states:
information_need.mark_constraint_attempted(elicited_slot)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As before, I wonder why the state is put to attempted and not complete?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It only checked slot, not value. But I added value check too

Comment thread usersimcrs/simulator/user_simulator.py Outdated
Comment thread usersimcrs/simulator/user_simulator.py Outdated
Comment thread usersimcrs/simulator/user_simulator.py Outdated
@dkkdark
dkkdark requested a review from NoB0 June 30, 2026 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor InformationNeeds

2 participants