{"action":"created","issue":{"url":"https://api.github.com/repos/RTXteam/RTX/issues/52","repository_url":"https://api.github.com/repos/RTXteam/RTX","labels_url":"https://api.github.com/repos/RTXteam/RTX/issues/52/labels{/name}","comments_url":"https://api.github.com/repos/RTXteam/RTX/issues/52/comments","events_url":"https://api.github.com/repos/RTXteam/RTX/issues/52/events","html_url":"https://github.com/RTXteam/RTX/issues/52","id":310611849,"number":52,"title":"Implement standardized/modularized question types","user":{"login":"dkoslicki","id":6362936,"avatar_url":"https://avatars1.githubusercontent.com/u/6362936?v=4","gravatar_id":"","url":"https://api.github.com/users/dkoslicki","html_url":"https://github.com/dkoslicki","followers_url":"https://api.github.com/users/dkoslicki/followers","following_url":"https://api.github.com/users/dkoslicki/following{/other_user}","gists_url":"https://api.github.com/users/dkoslicki/gists{/gist_id}","starred_url":"https://api.github.com/users/dkoslicki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dkoslicki/subscriptions","organizations_url":"https://api.github.com/users/dkoslicki/orgs","repos_url":"https://api.github.com/users/dkoslicki/repos","events_url":"https://api.github.com/users/dkoslicki/events{/privacy}","received_events_url":"https://api.github.com/users/dkoslicki/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"dkoslicki","id":6362936,"avatar_url":"https://avatars1.githubusercontent.com/u/6362936?v=4","gravatar_id":"","url":"https://api.github.com/users/dkoslicki","html_url":"https://github.com/dkoslicki","followers_url":"https://api.github.com/users/dkoslicki/followers","following_url":"https://api.github.com/users/dkoslicki/following{/other_user}","gists_url":"https://api.github.com/users/dkoslicki/gists{/gist_id}","starred_url":"https://api.github.com/users/dkoslicki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dkoslicki/subscriptions","organizations_url":"https://api.github.com/users/dkoslicki/orgs","repos_url":"https://api.github.com/users/dkoslicki/repos","events_url":"https://api.github.com/users/dkoslicki/events{/privacy}","received_events_url":"https://api.github.com/users/dkoslicki/received_events","type":"User","site_admin":false},"assignees":[{"login":"dkoslicki","id":6362936,"avatar_url":"https://avatars1.githubusercontent.com/u/6362936?v=4","gravatar_id":"","url":"https://api.github.com/users/dkoslicki","html_url":"https://github.com/dkoslicki","followers_url":"https://api.github.com/users/dkoslicki/followers","following_url":"https://api.github.com/users/dkoslicki/following{/other_user}","gists_url":"https://api.github.com/users/dkoslicki/gists{/gist_id}","starred_url":"https://api.github.com/users/dkoslicki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dkoslicki/subscriptions","organizations_url":"https://api.github.com/users/dkoslicki/orgs","repos_url":"https://api.github.com/users/dkoslicki/repos","events_url":"https://api.github.com/users/dkoslicki/events{/privacy}","received_events_url":"https://api.github.com/users/dkoslicki/received_events","type":"User","site_admin":false},{"login":"edeutsch","id":12707718,"avatar_url":"https://avatars0.githubusercontent.com/u/12707718?v=4","gravatar_id":"","url":"https://api.github.com/users/edeutsch","html_url":"https://github.com/edeutsch","followers_url":"https://api.github.com/users/edeutsch/followers","following_url":"https://api.github.com/users/edeutsch/following{/other_user}","gists_url":"https://api.github.com/users/edeutsch/gists{/gist_id}","starred_url":"https://api.github.com/users/edeutsch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edeutsch/subscriptions","organizations_url":"https://api.github.com/users/edeutsch/orgs","repos_url":"https://api.github.com/users/edeutsch/repos","events_url":"https://api.github.com/users/edeutsch/events{/privacy}","received_events_url":"https://api.github.com/users/edeutsch/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2018-04-02T21:07:08Z","updated_at":"2018-04-03T02:09:34Z","closed_at":null,"author_association":"OWNER","body":"See #39 for discussion. The main idea is to make individual classes (or some other data structure) for the different question types. Should include methods such as:\r\n``restate_question`` (return human readable restatement of question, with arguments filled in slots) \r\n``give_example`` (return a couple examples of what questions this can answer)\r\n``extract_parameters`` (extract the actual arguments from an input question)\r\n``format_answer`` (format the response for parsing by RTXQuery)\r\n\r\nand include properties such as:\r\n``type_list`` specifying the required bioentity types (including relationships) and any conditions on them (such as requiring a certain disease class as input).\r\n``argument_list`` specifying the extracted parameters (conforming to ``type_list``) to be based to the question answering script.\r\n``question_corpus`` a set of example phrasings of the question for the NLP to work.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/RTXteam/RTX/issues/comments/378105089","html_url":"https://github.com/RTXteam/RTX/issues/52#issuecomment-378105089","issue_url":"https://api.github.com/repos/RTXteam/RTX/issues/52","id":378105089,"user":{"login":"dkoslicki","id":6362936,"avatar_url":"https://avatars1.githubusercontent.com/u/6362936?v=4","gravatar_id":"","url":"https://api.github.com/users/dkoslicki","html_url":"https://github.com/dkoslicki","followers_url":"https://api.github.com/users/dkoslicki/followers","following_url":"https://api.github.com/users/dkoslicki/following{/other_user}","gists_url":"https://api.github.com/users/dkoslicki/gists{/gist_id}","starred_url":"https://api.github.com/users/dkoslicki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dkoslicki/subscriptions","organizations_url":"https://api.github.com/users/dkoslicki/orgs","repos_url":"https://api.github.com/users/dkoslicki/repos","events_url":"https://api.github.com/users/dkoslicki/events{/privacy}","received_events_url":"https://api.github.com/users/dkoslicki/received_events","type":"User","site_admin":false},"created_at":"2018-04-03T02:09:34Z","updated_at":"2018-04-03T02:09:34Z","author_association":"OWNER","body":"@edeutsch Ok Eric, I've implemented a class that does what we talked about.\r\nSee [the Question class](https://github.com/RTXteam/RTX/blob/master/code/reasoningtool/QuestionAnswering/Question.py#L169-L280).\r\nI've also [included a script](https://github.com/RTXteam/RTX/blob/master/code/reasoningtool/QuestionAnswering/ParseQuestions.py) showing how you can interact with it.\r\n\r\nI've also added [a TSV file](https://github.com/RTXteam/RTX/blob/master/code/reasoningtool/QuestionAnswering/Questions.tsv) where we can put in all the question definitions.\r\n\r\nBefore I get too much further along, I wanted to check with you that this is on track for what we had in mind. The only complicating factor is that Q0 is parsed differently than the other question types. However, one benefit of adopting your \"one question type for each node/relationship type\" is that it actually makes the NLP parsing much easier (since I only need to look for actual node names, not relationship types or relationships).\r\n\r\nA couple things to note:\r\n1. The \"restated question\" column in [Questions.tsv](https://github.com/RTXteam/RTX/blob/master/code/reasoningtool/QuestionAnswering/Questions.tsv) use string templates such as \"Which genetic conditions might offer protection against $disont_disease?\" where the variable after $ must match a node type in the KG. The \"types\" column must also match a node type in the KG.\r\n2. I added a column \"Solution script\" where we can keep track of which script solves which question. Cool thing is that we can probably use this to automatically call the corresponding script we need to answer the question.\r\n\r\nThe main tasks now are:\r\n1. Make sure this is on track to be further developed\r\n2. Create a new class that handles the conversion into the format you want (with error messages, time stamps, etc.). I figure that you would want to do this since that's the main integration point with RTXQuery.py\r\n3. Make sure all questions are implemented into the TSV file\r\n4. Lots and lots of testing"}}
{"actor":{"display_login":"dkoslicki"}}