{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/we-are-what-we-repeatedly-do-inducing-and","title":"We are what we repeatedly do: Inducing and deploying habitual schemas in persona-based responses","arxiv_id":"2310.06245","date":"2023-10-10","proceeding":null,"authors":["Benjamin Kane","Lenhart Schubert"],"abstract":"Many practical applications of dialogue technology require the generation of responses according to a particular developer-specified persona. While a variety of personas can be elicited from recent large language models, the opaqueness and unpredictability of these models make it desirable to be able to specify personas in an explicit form. In previous work, personas have typically been represented as sets of one-off pieces of self-knowledge that are retrieved by the dialogue system for use in generation. However, in realistic human conversations, personas are often revealed through story-like narratives that involve rich habitual knowledge -- knowledge about kinds of events that an agent often participates in (e.g., work activities, hobbies, sporting activities, favorite entertainments, etc.), including typical goals, sub-events, preconditions, and postconditions of those events. We capture such habitual knowledge using an explicit schema representation, and propose an approach to dialogue generation that retrieves relevant schemas to condition a large language model to generate persona-based responses. Furthermore, we demonstrate a method for bootstrapping the creation of such schemas by first generating generic passages from a set of simple facts, and then inducing schemas from the generated passages.","url_abs":"https://arxiv.org/abs/2310.06245v1","url_pdf":"https://arxiv.org/pdf/2310.06245v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"we-are-what-we-repeatedly-do-inducing-and","repo_url":"https://github.com/bkane2/habitual-response-generation","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"dialogue-generation","task_name":"Dialogue Generation"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"large-language-model","task_name":"Large Language Model"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2310.06245","atlas_url":"https://app.syntology.ai/?focus=2310.06245","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.06245"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/bkane2/habitual-response-generation","reach":{"status":"ok"}}],"summary":{"ran":5,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":7,"samples":[{"code_sha256_prefix":"24893f346f97c656","entry":"format_example","repo":"bkane2/habitual-response-generation","repo_kind":"official","path":"src/generate_response.py","file_url":"https://github.com/bkane2/habitual-response-generation/blob/HEAD/src/generate_response.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"24893f346f97c656"}},{"code_sha256_prefix":"21c2caf5b7ea8afd","entry":"parse_generated_passages","repo":"bkane2/habitual-response-generation","repo_kind":"official","path":"src/generate_schemas.py","file_url":"https://github.com/bkane2/habitual-response-generation/blob/HEAD/src/generate_schemas.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"21c2caf5b7ea8afd"}},{"code_sha256_prefix":"b6f98fb34c9c1c9f","entry":"parse_generated_schemas","repo":"bkane2/habitual-response-generation","repo_kind":"official","path":"src/generate_schemas.py","file_url":"https://github.com/bkane2/habitual-response-generation/blob/HEAD/src/generate_schemas.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b6f98fb34c9c1c9f"}},{"code_sha256_prefix":"2042d0318c6bf2e9","entry":"read_file","repo":"bkane2/habitual-response-generation","repo_kind":"official","path":"src/util.py","file_url":"https://github.com/bkane2/habitual-response-generation/blob/HEAD/src/util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2042d0318c6bf2e9"}},{"code_sha256_prefix":"7778224208234f53","entry":"subst_facts","repo":"bkane2/habitual-response-generation","repo_kind":"official","path":"src/generate_response.py","file_url":"https://github.com/bkane2/habitual-response-generation/blob/HEAD/src/generate_response.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7778224208234f53"}},{"code_sha256_prefix":"95dc5d2f9d2a3aa5","entry":"load_example_data","repo":"bkane2/habitual-response-generation","repo_kind":"official","path":"src/util.py","file_url":"https://github.com/bkane2/habitual-response-generation/blob/HEAD/src/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"95dc5d2f9d2a3aa5"}},{"code_sha256_prefix":"c4fcff2cff5a9ca5","entry":"load_personachat_data","repo":"bkane2/habitual-response-generation","repo_kind":"official","path":"src/util.py","file_url":"https://github.com/bkane2/habitual-response-generation/blob/HEAD/src/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c4fcff2cff5a9ca5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}