From d8519aad6e47c8ba004e335bdefcedaa8953fe2e Mon Sep 17 00:00:00 2001 From: Michael Skarlinski Date: Mon, 4 Nov 2024 16:36:24 -0800 Subject: [PATCH 1/7] convert citation to formatted_citation usage where necessary --- paperqa/agents/helpers.py | 2 +- paperqa/core.py | 2 +- paperqa/docs.py | 6 +++--- paperqa/types.py | 20 ++++++++++---------- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/paperqa/agents/helpers.py b/paperqa/agents/helpers.py index 591eb644..933a861b 100644 --- a/paperqa/agents/helpers.py +++ b/paperqa/agents/helpers.py @@ -93,7 +93,7 @@ def table_formatter( try: display_name = cast(Docs, obj).texts[0].doc.title # type: ignore[attr-defined] except AttributeError: - display_name = cast(Docs, obj).texts[0].doc.citation + display_name = cast(Docs, obj).texts[0].doc.formatted_citation table.add_row(display_name[:max_chars_per_column], filename) return table raise NotImplementedError( diff --git a/paperqa/core.py b/paperqa/core.py index 13babb76..5ceb0060 100644 --- a/paperqa/core.py +++ b/paperqa/core.py @@ -64,7 +64,7 @@ async def map_fxn_summary( # needed empties for failures/skips llm_result = LLMResult(model="", date="") extras: dict[str, Any] = {} - citation = text.name + ": " + text.doc.citation + citation = text.name + ": " + text.doc.formatted_citation success = False if prompt_runner: diff --git a/paperqa/docs.py b/paperqa/docs.py index f10f5c15..ea7fa607 100644 --- a/paperqa/docs.py +++ b/paperqa/docs.py @@ -609,7 +609,7 @@ async def aget_evidence( prompt_runner=prompt_runner, extra_prompt_data={ "summary_length": answer_config.evidence_summary_length, - "citation": f"{m.name}: {m.doc.citation}", + "citation": f"{m.name}: {m.doc.formatted_citation}", }, parser=llm_parse_json if prompt_config.use_json else None, callbacks=callbacks, @@ -715,7 +715,7 @@ async def aquery( # noqa: PLR0912 context_inner_prompt.format( name=c.text.name, text=c.context, - citation=c.text.doc.citation, + citation=c.text.doc.formatted_citation, **(c.model_extra or {}), ) for c in filtered_contexts @@ -756,7 +756,7 @@ async def aquery( # noqa: PLR0912 answer_text = answer_text.replace(prompt_config.EXAMPLE_CITATION, "") for c in filtered_contexts: name = c.text.name - citation = c.text.doc.citation + citation = c.text.doc.formatted_citation # do check for whole key (so we don't catch Callahan2019a with Callahan2019) if name_in_text(name, answer_text): bib[name] = citation diff --git a/paperqa/types.py b/paperqa/types.py index 8d0e799c..6d4dd1d3 100644 --- a/paperqa/types.py +++ b/paperqa/types.py @@ -129,6 +129,11 @@ class Doc(Embeddable): def __hash__(self) -> int: return hash((self.docname, self.dockey)) + @computed_field # type: ignore[prop-decorator] + @property + def formatted_citation(self) -> str: + return self.citation + class Text(Embeddable): text: str @@ -607,8 +612,9 @@ def __getitem__(self, item: str): except AttributeError: return self.other[item] + @computed_field # type: ignore[prop-decorator] @property - def formatted_citation(self) -> str: + def formatted_citation(self) -> str | None: # type: ignore[override] if self.is_retracted: base_message = "**RETRACTED ARTICLE**" @@ -620,15 +626,9 @@ def formatted_citation(self) -> str: ) return f"{base_message} {citation_message} {retract_info}" - if ( - self.citation is None # type: ignore[redundant-expr] - or self.citation_count is None - or self.source_quality is None - ): - raise ValueError( - "Citation, citationCount, and sourceQuality are not set -- do you need" - " to call `hydrate`?" - ) + if self.citation_count is None or self.source_quality is None: + logger.warning("citation_count and source_quality are not set.") + return self.citation if self.source_quality_message: return ( From a9a7347869b52e11fee14bb1997df623ba96eb25 Mon Sep 17 00:00:00 2001 From: Michael Skarlinski Date: Mon, 4 Nov 2024 16:58:31 -0800 Subject: [PATCH 2/7] force citation to be a str, defaulting to empty --- paperqa/types.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paperqa/types.py b/paperqa/types.py index 6d4dd1d3..bff02ae5 100644 --- a/paperqa/types.py +++ b/paperqa/types.py @@ -336,7 +336,7 @@ def reduce_content(self) -> str: class DocDetails(Doc): model_config = ConfigDict(validate_assignment=True) - citation: str + citation: str = "" key: str | None = None bibtex: str | None = Field( default=None, description="Autogenerated from other represented fields." @@ -614,7 +614,7 @@ def __getitem__(self, item: str): @computed_field # type: ignore[prop-decorator] @property - def formatted_citation(self) -> str | None: # type: ignore[override] + def formatted_citation(self) -> str: if self.is_retracted: base_message = "**RETRACTED ARTICLE**" From 05e3a5e6f9c1c63cdb2767c2ea1d2cf645d5c2e1 Mon Sep 17 00:00:00 2001 From: Michael Skarlinski Date: Tue, 5 Nov 2024 10:43:23 -0800 Subject: [PATCH 3/7] add test for formatted_citations with pre-print journal assignments --- paperqa/types.py | 31 + .../test_pdf_reader_match_doc_details.yaml | 5616 +++++++++-------- tests/test_paperqa.py | 31 +- 3 files changed, 2876 insertions(+), 2802 deletions(-) diff --git a/paperqa/types.py b/paperqa/types.py index bff02ae5..a7d2e2a4 100644 --- a/paperqa/types.py +++ b/paperqa/types.py @@ -332,6 +332,11 @@ def reduce_content(self) -> str: "journal": "Unknown journal", } +JOURNAL_EXPECTED_DOI_LENGTHS = { + "BioRxiv": 25, + "MedRxiv": 27, +} + class DocDetails(Doc): model_config = ConfigDict(validate_assignment=True) @@ -472,6 +477,31 @@ def inject_clean_doi_url_into_data(data: dict[str, Any]) -> dict[str, Any]: return data + @staticmethod + def add_preprint_journal_from_doi_if_missing( + data: dict[str, Any], + ) -> dict[str, Any]: + if not data.get("journal"): + if "10.48550/" in data.get("doi", "") or "ArXiv" in ( + data.get("other", {}) or {} + ).get("externalIds", ""): + data["journal"] = "ArXiv" + elif "10.26434/" in data.get("doi", ""): + data["journal"] = "ChemRxiv" + elif ( + "10.1101/" in data.get("doi", "") + and len(data.get("doi", "")) == JOURNAL_EXPECTED_DOI_LENGTHS["BioRxiv"] + ): + data["journal"] = "BioRxiv" + elif ( + "10.1101/" in data.get("doi", "") + and len(data.get("doi", "")) == JOURNAL_EXPECTED_DOI_LENGTHS["MedRxiv"] + ): + data["journal"] = "MedRxiv" + elif "10.31224/" in data.get("doi", ""): + data["journal"] = "EngRxiv" + return data + @classmethod def remove_invalid_authors(cls, data: dict[str, Any]) -> dict[str, Any]: """Capture and cull strange author names.""" @@ -602,6 +632,7 @@ def validate_all_fields(cls, data: dict[str, Any]) -> dict[str, Any]: data = cls.remove_invalid_authors(data) data = cls.misc_string_cleaning(data) data = cls.inject_clean_doi_url_into_data(data) + data = cls.add_preprint_journal_from_doi_if_missing(data) data = cls.populate_bibtex_key_citation(data) return cls.overwrite_docname_dockey_for_compatibility_w_doc(data) diff --git a/tests/cassettes/test_pdf_reader_match_doc_details.yaml b/tests/cassettes/test_pdf_reader_match_doc_details.yaml index 85c0a8b4..5e0434b4 100644 --- a/tests/cassettes/test_pdf_reader_match_doc_details.yaml +++ b/tests/cassettes/test_pdf_reader_match_doc_details.yaml @@ -37,25 +37,26 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/chat/completions response: body: string: !!binary | - H4sIAAAAAAAAA2xRTU/jMBC951eM5tyu0tBtobcK7Z5AqoTYlZagxjjTxOB4LHuyC6r631duQ1sE - Fx/el+fNbDMANDUuAHWrRHfejpc313fh57Jxbbtc/YmTX/f2ftncTLu367bHUXLw0zNpeXd909x5 - S2LYHWgdSAml1Mm8uJpNZpPZ9z3RcU022Rov4ymPi7yYjvPLcT4bjC0bTREX8JABAGz3bxrR1fSK - C8hH70hHMaqGcHEUAWBgmxBUMZooygmOTqRmJ+T2U1dV9RzZlW5bOoASxYilEhdQ4hJWFKInLeYv - ATv48eqtciq1i8AbuGVLurcqwCpQbXQi4DYViyWODnmql5ZDTIkPJf4ma9U/JUJAAsqW+DjoajZJ - 43prS7crXVVV5xMH2vRR2UEx4LvjCiw3PvBTHPgjvjHOxHYdSEV2qW4U9rhndxnA437V/YftoQ/c - eVkLv5BLgZcXhzg83fZEXlwNpLAoe8InRTH6Im5dkyhj49mtUCvdUn2y5tlZt8+ffhVx6Gdc8ykl - G5IwvkWhbr0xrqHggzlcf+PXal7nM5oWao7ZLvsPAAD//wMAel66YgYDAAA= + H4sIAAAAAAAAA3RSQW7bMBC86xULnu1CtpzU9s0o0iaHBGl7KNAokGhqJTOluAS5bhMY/ntAWZZd + 1L3oMDM72pnlLgEQuhJLEGojWbXOjFdf7/CBeIWfP62//Gxu1PeH2/BN395du8WbGMUJWr+g4uPU + B0WtM8ia7IFWHiVjdJ18zNJ5NrmaZx3RUoUmjjWOxzMaT9PpbJzOx+l1P7ghrTCIJTwlAAC77htX + tBW+iiWkoyPSYgiyQbEcRADCk4mIkCHowNKyGJ1IRZbRdluXZfkSyOZ2l1uAXLBmg7lYQi5W8Ig+ + OFSsfyOQhZtXZ6SVMV0AquGeDKqtkR4ePVZaRQLuY7CQi9HBT255Qz5Ex6dc/EBj5B/JjIAM0uTi + uddVpKPGbo3J7T63ZVmeb+yx3gZpekWP74cKDDXO0zr0/IDX2uqwKTzKQDbGDUxOdOw+AXjuqt7+ + 1Z5wnlrHBdMvtNHwcLCuteNtT2S26EkmluaET6bT0QW7okKW2oSzWwkl1Qar02ianGX796eXLA75 + tG3OXIYOpFLoGKvCDUe6JPMYH/L/ZENl3V4ivAXGtqi1bdA7rw9vqXbF5GpRzbPZRCmR7JN3AAAA + //8DAEbYCIJUAwAA headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b04c8d9a1f9d0-SJC + - 8ddeee121f90fa5a-SJC Connection: - keep-alive Content-Encoding: @@ -63,14 +64,14 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:06 GMT + - Tue, 05 Nov 2024 18:33:04 GMT Server: - cloudflare Set-Cookie: - - __cf_bm=SjJH0Q4gF04kM76kOAjClx1PMpWbX5QCSCPsuw97uf0-1729616166-1.0.1.1-6qlI.5HDblULfN37x7El6jLCpiCmdIiz5Y6oplWh_LE12pouiWNW3PUalEl7UyWl6nAM7Nw.Kp8Jw5mkD0C2bg; - path=/; expires=Tue, 22-Oct-24 17:26:06 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=K93NTn5ybQJdzZ.jQBov0rrcwG4tO5dQgBNMF3Fyfdg-1730831584-1.0.1.1-G_LH9IhL5e.Ho97ZeBQNAiq6BsgVymA_HOZrrLbzxHEL9VOaiKTqqPHW1YirKm8G5HCKZVW5YsytisU0tN2Rqg; + path=/; expires=Tue, 05-Nov-24 19:03:04 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=Gv0054k_k4x88fEU29eKTtzFmPx.HvEud5qyUm56Es4-1729616166195-0.0.1.1-604800000; + - _cfuvid=1bzFBDd2.ytITZcmHiAQ.9Nb7Ud8.oZM0tMRBQ1cZX8-1730831584034-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None Transfer-Encoding: - chunked @@ -83,7 +84,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "830" + - "700" openai-version: - "2020-10-01" strict-transport-security: @@ -95,13 +96,13 @@ interactions: x-ratelimit-remaining-requests: - "9999" x-ratelimit-remaining-tokens: - - "29999904" + - "29999903" x-ratelimit-reset-requests: - 6ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_ed87a30cebd2e717a1cd9806404cba33 + - req_88c72c56c7d4f3749b236b76b9516f94 status: code: 200 message: OK @@ -109,18 +110,18 @@ interactions: body: null headers: {} method: GET - uri: https://api.crossref.org/works?mailto=example@papercrow.ai&query.title=A+Perspective+on+Explanations+of+Molecular+Prediction+Models&rows=1&query.author=Wellawatte+et+al&select=DOI,author,container-title,title + uri: https://api.crossref.org/works?mailto=example@papercrow.ai&query.title=A+Perspective+on+Explanations+of+Molecular+Prediction+Models&rows=1&query.author=Wellawatte+et+al&select=DOI,author,container-title,is-referenced-by-count,title response: body: string: - '{"status":"ok","message-type":"work-list","message-version":"1.0.0","message":{"facets":{},"total-results":17498,"items":[{"DOI":"10.26434\/chemrxiv-2022-qfv02","author":[{"given":"Geemi + '{"status":"ok","message-type":"work-list","message-version":"1.0.0","message":{"facets":{},"total-results":17622,"items":[{"DOI":"10.26434\/chemrxiv-2022-qfv02","author":[{"given":"Geemi P.","family":"Wellawatte","sequence":"first","affiliation":[{"name":"University of Rochester"}]},{"given":"Heta A.","family":"Gandhi","sequence":"additional","affiliation":[{"name":"University of Rochester"}]},{"given":"Aditi","family":"Seshadri","sequence":"additional","affiliation":[{"name":"University of Rochester"}]},{"ORCID":"http:\/\/orcid.org\/0000-0002-6647-3965","authenticated-orcid":false,"given":"Andrew D.","family":"White","sequence":"additional","affiliation":[{"name":"University - of Rochester"}]}],"title":["A Perspective on Explanations of Molecular Prediction - Models"]}],"items-per-page":1,"query":{"start-index":0,"search-terms":null}}}' + of Rochester"}]}],"is-referenced-by-count":1,"title":["A Perspective on Explanations + of Molecular Prediction Models"]}],"items-per-page":1,"query":{"start-index":0,"search-terms":null}}}' headers: Access-Control-Allow-Headers: - X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language, @@ -131,14 +132,18 @@ interactions: - Link Connection: - close + Content-Encoding: + - gzip + Content-Length: + - "440" Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:06 GMT + - Tue, 05 Nov 2024 18:33:04 GMT Server: - Jetty(9.4.40.v20210413) - Transfer-Encoding: - - chunked + Vary: + - Accept-Encoding permissions-policy: - interest-cohort=() x-api-pool: @@ -1183,1701 +1188,1701 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/embeddings response: body: string: !!binary | - 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 headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b04d52dcf9809-SJC + - 8ddeee208fbf67bf-SJC Connection: - keep-alive Content-Encoding: @@ -2885,14 +2890,14 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:08 GMT + - Tue, 05 Nov 2024 18:33:06 GMT Server: - cloudflare Set-Cookie: - - __cf_bm=.Vl3fr5BWWimObNKWmSCDUB5b.CSVzCrO3k2PVRh2Zk-1729616168-1.0.1.1-PPRhWInhuDaVUt35qY059d9tmV9Xme9ZiGMRkZlo553Q_MSDhaEpfzY8oqXUuMSQ3Rc..M_ek969dnSEmLRDDw; - path=/; expires=Tue, 22-Oct-24 17:26:08 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=XBE6W6vJBpwHuq0VethCXA9dFEtW.asSbvx5AnhEzoM-1730831586-1.0.1.1-GMxlO0HlKNtIsv97y6PfUmM6azJE4_RbNelOmfWtuybrxMh50o8gCQGLkD5htrmcpTAlqhqezknKYESMfCTR3w; + path=/; expires=Tue, 05-Nov-24 19:03:06 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=OC1A4lEprEdB4lZ9hbcyqB8ZIVJ1QlsKAdAUPXXQKYo-1729616168049-0.0.1.1-604800000; + - _cfuvid=EUUdn8upQQjhVt9aLe9nyk5yjU5h0azvJh8w4ZofFWA-1730831586252-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None Transfer-Encoding: - chunked @@ -2909,7 +2914,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "129" + - "617" openai-version: - "2020-10-01" strict-transport-security: @@ -2927,7 +2932,7 @@ interactions: x-ratelimit-reset-tokens: - 121ms x-request-id: - - req_0678ab63419207f0bf75c32a41de78c5 + - req_4359bca39073e15048ad5da5f9a54df9 status: code: 200 message: OK @@ -2968,7 +2973,7 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/embeddings response: @@ -3087,7 +3092,7 @@ interactions: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b04dc9d449809-SJC + - 8ddeee266c3067bf-SJC Connection: - keep-alive Content-Encoding: @@ -3095,7 +3100,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:09 GMT + - Tue, 05 Nov 2024 18:33:06 GMT Server: - cloudflare Transfer-Encoding: @@ -3113,7 +3118,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "402" + - "97" openai-version: - "2020-10-01" strict-transport-security: @@ -3131,7 +3136,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_f32abc414482f8935d359fc565a54dee + - req_09a79547a7fca328684d203b9fa74ec4 status: code: 200 message: OK @@ -3169,126 +3174,126 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/embeddings response: body: string: !!binary | - H4sIAAAAAAAAA1RZyRKqPJve91Wc+rZ0lQxKwr9jEpmDoIi9YlAURWRIAvlvvgtPV3f1xipMFELe - PO8z/Ps//vz5pyuaWzn9868//7yf4/TPf67fVfmU//OvP//1H3/+/Pnz79/n/5t5a4tbVT0/9W/6 - b/D5qW7zP//6w//vN/836V9//iFSxZOT1RYJVfbWDfZHM0QXaTuBBXdzrBT97CO7971m8e0ugyIc - I6Kp3NOYeVdY4HjgW2JZ9wcYO94R5XuV5aQ4t1Iz5sksKx6Xmvj9Sq8NG0Zcwh03+cg/23ZBTKeO - lbd0TzF71BETloOXA6ySMpytl8TGnStDSOPNFwUULWBx86+l9PClI9t1ybAs2w0PG66tkfPQ6YB3 - cW0rprG1ibtvE0aVdn4qSn6okYFC5GGy42XFDdQKmQ9da8TJEzqYtk+D+O322TB3Y8ZKkOUzBuf2 - 0kzbW1wrRI9PGNy/ZBjX96O8quxLnMP22MzwcRAhaykmx004FJRc3j4wM0dHkQgcIB1UJ4Op/q6I - rQi7ZlazJoToOmYoJ9y7wZzPOiiw1kV3sTkZ4u6+y6F/j3ri0OHWSJd0KRVTmE8otKU+wc5HTmHd - dRzal1Dwvs8tNAHGlwn39UsrlsN8DZX7VkbkwNHBk7yZ6UqTWCMyOvmcSHuacsBdEIefXLJjy6d5 - isAusBhuSt0xpEZ9pHDf1QY5DjbwllGeOaV7BxmKDsvHG9On6iuo4AWUCK3mLW2hqUpGz3dkyD0a - +KaUMXSbq0Aivb4D0TpVrTQ/woBo/t4GQnTLeqXkbg+CWtkyaGBOLXSRKyNXM/2BpYlqKmdTf+ON - d0gatnwTE/72O5ItEwj7T/aEwdusSLx5a4Zw47oXRFecEXuXxImUS/VNSfVPhVD/6Yplb1wh/LRd - TY7yRmO0l2AI5363JXpb6Ak/iZIt01ZG5AxkPRH0tWZ2IazQpbrojNpubELLe1vIdQQleRPWvuD1 - HQ4YksNojF2cLlCnIUNulpeMpcVDhmnB8WQ/nRtvfiRpBw/ClxGXcO9hqZQ2BWJz2oWSDmAzf97c - CdaB55CQmloh7roihPfetNBFv54LkTufS3hsHjw5gWYcluAZiPAS8RqpuNhlFPLuAsUgEcLdJqqY - 8L4+bXiTLhc8V4LhSZLaxzAbzRd+WlbXMFMIc/hqqUbSZNkB+tESW9G8l4TKQzaxiR9rUfm2NCK5 - B51GyNwzr5CjVSF9Vh+AJtvtCV5m+iFJOB4YURINKi/LI8j4EjlhelFDqAvDCzmSeC3EzXK0YK/H - e4S8QzJIxVnIYSLLN+Sjj1Swd24t0DPVA4nDc2wI3vuWw6qjd3SOdyXoZ5qqyhHuPJRtvrYnaXWW - w/X9ocR11YbuszpX9L0sEI0bTW8u2LuHdaHEobyIOqPfffAE0DziUDGIMfBh7+lwXNwXsb/9K5nJ - +YihNj4qLPu32Zu7bDLhrdpsiKrXG8Ac//xS2Kk/ksNFnAHF5amDlnP7YoWihZFimXX44G4Us3eQ - eMv1dHvCuvEDkp83GhNzrsmV0PZqZD8U3VtAsB2V11a+EfN5DcD8ljYqhIQ9MSfYiLFvHUdKrX8A - Vq740Lz3+/dN2eb7I0HGhAyxtT6+cnuHMgluS+oJlZFZcD1fKHY7BKiVbDkoheIUbl+Z4jHe1Wz4 - 7BYcxsqNB3jXFT60digj6vZxB0yrs0zh+9IgmnEtwR2UHa+kXVeTIn9rhrQktQ6U4Mojtf52CS3d - RFWkqhNJNe0gw27+MBX6YAtyH2Bq2JRPCzx23REZeZc0IuQ/ORjTjqAzLB0mDktkw27qHJSqju+J - NchU6KvlE9lVfQeM9JkLxYNkkrtl7A1BL8+tEqdxg/wBzgZ747pVlJb5xL7vX2Ay3dMWpsLJJ7HY - SsOUcs5L6fVoT+wrqwY8iXoNx+vGIPZRH9m8aWqoBAXZI+Opb73Fb4UYbuOnQbxRejLW7yQM89Mm - J2qXugPfFkoH7Sx7EnXFP+pDA8MVP0NxBs9ksQ5+Civh5iHN0mnDHnGv/84z/oy37zCq3YGD+ecg - Ee9o0gLPseYqfeB8SIzci0fnWKEycDaUuMVbahaa0pdic2yHXGNSjWnKHRueAh2QwCv3QDJ2Aq9s - DxyPzNLYem0p+M9djQ+E6BYIhnmzO+kw2VKNaJXQeEt23UM4eraMTu9XBxYtd83feUMrfgAeDDWn - JDrmwt0e3QymyosMSyvRiB1fr57YHF6x8njvr+hqPfYJrj4sVmY9M9f1RoPw4s0ekqNZoWJ3PjP+ - RmgJWQc8YsNbUPBG/zWhj01GzvVXKoi9bE1FvbtlyFvmyRgD8/2C792b4R7Ix0RCapdBulNH4meJ - kUjUUDrY7vQQ3TWzGCjVFlc5qLcEc9JsJF876nIopt8A2cHZbUh32ZYK3Lky2X+7ms1WeIgBCRyR - aO5R9qZTpJ8UFlxTUrQPHyzVh0XK/u4Of/GbSgf1pQwhviNLdXxD7D5nH5qW+kbXkGIwRe1SKkVa - x0jl47SQ8sbqYVFsDHI2IgwmPQErHxJbgmjAFV0x3VN4ZvOJ3AN6KIRmeIow6JuQqLZGwTJsvhl8 - xBCiQNxayRL4MVVQmpnovDuGbJljzd6O+9HBW2vDD/NE+BDalZQgI4qV//m9sudb4pro0IznXOrB - VnhbJD3urGR+hp/wt59YvmyFZAw3nAnHjvlEfdymBAcG5ZREfT1QUjvmIGbRaMPjVbTxcg5IQj9D - rSrvfu7X+UHClk1ow8ipDn/7J9NE7wbjD3JQuPE+gHJP3YTaLnCI8Q6YwdTp0UErtc/4ewRfNmXx - pgeG5Jd4qcoM0JPDq4pXkQWZ22xm9K10I7xzFxWZ6eabzNKZjr/+FMKofRjsNjNOsRj9kBTWDzAH - yrMFWUcjchP6iyF8vUKUMxxoKIgCETxxt4ug/FoiYotKmTBeIBGEfTqTw+e+YfjOoxu8eKQhh0ml - YBG/WQS4RaPE5Yk4jOod25BftJi4epExNsUehKHaxsibwbFg149owgwjDTk4MhpJ7xYfPq/ce2VB - HaCBdIrhQRhYKFbC4uHWIqGM6gMlqN8/DGq+515pzLghXpPObHlN2qhYWbwgxxnrZB52iaWs6wnx - 1zeN5cj5GewXnSeepjjNwlS7BBGXJsS5cw82qzq14fuAP6G0ro++Mi8CJTyZJDdnzD7lMYDQcF4u - yVd84bH1eP3Wh6rez4flWd1TmFe5F3azaQMqh1P64z8hd3c8QE4yECHo2A6DSi0NwXp+LWj1V0S0 - 74zZbPJfCp9tdyRW7XXe/FCGGsJQhMTDNE2I4nY2fHmxjw5mYBoLFfblzkaai+741A9M6G4qdOSt - StLxwBi7yxWFMmuv5K4Ux6Sd8x7CgX5GFFSFAybnMapg7T8YLnxY0A34PKELZ584/qEoZrff83CU - wTfcHKvvsP7fAouuI8h6qIFHto5vwi+9Q6KPzWYYNRLVMBJ2T6Q9d8eG7jcXCx4L7k0OXNgwliyx - CgFVeXRf+Qxd8U7RPuZIvBPyEp4NGgTCTgfE4E87xlrJzSCA+I72sPyC0d0eU2XDXh1+p+YF0PX9 - K2pTXAh6WJeh7xw7hfN1ExP7RJCxmG0aw44sbbi7cxoQBGW8QZj5J+J5zaZgQpfqsJEuLbIOIvZG - d3tNZaXbfZH77hD4rP0crPWIvLiADculroTW+BgxVT9jIW69SwviSpiJW12tRJTkYgvUlAwYBBds - zHZU54pjO0dk762HN18/x1IRVKEIuWEvDd3JgSrE7OaFyzZvE5YJKAXe2ADk3b9ooA16lJCT7IAc - BS9JiGVSEcrCKCJnVt7g9/xgD6mCVn7CiKHfMVzvh0dyGL0lfY68LKkbDz98OWBUeAwmTAvIk2rz - lQw23isfpvfERtbjeUpwZuQy+CiGFPKfqizGgfkLjHfnllw278igGxZgeDWjPbrcMPKwfY+ecCJU - IFqqvBmp7yxWbo1ZEXflb0tLeVNZ9Roplmrb0C/JM7BLm5EY6heB+ac/VrwNRdUZjfEWBhkcMVJC - pgj9MHsHrVYkSQ+R30yH5sfvoOxlW3I4B7fkBYYO7n54H+FRTf7yt/V5kYXpp5iN3TEEB3mJkDGV - ZUMj1NXQD+yAnNvqDWilaCPUbS0OxcsdenP+fKrwVikbZJ69nOEsGl3gSqcCaXV085ah4k5gXQ9W - kNN5H4FuRKBV5BTK6nOfSFsWcZDTjxqyAdwDsd1VMkyP1xaVn/zL5vG2fYGHdYyw4N+eHj4TzgKo - 7zhkwv3JIH3i6LJzEhUSFlwEhNspGcF6PpBJPiqbR/e2wP0xcfCgFc9ifny2pfzyIp/E6asYGAu3 - LzC90QfPfZsA5oj9TbmHryO65qPcsNm/3ICi1zEJ8XJloqqEGRSp/kYqo5jNUbvc4PQACXLRd2D0 - +vBcOJcHQkLZ55Kxl3gfandpJvsdS71lK7xKZejDE1E3Yz4w+9qKMA9bnVRRkDJeKkEP8+1WRcU1 - uQL80SSqyLgCyAt2QkIUMYygSdOGmNKpMWjYeyr0aXBEyAlVj99vLqbc0ndFtDriPNbcRB9SVfBR - mMp6MaJyR6Fb8C3K+/GWrHhyU/LH11rrcQ+k5iaGv/NNDgN8evPn8CiVQ+5x4WLQeJjjp6eDpahd - YrYW9RbzGqjAe/RXFPr6vhDqLLR2lecGxHpNKBG/ZKPDKDtGRJ3ynTc1Qy/CVU8gV8pcg+6zLgPW - o3dD6SLO7HvKXjYoSZch/5AFbOF80AFwtwJkl9x2eHWw6ZUqiPu/49Jm/OTw68UFMWTbThZ5l4pw - K5EGrfqfCeEWuOBM6iuxBy0aGHi73V889TAVk2loal1pZlkg6nX2DPbrFwrWLeIvPE4mhqYQbHIU - EdQEDWPSTXJhR2hL9OWCPYKDsoa3edsSe3OoGRO3dg5vhNrhRvA/jN5TEsLGjBqkHbmyWM7Hh68I - 4xkR86E/GhaB7RbOQdIiR7BVwKzhUyuNdG6RMTscWPh248LLJ8hC4Ksam3m94KCRHEViyD1p8Exv - OtwlKMPJoD2GZasrC/jVT+7fjsbiH11f/vlrZe6nbJZ7jEFxFVtkak8fjNb3pUNZwCI6fBM8zPv9 - u4Rcgj4h3T7ubHaurg9sJl/Cnx+1aMcugsojLYj5fnWMkWXHydf+WxInYweDP9YvF97D9ojC6DU2 - bDN+MuV5fPAkiMU+YQd7CGH53rvEA6VuSEBWVn0TcGTVHx4e5RnClnQiUtWPX0hbx7SULuJumKcD - GsStMJZQcCIfpXyqJLPYaBBeK4WiwCBNM9OracKfn3DcprigyrWLf/iNTpVkNaJiHnkFvKs32X/4 - xevE3tzCR/V00eVzv4Pu7lQQHu5xgSx1SAoxn3MbLj7WiP46pcZyyBAHr/P2Qo7Rh3qC+uZLIC6e - /rf/fOWNWv/4HbK9RwEWo4IlFKU3I5VmUePXr+BiFVP4wyPhxzc/QvlFp3YdR2qXK5vMYiQU+tVN - Q28fFoEth9z1rBTMwWqvrM8XPlY/lLaW+4L1VRSQc+58gzh+9YK1/gbho8v1gT/v/Rf84Vnc9wMb - f/xC81oJ7fXiy1gJchG87g+LBKP6TSauizJlR3YGlsHeL9izMEQoZOZ53Y+xoNxpy4PNnktRGFzn - hux8roR1zwosAcNmfN8/oeL2HSF6b7+axWDkCbQXh5AaRXIyLmTO4fswflAFIA9mxTtROO3cAHkb - x0wWzme9Ik7bw4qXooF5EHHK48H2SNNqpxAuu9yF7nV00Gnl61SQbjY8SmVOEv50Zaz9zi7YZCYj - xlTCYa3fEOq2ERPrjcRmvh/cEp4g65Gvi1bDK+3uCXN6RyhIBlIs7AyeYC+dfJJP0jXhf/h6XM5K - yDpZSJarx2PFinmNxBaYhvHEqzJ85dYZi65vegLbyRYwnocNcsLw04wrnoOPPsnk4HYcG3Eii0Da - uQPSnhc3mcWtosplzE3EyUd5mO+72YZcf3uQcCvEhnjbijJcx0MOLztGrrGhw5Wv4+8naxMW+/wL - BFk2o1x97otZ3qhP5XMQL0Sbb0djzvgnhl/L47A8Sde/+6n8+K4qWy9AvnUeQZtsKPJfCBmLvLvx - UG8eBxRZiu6t/a0EJ2f8kLLx1ETE3RyBXB3rn143lm9ucPBabeiqb+5g5gW3h476MtB+ePCJqOWu - Bc9juEeavNEA+/lX4OgPyFr9DCpcnRiaMT5isHFeBSW7KFZ+eoCDT76gGnxQyKdNhbRb3xlzJ2cu - UOu9gexTsBL2UuPB+dFJmHCRWBDNE1vods8Yv8r3PfleCYjBtbFCpA6Pd7Fk14D764+iTAoNERe1 - qqz9i1yb4eWxCFAZTlWXIa24B95Y1papLMXTJVXdvgDNcJn98Boz0tiAbUaSQ1TvKQr0CibYO+96 - eb0/Cno/b5b+OS1g9f+x2HzVQai8WYbn08YLl8374U1FJb9g6XzO4W7Yd80SF6oJToeXi/LVXx// - 8q+u18lhC8th4ST7Kf/qrxrVb0HE/RXDRzhqSPXu34TZV8zD7/1xxqws9USkKW3heL/ySG+LZ7Kk - 5+L1O3/kcg64ZFTjciuDg5TgRSrgwD4yXMDwYA0xuiw0xMumLpUKBxHST0NnrPgfQwo8B6HjJgKt - uDFO0IBD8JcPEfd7DIHMXlfkrn4un4TNDabmJBPzlAoAr/wHsnyvY3A0aTLE360Pr7N8wbNWf5PR - Z18ZvrbbG3LLw8agD6kK4ZrvYH7lG/NOkjgoJYcOf81JBGSHv09ocKxHh3JfNMPpbVPYnvfdr794 - NLacDg6mcySn53Vi35+fsetvMVn1dDIfBleGb3zgws89Ele9WNvK2m+RQz6EzbdTgv/iI6pfNOmc - osIwtDSDaK+pTqa2nyg4HVoXGbXzGkYroVCphNIj9zXfoHMsUNBNvUNcJxG9ZS/aHfzLZ5ZCMHAj - xxCeuifFkrQN2I+PQhpijDT69b3Zd4EsRwJ4ksP8zIypXx08/YQ5rCQDKvgGoBew2PLB1DzhZpbO - Wwx+flF6OFlAVPmxhSYX7om1Xjc4KJ9w9d/++gvUG1RL8dgiYnDQMmPZ3ef85y8S8zYOA3sdR05e - 9X64eVhSs0jzYinv9EmxsIAMUOs76nC9DrcYL2D1p1W4GS8TlolTN2SZoQwi7pSQVR+yNS8p5X5R - eWIdTa2Qjma+gK86Bcj8Hj1DktJzCp/3axruwvAwSC/HcOGryr/Iux+6ZLbbpAS/+4+PNT/86bNL - zN1CZd9dErYktar8+Lij7OaGnaa+BSqkmIRTMTXzmgfBjXc9kP11lo1ZpEkIwPv+DqXk5DZ0qK7j - Xz4XiyZNxpMDdbnMrjdkbLXS+OEv2MS9Hsrpw/Fw9QExCJvhvOZfnicc2AtD1D0faPWvCv4qir7S - FMKMDPVL2PQ5fEvQ6e4ZGWyJCzpUxxFOsHyQS9HwKx4srVxmxS0UZv1djFoujvBqxvtQSNuNR+MC - YiA4sR8uuzke+IXMGVjzMBLZGmXTD+/XPAEdghp6LLjLKVz9U3LUpfOAK3q2oN3XG6LOB5CQLVio - ElkuIzqEU0NKEPPKZg/TtV5T42+e85HeFvK7WzawgEM+5KflEsqr3sGf9Nru6HhWV785KtjprVI4 - LzZDdiAd2ZJuLzJ8ZNcJy9GUN/Tx6F15w9puzU+jYXj7Qg1ZUKTksOrl2XhJOTzigx5KznEZWHYv - I7hViYzph28Mxs2pCC9vCxDLa6JC4qeghKueC+nKF6fMPYswTqMmFFc/Z2kptMDqx4UyOpgN9ZxK - l8WO9X/zk/l1u7aAqdPw4/eAKInDwbrrOTz4T8eQfnhwv9cSMvbexVhswWiVjmtJKDVLNeBbkC1w - 1Z/IHLkpmc9evoUqXDDZn9f8WKaKDs7eh4Vba3MaaBVDEX5HpOFJocYgcHTxgeG0LvK0Qk8E4yVl - sGQgCZs17+LPudQp2T3fEjRw/DAkS6wrPz61d5LPmj9NnXx6+yWq1FcH5ueWN+FAvvs13xyb0T9y - InSPSUYCAHm2mNEQAvqYFxSkjd/8zTfcev8g/w0AAP//Sg6y9Esy1nfyCjRPzChyDwD1p6vKjUKD - DCxB4Rng4hoe7GJkXFHpag4eL3QNyHE1NzYOTwm3TDIMTQrw0M8p96kq8o/KtojQTg4uC/dxKoCO - l5hWumSUQdp34PJPCbwqoJZLQSEWvMIgNz8lNQe0MKAktaJEF75UQNdYtzg3MScHsgyhtDgxPVXJ - CroCQamgKD+3oCS+JD87Na9YyUrB0BCy1kCpJL8kMQdZnAtkVS0XAAAA//8DAODA7KPgIAAA + H4sIAAAAAAAAA1R6WROyurrm/f4Vq9YtfUoGJWHdMckMQVDErq4uBgVRRIYEyKnz37vw23W6+8Yq + IRpCkud9hvznv/766+8ub+7F9Pc/f/39fo7T3/9ju1ZmU/b3P3/9z3/99ddff/3n7/P/a3lv83tZ + Pj/Vr/nv5vNT3pe///mL/e8r/7fRP3/9TYSSJWejzeNZOhp32J/0AF2F/QRW3C2RlPeLh6zec5vV + s7oU8nAMiSIzT21hHW6Fo8m2xDAeNRg71ubFR5lmJL+0QjNm8SJKLpPo+P1Kbg0dRlzAAzN5yLtY + Vk50u4qkt/BIMK2rkHKr6WYAy6QIFuMl0PHgiBDO0e6L/BmtYHWyryH18KUiy3HIsK77HQsbpq2Q + XavzgA9RZUm6treIc2xjOkvt8pSkzKyQhgLkYnJgRcnx5RLptao0/ORyHUzap0a8dv9sqLPTI8lP + swWDS3ttpv09qiSiRmcMHl8yjNv7kV5l+iW2uT81C6xNHtJ2xuS0C4Z8Jte3B/TUVlHIAxsIpmyn + MFHfJbEk7tAsctoEEN3GFGWEeTeY8WgHOdo66ME3Z40/PA4Z9B5hT+x5uDfCNVkLSeeWMwosoY+x + /RETWHUdg44F5Nzvcw91gPF1wn31UvLVXG6B9NiLiJjMPLiCu1BVamJjRFonXmLhOCcMcFbE4CcT + H+j6aZ48sHLMB7tCtTWhkesEHrtKI6fBAu46igsjdW8/RaG5ftwxecqehHKWQzHXKu7a5oospfPl + gTSxRwPbFCKGTnPjSKhWD8Ab57IVljrwieIdLcCF97SXCuZeE9SKhjb7+tRCBzkichTdG2gSy7p0 + 0dU33rlm3ND1G+vwN9+haOiAO37SJ/Tfekmi3VvRuDvTvSC64ZRYhziKhUyo7lKifkqE+k+Xr0ft + BuGn7SpyEncKnXsBBnDpD3uitrkasxMvWOLciohcgKjGnLqtmUMAS3QtryqdLSfSoeG+DeTYnBS/ + CW1f8PYOBgyJOWpjFyUrVOeAIifNCkqTvBZhkjMsOU6Xxl3qOOmgyX0pcQjzHtZSahPAN+dDIKgA + NsvnzZxh5bs2CWZdyflDlwfw0esGuqq3S84zl0sBT03NkjNoxmH1nz4PryGrkJKJHDpD1lkh78dc + cNiFJeXet6cF78L1ipeS01xBkPsIpqP+wk/D6Bqqc0EGX+2skCReD2D+KLElKe5LQIWZTnRix4qX + vu0cksyFdsOlzoWVyMkokbrINZjj/f4Mr8v8IXEwmpRIsQKll+ESpH2JGFM1ryBUueGFbIG/5fxu + PRmwV6MjQq4ZD0J+4TIYi+Ideegj5PSdGSt0ddkkUXCJNM593zNYdvMDXaJDAfplTmTpBA8uSndf + yxWUKs3g9v5Q7DhyMx/TKpPUo8gRhRl1d8npu4dVLkWBuPIqnb9H/wmgfsKBpBFtYIPeVeG4Oi9i + fftXvJDLCUNlrEssevfFXbp00uG93O2IrFY7QG3v8pLouT8R88ovYMbFuYOGff9iaUYrJfm6qLBm + 7jOmbz9219v5/oRV4/kku+wUymdMk0mB5VbIqiXVXYG/H6XXXrwT/XnzwfIWdjKEhD4xw1mI0m8V + hVKlfgCWbths3sfj+y7ts+OJIG1CGt8aH0+6vwOR+Pc1cblSSw247S8UOR0CsxHvGSgE/BTsX6nk + UtZRLPjsVhxE0p0F+NDlHjQOKCXyvn4AqlRpKrF9oRFFuxXgAYqOlZKuq0ievRVNWONKBZJ/Y5Fc + fbt4LpxYloSy40k5HSDFTlbr0lzTFTk1mBo6ZdMKT113QlrWxQ0P2U8GxqQj6AILm/LDGlqwmzob + JbLtuXwFUhl6cvFEVlk9ACV96kDeFHTyMLSjxqnFpZWiJGqQN8BFo29ctZLUUo9Yj+MLTLpz3sOE + O3sk4lthmBLGfkm9Gh6JdaPlgCdereB422nEOqkjXXZNBSU/J0ekPdW9u3otF8F99NSIOwpPSvuD + gGF23mVE7hJnYNtc6qCVpk8ib/g3e1DDcMPPgF/AM14N00tgyd1dpBjq3NA66tXffsaf8f4dRrkz + GZh9TIG4J33O8RIpjtT79odEyLm68xJJswjs3Uyc/C0065zML8li6AE52iRr05TZFjz7KiC+WxyB + oB04VtqbDIv0Qtu7bcF5z0OFTUJUA/jDsjucVRjvZ4UoJde4a3o7Qji6lojO71cHViVz9N9+Qxt+ + ABYMFSPFKmaCwxHdNSqLqwgLI1aIFd1uLt+Yr0iq38cbuhn1Mcblh0bSoqb6Nt5w4F6s3kNy0kuU + Hy4Xyt7JXEDaAZdY8O7nrNZ/dehhnZJL9RVyYq17XZIfThGwhn7WRl9/v+D78Ka4B+IpFpDcpXA+ + yCPx0liLhVmTOtge1AA9FD0f5llZHcmU7zFmhEWLv1bYZZBPvj6y/IvTkO66LyR4cERy/HYVXYzA + jADxbZ4ozkl0p3OoniXq3xKSt7UH1vJDQ+n4cIY/+D0LpvyShgA/kCHbnsZ3n4sHdUN+o1swYzCF + 7VpIeVJFSGajJBeyxuhhnu80ctFCDCY1Bhsf4luCZp/Ju3x6JPBClzN5+LOZc83w5KHfNwGRLWUG + 67D7prCOIEQ+vzfi1feiWUJJqqPL4RTQdYkUaz8eRxvvjR07LBNhA2iVQoy0MJL+/XvpyLbE0ZHZ + jJdM6MGeexskOR2MeHkGn+A3n1i87rl4DHaMDseOekSu71OMfW1mpFh+1SiubH3g03C04OnGW3i9 + +CSeP0MlS+9+6bf2fkzXXWDB0C7NP/WTKrx7h9EH2SjYuR8wM09Vh8rBt4n29qlG5anuoJFYF/w9 + gS+d0mjXA03wCryWRQrms83KkluSFen7dKHzW+pG+GCuMtKT3TdehMs8/upTAMO21uh9oYxk0PlD + EljVYPGlZwvSbg7JneuvGvd1c15Msa8gP/R58MTdIYTiaw2JxUtFTFmOhBD2yULMz2NH8YNFd3h1 + SUPMSZ7Byn/TEDCrMhOHJfwwyg9sQXZVIuKoeUrpFLkQBnIbIXcBp5zePrwOU4wUZONQawS1Wz34 + vDHvjQV1YPaFcwRNbqABX3Kri1uDBCKqzJmg/lhrs/5eeqnRo4a4TbLQ9TUpo2Sk0Ypse6ziZTjE + hrSNJ8BfT9fWE+OlsF9VlriKZDcrla0ChEwSE/vB1HSR1dmCbxN/AmEb3/xK3RAU8KyTTF8w/RQn + H0LNfjkk2/CFxUb9+o0Plb2XDeuzfCQwKzM36BbdArMYTMmP/wTMw3YBOYuAh6CjBwxKudA44/k1 + oNHfEFG+C6aLzn5n+Gy7EzEqt3OXWhoqCAMeEhfPSUwkp7Pgy408ZOq+rq0zdywOFlIc9MDnfqBc + d5ehLe5lkowmpfQhljMUaXsjDyk/xe2S9RAO82dEfpnbYLLrUQZb/cFwZYN83oHPEzpw8YjtmXm+ + OP2RhaMIvsHuVH6H7f9WmHcdQUYt+y7Z254Ov/MDEnVsdsOokLCCIXd4IuV5ODXzcXc14Cln3sRk + gobSeI1kCGaZRY+Nz8wb3knKRx+Je0ZuzNJBgYA7qIBo7PlAaSs4KQQQP9ARFl8wOvtTIu3oq8Pv + RL+CeXv/ktzkV4Jq4zr0nW0lcLntImKdCdJWvU0i2JG1DQ4PRgEcJ413CFPvTFy32eWU6xIVNsK1 + RYbJY3d09rdElLrDFznvDoHPVs/Bth6RG+WwoZnQFdAY6xHP8mfM+b17bUFUcgtxypsR84KY74Gc + kAED/4q1xQqrTLIt+4Sso1G7y+1zKiRO5vKAGY7C0J1tKENM726w7rM2pimHEuCODUDu44uGuUF1 + ARnB8smJc+OYGPrMQ5EbeWQv0hv8nh8c4SyhjZ9QoqkPDLf+8EjM0V2T58iKgrxzce2JPp25etBh + kkOWlLuvoNHxUXowecQWMurnOcaplongI2lCwH7KIh8H6q0wOlxact29Q23eUR/Dmx4e0fWOkYut + R/iEE5k5oiTSm5LqQSPp3uglcTb+trYzq0ubXiP5Wu6b+UuyFBySZiSa/EVg+emPDW8DXrZHbbwH + fgpHjKSASlw/LK6pVJIgqAHymslsfvwOim66J+bFv8cvMHTw8MP7EI9y/Ie/bc+LDDx/8kU7nAJg + imuItKkomjlEXQU93/LJpS3fYC4lZYSqpUQBf31Ad8meTxneS2mH9IubUZyGowMc4ZwjpQrv7jqU + zBls48ESsjv3w807HiglOQei/DzGwp6GDGTUk4IsAI+Abw+lCJPTrUXFJ/vSZbzvX6A2TiHmvPvT + xRfCGAD1HYN0eDxrpI9tVbTPvESCnAkBdz/HI9j2B9LJR6bL6NxXeDzFNh6U/Jkv9WdfiC839EiU + vPKB0mD/AtMbffDStzGgNt/fpUfwOqFbNooNXbzrHUhqFZEArzfKy1KQQn5W30imM6ZL2K53ONUg + Rg76DnS+1a4Dl8IkJBA9Jh57gfWg8hAWcjzQxF333KuQhj44E3k3ZgO1bi0Ps6BVSRn6CWWFAvQw + 2+9llN/iG8AfRZglEZcAuf6Bi4nEByHU56QhunButDnoXRl6s39CyA5klz3urrrYzu+SKFXIuLS5 + 8x6cZc5DQSKq+YiKwwydnG1R1o/3eMOTu5TVX2Nbj0cgNHc++O1vYg7w6S4fsy4kM3OZYNXmaFii + p6uCNa8corfG7K76zZeBW/c3FHjqMeeqNDAOpev4xHhNKOa/ZKfCMD2FRJ6ygzs1Q8/DTU8gR0gd + bT6mXQqMuncC4cov9HtOXxYoSJciz0x9ujIe6AB4GD6yCmY/vDrY9FLpR/2f+8Ju/GTw60Y50UTL + ilfxkPBwL5AGbfqfcsEeOOBCqhuxBiUcKHg73R88dfHMx9PQVKrULCJH5NviavRXLySsGsRbWRxP + FE0B2GUoJKjxG0qFu+DAjswtUdcrdgn2iwrel31LrJ1ZUcrvrQzeyWwFO8770PmRkAA2etgg5cQU + +Xo51Z7EjRdE9FqtGxqC/R4uftwim7NkQI3hU0mNcGmRttgMWNl258Drx08D4MkKXVg1Z6AWn3ii + iT1p8DLfVXiIUYrjQamHda9KK/itn8y7n7TVOzme+PPXisxL6CL2GIP8xrdIV54eGI3vS4Uih3lk + fmM8LMfju4BMjD7BvK8fdLFvjgcsKl6Dnx+1KqcuhFKd5ER/vzpKyXpgxFv/LYidUlNjT9XLgY+g + PaEgfI0N3Y2fVHqeapb4Ed/H1LSGABbvo0NcUKiaAERp0zc+Qzb94eJRXCBsSccjWf54ubC3dUPq + QuaO2XlAA7/nxgJyduihhE2keOEbBcJbKc3I10jTLPNN1+HPTzjtE5zP0q2LfviNzqVgNLykn1gJ + vMs3OX7Y1e34Xt/Dunw66Pp5PED3sEsIzUeUI0Me4pzPlsyCq4cVor7OibaaKWLgbdlfySn8zC4n + v9kC8Kur/qk/X3EnVz9+hyy3zsGqlbCAvPCmpFSMWfvVK7ga+RT88Ij78c0PV3zRud3uI7nLpF1q + UBJw/eamobcHc98SA+Z2kXJqY7mXtucL6s0PnVvDecHqxnPIvnSeRmyvfMFKfYOg7jJ1YC9H7wV/ + eBb1/UDHH79Q3FZARzX/UlqAjAevR20Qf5S/8cR0YSodyEHDIjh6OX3mGg+5VL9s8zHmM3Pes2B3 + ZBIU+LelIQePKWDV0xwLQLMo2/dPKDl9R4jaW69m1Sh5AuXFICSHoRiPK1ky+DbHDyoBZMEiuecZ + TgfHR+7O1uOV8Wgv8dPe3PCS1zALQkaqa3pEilLZOXc9ZA50bqONzhtfnznhbsGTUGQkZs83Stvv + 4oBdqlOiTQUctvUbQNXSImK8Ed8sD9Mp4BnSHnkqbzSs1B6eMJsfCPnxQPKVXsATHIWzR7JJuMXs + D19P60UKaCdy8XpzWSwZEauQyADTMJ5ZWYSvzLhg3vF0l6MH0QDa09whOwg+zbjhOfiok0hMp2Po + iGORB8LBGZDyvDrxwu8lWSwiZiJ2NorD8jgsFmT6e02CPRdp/H3Pi3C7HzB4PVByizQVbnwdfz9p + G9PIY1/AT9MFZfLzmC/iTn5KH5O/EmW5n7QlZZ8Yfg2XweIk3P7Mp/Tju7JovAD5VlkILbKbkfdC + SFvFw52FalObKDQk1d3qWwHO9vghRePKMY+7JQSZPFY/va6t30xj4K3czZu+eYCF5Zwe2vJLQ8eh + ZmNeyRwDXsbgiBRxpwD686/AyRuQsfkZM3ezI6hH+ITBzn7lMzmEkfTTAwx8svmswHqGbNKUSLn3 + nbZ0YuoAuTpqyDr7G2EvFBZc6k7AhAn5nCgu30Kne0b4Vbwf8fdGQARujREgeajf+ZrefOaPP4pS + IdB4nFeytNUvcmuGl0tDMItwKrsUKfnDd8eiMnRpzZ8OKav2BeYUF+kPrzEljQXobiQZRNVxRr5a + whi7l0Mvbv0jv/eyZu2f0wo2/x/zzVceuNJdRHg579xg3b1rd8pL8QUL+3MJDsOxa9Yol3VwNl8O + yjZ/ffzDv7peJeYeFsPKCNZT/K2/cpS/OeGPNwzrYFSQ7D6+MbVumIXfR33BtCjUmJ+TuYXj48Yi + tc2f8Zpc8tdv/5HrxWfiUY6KvQhMIcarkMOBfkS4gqGmDdG6NND4664qpBL7IVLPQ6dt+B/BGbg2 + QqddCFp+p52hBgf/Dx8izvcUAJG+bsjZ/Fw2Dpo7TPRJJPo54QDe+A+k2VHF4KTP8RB99x68LeIV + L0r1jUePfkX42u/vyCnMnTbXQhnALd/B7MY3loMgMFCIzQ5/9YkH5IC/T6gxtEdmccyb4fy2Zthe + jt2vvrhzZNgdHHT7RM7P20S/Pz/j0N8jsunpeDEHR4RvbDLB5xHym16sLGmrt8gmH0KX+znGf/AR + Va857uy8xDAwFI0or6mKp7afZnA2Wwdplf0aRiOeoVRyhUseW74xLxE3g27qbeLYMe+uR97q4B8+ + s+achhsxgvDcPWcsCHuf/vgonAOMkTJ/PXfxHCCKIQeexFyeqTb1m4OnnjGDpXhAOdsA9AIGXT94 + 1s+4WYTLHoOfX5SYZwPwMju2UGeCIzG27w32iyfc/Lc//sLsDrIhuXTlMTCVVFsPjyX7+YtEv4/D + QF+nkRE3vR/sakNoVmFZDemdPGfMrSAFs/EdVbh9D/YYr2Dzp2W4G68TFoldNWRdoAhC5hyTTR/S + LS8pxH6VWWKcdCUXTnq2gq88+Uj/nlxNEJJLAp+PWxIcgsAchJetOfBVZl/kPswuXqw2LsCv/7He + 8sOfPrtGzD2Qjt01pmtcydKPj9vSYWnoeepbIMMZk2DKp2bZ8iC4c28mOd4WUVv4OQ4AeD/egRCf + nWYeytv4h89FvD7H49mGqliktzvS9kqh/fAX7KJeDcSktl1cfkAEgma4bPmX63ImfWGIumeNNv8q + Z28870lNzi1Ik7+ETh/zW4BOdS5Io2uUz0N5GuEEi5pc84bd8GBtxSLN7wG3qO98VDJ+hDc9OgZc + 0u7cOcohBpwdecF6WKKBXcmSgi0PI6GlzHT64f2WJyDTr6BL/YeYwM0/JSdVuAy4nC8GtPpqR+TF + BDHZg3WWQsOhRIVwakgBIlbaHWGyrddE+5PnfIS3gbzung7UZ5AH2Wm9BuKmd/AnubWHebzIm98c + 5vT8lme4rBZFli+c6JrsryKs09uExXDKmrmue0fc0bbb8tNwGN4eV0Hq5wkxN728aC8hgydsqoFg + n9aBpo8ihHuZiHj+sI1GmSXh4fVtAGK4TZgL7OQXcNNzwbzxxSl1LjyMkrAJ+M3PWdsZGmDz4wIR + mXozu3apinxH+z/5yfK631pA5Wn48XtApNhmYNX1DB68p60JPzx4PCoBaUf3qq0Wp7VSx7QkEJq1 + HPDdT1e46U+kj8wULxc320MZrpgcL1t+LM6SCi7uhwZ7Y3ce5jKCPPyOSMGTNGsDx8yrBzS7dZCr + 5GrMaS8hhQUFcdBseRd7yYROSh/ZnqCBYYchXiNV+vGpox1/tvxp6sTz2ytQKb86sDz3rA4H8j1u + +ebYjN6J4aFzilPiA8jSVQ+HAMz1siI/abzmT77hVMeaFCfJz4WdYocgqwcDbXqazvz5xErb+0Sa + nkQaLyyrDn5+oY7eOhCEpEyknDvnyNy9Z5cOwe0Fr0wRkcRVvv/2Sw6rVpM//O6Hf3//TgX817/+ + +ut//U4YtF15f28HA6b7Mv3Hfx8V+A/hP8Y2e7//HEPAY1bd//7n3ycQ/v4OXfud/vfUve6f8e9/ + /uK4P2cN/p66KXv/v9f/tXX1X//6PwAAAP//AwDgwOyj4CAAAA== headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b04e7b9022516-SJC + - 8ddeee2f1c1567ca-SJC Connection: - keep-alive Content-Encoding: @@ -3296,7 +3301,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:10 GMT + - Tue, 05 Nov 2024 18:33:07 GMT Server: - cloudflare Transfer-Encoding: @@ -3314,7 +3319,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "52" + - "95" openai-version: - "2020-10-01" strict-transport-security: @@ -3332,7 +3337,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_bcb243e74bd588b0996d436465e97a76 + - req_0bd68d522dd473436c890277a29f42e4 status: code: 200 message: OK @@ -3345,38 +3350,39 @@ interactions: words words and `relevance_score` is the relevance of `summary` to answer question (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon pages 20-22: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew - D. White. A perspective on explanations of molecular prediction models. Unknown - journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\n----\n\nwoody,\u2019 - \u2018floral\u2019 and \u2018herbal\u2019 scents.\n\n\n\n\n\nFigure 5: Counterfactual - for the 2,4 decadienal molecule. The counterfactual indicates\nstructural changes - to ethyl benzoate that would result in the model predicting the molecule\nto - not contain the \u2018fruity\u2019 scent. The Tanimoto96 similarity between - the counterfactual and\n2,4 decadienal is also provided. Republished with permission - from authors.31\n\n\n The molecule 2,4-decadienal, which is known to have - a \u2018fatty\u2019 scent, is analyzed in Fig-\n\nure 5.142,143 The resulting - counterfactual, which has a shorter carbon chain and no carbonyl\n\ngroups, - highlights the influence of these structural features on the \u2018fatty\u2019 - scent of 2,4 deca-\n\ndienal. To generalize to other molecules, Seshadri et - al. 31 applied the descriptor attribution\n\nmethod to obtain global explanations - for the scents. The global explanation for the \u2018fatty\u2019\n\nscent was - generated by gathering chemical spaces around many \u2018fatty\u2019 scented - molecules.\n\nThe resulting natural language explanation is: \u201cThe molecular - property \u201cfatty scent\u201d can\n\nbe explained by the presence of a heptanyl - fragment, two CH2 groups separated by four\n\n 20bonds, - and a C=O double bond, as well as the lack of more than one or two O atoms.\u201d31\n\nThe - importance of a heptanyl fragment aligns with that reported in the literature, - as \u2018fatty\u2019\n\nmolecules often have a long carbon chain.144 Furthermore, - the importance of a C=O dou-\n\nble bond is supported by the findings reported - by Licon et al. 145, where in addition to a\n\n\u201clarger carbon-chain skeleton\u201d, - they found that \u2018fatty\u2019 molecules also had \u201caldehyde or acid\n\nfunctions\u201d.145 - For the \u2018pineapple\u2019 scent, the following natural language explanation - was ob-\n\ntained: \u201cThe molecular property \u201cpineapple scent\u201d - can be explained by the presence of ester,\n\nethyl/ether O group, alkene/ether - O group, and C=O double bond, as well as the absence of\n\nan Aromatic atom.\u201d31 - Esters, such as ethyl 2-methylbutyrate, are present in many pineap-\n\nple volatile - compounds.146,147 The combination of a C=O double bond with an ether could\n\nalso - correspond to an ester group. Additionally, aldehydes and ketones, which contain - C=O\n\ndouble bonds, are also common in pineapple volatile compounds.146,148\n\n\nDiscussion\n\n\nWe + D. White. A perspective on explanations of molecular prediction models. ChemRxiv, + Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02. + This article has 1 citations.\n\n----\n\nwoody,\u2019 \u2018floral\u2019 and + \u2018herbal\u2019 scents.\n\n\n\n\n\nFigure 5: Counterfactual for the 2,4 + decadienal molecule. The counterfactual indicates\nstructural changes to ethyl + benzoate that would result in the model predicting the molecule\nto not contain + the \u2018fruity\u2019 scent. The Tanimoto96 similarity between the counterfactual + and\n2,4 decadienal is also provided. Republished with permission from authors.31\n\n\n The + molecule 2,4-decadienal, which is known to have a \u2018fatty\u2019 scent, is + analyzed in Fig-\n\nure 5.142,143 The resulting counterfactual, which has a + shorter carbon chain and no carbonyl\n\ngroups, highlights the influence of + these structural features on the \u2018fatty\u2019 scent of 2,4 deca-\n\ndienal. + To generalize to other molecules, Seshadri et al. 31 applied the descriptor + attribution\n\nmethod to obtain global explanations for the scents. The global + explanation for the \u2018fatty\u2019\n\nscent was generated by gathering chemical + spaces around many \u2018fatty\u2019 scented molecules.\n\nThe resulting natural + language explanation is: \u201cThe molecular property \u201cfatty scent\u201d + can\n\nbe explained by the presence of a heptanyl fragment, two CH2 groups separated + by four\n\n 20bonds, and a C=O double + bond, as well as the lack of more than one or two O atoms.\u201d31\n\nThe importance + of a heptanyl fragment aligns with that reported in the literature, as \u2018fatty\u2019\n\nmolecules + often have a long carbon chain.144 Furthermore, the importance of a C=O dou-\n\nble + bond is supported by the findings reported by Licon et al. 145, where in addition + to a\n\n\u201clarger carbon-chain skeleton\u201d, they found that \u2018fatty\u2019 + molecules also had \u201caldehyde or acid\n\nfunctions\u201d.145 For the \u2018pineapple\u2019 + scent, the following natural language explanation was ob-\n\ntained: \u201cThe + molecular property \u201cpineapple scent\u201d can be explained by the presence + of ester,\n\nethyl/ether O group, alkene/ether O group, and C=O double bond, + as well as the absence of\n\nan Aromatic atom.\u201d31 Esters, such as ethyl + 2-methylbutyrate, are present in many pineap-\n\nple volatile compounds.146,147 + The combination of a C=O double bond with an ether could\n\nalso correspond + to an ester group. Additionally, aldehydes and ketones, which contain C=O\n\ndouble + bonds, are also common in pineapple volatile compounds.146,148\n\n\nDiscussion\n\n\nWe have shown two post-hoc XAI applications based on molecular counterfactual expla-\n\nnations9 and descriptor explanations.10 These methods can be used to explain black-box\n\nmodels whose input is a molecule. These two methods can be applied for both classification\n\nand @@ -3421,7 +3427,7 @@ interactions: connection: - keep-alive content-length: - - "6220" + - "6243" content-type: - application/json host: @@ -3443,29 +3449,29 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/chat/completions response: body: string: !!binary | - H4sIAAAAAAAAA2xTTW8bRwy961cQc5YMSVacWLfAlyBoe0iLXrqBxJ3laieeL5Bc26rh/x7MrGLJ - SS5z4CMf+d6QzzMA4zqzBWMHVBuyX3z84+7vR/cXrq6/dO/40/Hp3y/vPlv83LXt+k8zLxWp/UZW - f1Rd2RSyJ3UpTrBlQqXCunq/vr1Z3azeLysQUke+lB2yLjZpsV6uN4vlh8Xy5lQ4JGdJzBb+mwEA - PNe3jBg7ejJbqDQ1EkgED2S2r0kAhpMvEYMiThSjmvkZtCkqxTr1fr//Jik28bmJAI2RMQTkY2O2 - 0Ji7NEYl7tHqiB7oKXuMWNQJIBN0JJZdSx2gANoCYOsJXAQdCJSe9Ar+GehYs5kyk1DUKd8OFJxF - D6I8Wh2ZZA6Pg7NDze4xOO+QQRN0KaCLpT+xyhwwdjVHMrJQaeEEAt6TlL4BRqF+9NAnhszpwXUu - HsBFcYdBBVzUBEN6BDtgPFAJQEie7OiRz9OAxQiesKsTuL4npqiQmTpnJw/aIyDUn6wyq2CgkAcU - 938dBhXsGxMFBnygUuaiC+ihq99jCXpOARBaFPoxDkE7KuQkQiJQfo1RtIh5NS9zKqa4Yl7A+4JV - CzKX/ygZxYUxdsSlT3Wi2JdT2QCH3h8BvRIXII1qU/jZkbPiSatcNWY+bQuTp4cy/U5sYpq25rYx - TXxp4n6/v1w6pn4ULDsfR+9P8ZfXLfbpkDm1csJf472LToYdE0qKZWNFUzYVfZkBfK3XMr45AJM5 - haw7TfcUC+FqfbueCM35QC/g5YcTqknRXwCb5enM3lLuOlJ0Xi5Ozli0A3Xn2uXsQt+vbX9HMWl0 - 8fALy+zEZOQoSmHXu3ggzuymI+7zDtdL3BBdbzZm9jL7DgAA//8DAHeYJJnNBAAA + H4sIAAAAAAAAA3RUyW7bQAy9+yuIOduBHDut41tbNEWP6YIe6sKgZihpklnUIRUnCPzvxUiKlza9 + CBg+ko+Pi54nAMoatQalGxTtWzd7d/uZvt5+/8TN92v6+GP3/q5ezWl58+Xm9+1OTXNELO9Iy0vU + hY6+dSQ2hgHWiVAoZ52/XRSrxfxqteoBHw25HFa3MlvG2WVxuZwVq1nxZgxsotXEag0/JwAAz/03 + lxgMPao1FNMXiydmrEmtD04AKkWXLQqZLQsGUdMjqGMQCn3Vz5sAsFHceY/paaPWsFEfYheEUoVa + OnRAj63DgFkUAyYCQ6yTLckAMnRMVeegJI0dE0hDT71TojYRU5DBTTfkrUYHLKnT0iViqNBbZzGB + RDDRow2Zi5LwtE/BLSamKWAw/Rt1rgFLRxfwrbEM3NU1sTBIgwL6rGwGjQFKygWazODxnkA3GGri + /EbdWHro1dhEBmInOnriafa0oc5S/F+cBEKPAug4gqcwtORV8gYfCBC8DdajA9MPQRNUKXpAKJEJ + fHSkO0dQdgI7Kw3kwSRkyfSHjrUp5qbYXNqusboB61tnaWTuO5611p01OamxldXjuLLugQXTaeuz + fieUoE1krM5DOtJcbNR0WItEjh5y3VvWMdGwHtcbtQn7031KVHWMeZ1D59xo3x8W1MW6TbHkET/Y + KxssN9tEyDHkZWSJrerR/QTgV38I3dluqzZF38pW4j2FnHC+KMZLUMfbO4GLxYhKFHQnwPKAnKXc + GhK0jk+uSWnUDZljbDE50fcv7WspBo021CdZDn1ArakVMttxGGcKjm6J8q/mf26HtvV1KX5iIb+t + bKgptckO11612+WVrq6WhpDUZD/5AwAA//8DAO+gP6D2BAAA headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b04ea9e7f96d2-SJC + - 8ddeee30f951ce7c-SJC Connection: - keep-alive Content-Encoding: @@ -3473,14 +3479,14 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:12 GMT + - Tue, 05 Nov 2024 18:33:09 GMT Server: - cloudflare Set-Cookie: - - __cf_bm=4SeqA4JWFJfLL4RJ8idxrsBHmV3VWs668nKBtPN8RQ4-1729616172-1.0.1.1-nr90OUerzoNTNydTRc0jVixsEexowwvyJshQkxCAGocnw0mex0v0wYuOVcHW3tS61kVBbZBsVDIUvKbzjaF9NQ; - path=/; expires=Tue, 22-Oct-24 17:26:12 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=WaE9kdzuIS1hBtGPaUXVqHhWaVjD4ijB5CKqCTImUm8-1730831589-1.0.1.1-axEvPjA7xjFr4JqOnRpu0BpmVPjCPX77OTmHR3Om756hNXlHyd1otadxeLh8i2.dcqHteup2IINYKJPGLiYaqw; + path=/; expires=Tue, 05-Nov-24 19:03:09 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=6uCTSQ5PQvlo10rD9GxZ400Njod0ARiwro9xEkywHXM-1729616172668-0.0.1.1-604800000; + - _cfuvid=gDcCnHyNQ238O._bR3WmFOhI5rSgXChCU8lTyrucjaQ-1730831589697-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None Transfer-Encoding: - chunked @@ -3493,7 +3499,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "1890" + - "1631" openai-version: - "2020-10-01" strict-transport-security: @@ -3503,15 +3509,194 @@ interactions: x-ratelimit-limit-tokens: - "30000000" x-ratelimit-remaining-requests: - - "9999" + - "9997" x-ratelimit-remaining-tokens: - - "29998529" + - "29998522" x-ratelimit-reset-requests: - - 6ms + - 12ms x-ratelimit-reset-tokens: - 2ms x-request-id: - - req_091300801d572c992bbcd150240d3884 + - req_319f153f2f92e3c58a7c198e26135900 + status: + code: 200 + message: OK + - request: + body: + '{"messages": [{"role": "system", "content": "Provide a summary of the relevant + information that could help answer the question based on the excerpt. Respond + with the following JSON format:\n\n{\n \"summary\": \"...\",\n \"relevance_score\": + \"...\"\n}\n\nwhere `summary` is relevant information from text - about 100 + words words and `relevance_score` is the relevance of `summary` to answer question + (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon + pages 14-16: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew + D. White. A perspective on explanations of molecular prediction models. ChemRxiv, + Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02. + This article has 1 citations.\n\n----\n\nand counterfactual examples are in + the\n\napplication, although both are derived from the same optimization problem.100 + Grabocka\n\net al. 111 have developed a method named Adversarial Training on + EXplanations (ATEX)\n\nwhich improves model robustness via exposure to adversarial + examples. While there are\n\nconceptual disparities, we note that the counterfactual + and adversarial explanations are\n\nequivalent mathematical objects.\n\n Matched + molecular pairs (MMPs) are pairs of molecules that differ structurally at only\n\none + site by a known transformation.112,113 MMPs are widely used in drug discovery + and\n\nmedicinal chemistry as these facilitate fast and easy understanding of + structure-activity re-\n\nlationships.114\u2013116 Counterfactuals and MMP examples + intersect if the structural change is\n\nassociated with a significant change + in the properties. In the case the associated changes in\n\nthe properties are + non-significant, the two molecules are known as bioisosteres.117,118 The con-\n\nnection + between MMPs and adversarial training examples has been explored by van Tilborg\n\net + al. 119. MMPs which belong to the counterfactual category are commonly used + in outlier\n\nand activity cliff detection.113 This approach is analogous to + counterfactual explanations,\n\nas the common objective is to uncover learned + knowledge pertaining to structure-property\n\nrelationships.70\n\n\nApplications\n\n\nModel + interpretation is certainly not new and a common step in ML in chemistry, but + XAI for\n\nDL models is becoming more important60,66\u201369,73,88,104,105 Here + we illustrate some practical\n\nexamples drawn from our published work on how + model-agnostic XAI can be utilized to\n\n\n\n 14interpret + black-box models and connect the explanations to structure-property relationships.\n\nThe + methods are \u201cMolecular Model Agnostic Counterfactual Explanations\u201d + (MMACE)9\n\nand \u201cExplaining molecular properties with natural language\u201d.10 + Then we demonstrate how\n\ncounterfactuals and descriptor explanations can propose + structure-property relationships in\n\nthe domain of molecular scent.31\n\n\nBlood-brain + barrier permeation prediction\n\n\nThe passive diffusion of drugs from the blood + stream to the brain is a critical aspect in drug\n\ndevelopment and discovery.120 + Small molecule blood-brain barrier (BBB) permeation is a\n\nclassification problem + routinely assessed with DL models.121,122 To explain why DL models\n\nwork, + we trained two models a random forest (RF) model123 and a Gated Recurrent Unit\n\nRecurrent + Neural Network (GRU-RNN). Then we explained the RF model with generated\n\ncounterfactuals + explanations using the MMACE9 and the GRU-RNN with descriptor expla-\n\nnations.10 + Both the models were trained on the dataset developed by Martins et al. 124. + The\n\nRF model was implemented in Scikit-learn125 using Mordred molecular descriptors126 + as the\n\ninput features. The GRU-RNN model was implemented in Keras.127 See + Wellawatte et al. 9\n\nand Gandhi and White 10 for more details.\n\n According + to the counterfactuals of the instance molecule in figure 1, we observe that + the\n\nmodifications to the carboxylic acid group enable the negative example + molecule to permeate\n\nthe BBB. Experimental findings by Fischer et al. 120 + show that the BBB permeation of\n\nmolecules are governed by hydrophobic interactions + and surface area. The carboxylic group is\n\na hydrophilic functional group + which hinders hydrophobic interactions and addition of atoms\n\nenhances the + surface area. This proves the advantage of using counterfactual explanations,\n\nas + they suggest actionable modification to the molecule to make it cross the BBB.\n\n In + Figure 2 we show descriptor explanations generated for Alprozolam, a molecule + that\n\npermeates the BBB, using the method described by Gandhi and White 10. + We see that\n\npredicted permeability is positively correlated with the aromaticity + of the molecule, while\n\n\n 15negatively + correlated with the number of hydrogen bonds donors and acceptors. A similar\n\nstructure-property + relationship for BBB permeability is proposed in more mechanistic stud-\n\nies.128\u2013130 + The substructure attributions indicates a reduction in hydrogen bond donors + and\n\nacceptors. These descriptor explanations are quantitative and interpretable + by chemists.\n\nFinally, we can use a natural language model to summarize the + findings into a written\n\nexplanation, as shown in the printed text in Figure + 2.\n\n\n\n\n\nFigure 1: Counterfactuals of a molecule which cannot permeate + the blood-brain barrier.\nSimilarity is the Tanimoto similarity of ECFP4 fingerprints.131 + Red indicates deletions and\ngreen indicates substitutions and addition of atoms. + Republished from Ref.9 with permission\nfrom the Royal Society of Chemistry.\n\n\n\nSolubility + prediction\n\n\nSmall molecule solubility prediction is a classic cheminformatics + regression challenge and is\n\nimportant for chemical process design, drug design + and crystallization.133\u2013136 In our previous\n\nworks,9,10 we implemented + and trained an R\n\n----\n\nQuestion: Are counterfactuals actionable? [yes/no]\n\n"}], + "model": "gpt-4o-2024-08-06", "stream": false, "temperature": 0.0}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - "6105" + content-type: + - application/json + host: + - api.openai.com + user-agent: + - AsyncOpenAI/Python 1.46.1 + x-stainless-arch: + - arm64 + x-stainless-async: + - async:asyncio + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.46.1 + x-stainless-raw-response: + - "true" + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.4 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: !!binary | + H4sIAAAAAAAAA3RUTW/bMAy951cQOm2AE6Rt2qa5zftAdxiwYT1tHhJaom1tsqhJ8pag6H8fJKdp + sm6XIOAjHx+fSN9PAIRWYgVCdhhl78z01af39Fm+KX9e3fCXm7evP952d6+uysvb2/n2gyhSBdff + ScbHqpnk3hmKmu0IS08YKbGeXV/Mlxdnl8tlBnpWZFJZ6+J0wdPz+fliOl9O51f7wo61pCBW8HUC + AHCff5NEq2grVjAvHiM9hYAtidUhCUB4NikiMAQdItooiidQso1ks+rNZvM9sK3sfWUBKhGGvke/ + q8QKKvGaBxvJNyjjgAZo6wxaTNMFQE+AMv3H2hBggNjRDsLQthQi9Kx0o+U+OTL0bEgOhlIeRpBo + wRCqBCkK2pMCHqLknsIM3rEHbZNuSQVom7ghq95G4AZqw6ymtUdtoUbvNXl4UZblS3Dke8pdC5An + 8gNoq5IiGhU8U5h7oK95uzNaAkqtoPU8uCyW9nMeBkkl+26Ua8uynMFdpwPoADVJHAL9TTry6QDd + Tnl2nc6drIIuvas/xLnWEnRSP3ocCvjdadll26UfpEYDDfvU9GjmGZSHJ9C2PX4g2aFtKRQQhkQT + AJXKKZH7PD7ZLtkNYUiOUeqEzz10nn9pReCyMIkG2kGrXJjk7M1Bf2rvrBLFuF+eDP1K6esg2dO4 + ZzeVqOxDZTebzfGaemqGgOlK7GDMPv5w2HvDrfNchz1+iDfa6tCtPWFgm3Y8RHYiow8TgG/5voaT + kxHOc+/iOvIPsonw7HyxGAnF00kfwRePaOSI5hi4Xhb/oFwriqhNODpSIVF2pJ5q55Oj+Z63/RfF + OKO27RHLwQeUklwktXaelJanEzyleUpfsP+lHWzLukTYhUj9utG2Je+8Hj8ijVsvLmVzuVCEJCYP + kz8AAAD//wMA0XawF00FAAA= + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8ddeee31198fcf0d-SJC + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Tue, 05 Nov 2024 18:33:10 GMT + Server: + - cloudflare + Set-Cookie: + - __cf_bm=Nby8eAvZU_ondU_N1Th5Cb8uHdCwDLqZB6aPylwLVvc-1730831590-1.0.1.1-i7fF2nC32cl6sjLc6QPzsBqsvdyWcM7Zw_s4zwhHtbSuwZiy8JzwPIctZabjR.FVJbwXNzRMLNSZQAilSsnDqA; + path=/; expires=Tue, 05-Nov-24 19:03:10 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=Ssz_5sliw3nM5sg8WQE7qIo.iwrcARqu32VMZewlqo0-1730831590040-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + access-control-expose-headers: + - X-Request-ID + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - future-house-xr4tdh + openai-processing-ms: + - "1983" + openai-version: + - "2020-10-01" + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - "10000" + x-ratelimit-limit-tokens: + - "30000000" + x-ratelimit-remaining-requests: + - "9991" + x-ratelimit-remaining-tokens: + - "29976760" + x-ratelimit-reset-requests: + - 52ms + x-ratelimit-reset-tokens: + - 46ms + x-request-id: + - req_d1d169c82861e73ed8b97884243cc339 status: code: 200 message: OK @@ -3524,32 +3709,32 @@ interactions: words words and `relevance_score` is the relevance of `summary` to answer question (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon pages 9-12: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew - D. White. A perspective on explanations of molecular prediction models. Unknown - journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\n----\n\nut - features. Weber et al. 82 used saliency maps to build an explainable GCN\n\narchitecture - that gives subgraph importance for small molecule activity prediction. On the\n\nother - hand, similarity maps compare model predictions for two or more molecules based - on\n\ntheir chemical fingerprints.83 Similarity maps provide atomic weights - or predicted probabil-\n\n\n 9ity difference - between the molecules by removing one atom at a time. These weights can\n\nthen - be used to color the molecular graph and give a visual presentation. ChemInformatics\n\nModel - Explorer (CIME) is an interactive web based toolkit which allows visualization - and\n\ncomparison of different explanation methods for molecular property prediction - models.84\n\n\nSurrogate models\n\n\nOne approach to explain black box predictions - is to fit a self-explaining or interpretable\n\nmodel to the black box model, - in the vicinity of one or a few specific examples. These are\n\nknown as surrogate - models. Generally, one model per explanation is trained. However, if we\n\ncould - find one surrogate model that explained the whole DL model, then we would simply\n\nhave - a globally accurate interpretable model. This means that the black-box model - is no\n\nlonger needed.79 In the work by White 79, a weighted least squares - linear model is used as\n\nthe surrogate model. This model provides natural - language based descriptor explanations by\n\nreplacing input features with chemically - interpretable descriptors. This approach is similar\n\nto the concept-based - explanations approach used by McGrath et al. 85, where human under-\n\nstandable - concepts were used in place of input features in acquisition of chess knowledge - in\n\nAlphaZero. Any of the self-explaining models detailed in the Self-explaining - models section\n\ncan be used as a surrogate model.\n\n The most commonly - used surrogate model based method is Locally Interpretable Model\n\nExplanations + D. White. A perspective on explanations of molecular prediction models. ChemRxiv, + Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02. + This article has 1 citations.\n\n----\n\nut features. Weber et al. 82 used saliency + maps to build an explainable GCN\n\narchitecture that gives subgraph importance + for small molecule activity prediction. On the\n\nother hand, similarity maps + compare model predictions for two or more molecules based on\n\ntheir chemical + fingerprints.83 Similarity maps provide atomic weights or predicted probabil-\n\n\n 9ity + difference between the molecules by removing one atom at a time. These weights + can\n\nthen be used to color the molecular graph and give a visual presentation. + ChemInformatics\n\nModel Explorer (CIME) is an interactive web based toolkit + which allows visualization and\n\ncomparison of different explanation methods + for molecular property prediction models.84\n\n\nSurrogate models\n\n\nOne approach + to explain black box predictions is to fit a self-explaining or interpretable\n\nmodel + to the black box model, in the vicinity of one or a few specific examples. These + are\n\nknown as surrogate models. Generally, one model per explanation is trained. + However, if we\n\ncould find one surrogate model that explained the whole DL + model, then we would simply\n\nhave a globally accurate interpretable model. + This means that the black-box model is no\n\nlonger needed.79 In the work by + White 79, a weighted least squares linear model is used as\n\nthe surrogate + model. This model provides natural language based descriptor explanations by\n\nreplacing + input features with chemically interpretable descriptors. This approach is similar\n\nto + the concept-based explanations approach used by McGrath et al. 85, where human + under-\n\nstandable concepts were used in place of input features in acquisition + of chess knowledge in\n\nAlphaZero. Any of the self-explaining models detailed + in the Self-explaining models section\n\ncan be used as a surrogate model.\n\n The + most commonly used surrogate model based method is Locally Interpretable Model\n\nExplanations (LIME).35 LIME creates perturbations around the example of interest and fits\n\nan interpretable model to these local perturbations. Ribeiro et al. 35 mathematically define\n\nan explanation \u03be for an example \u20d7x using Equation 4.\n\n\n \u03be(\u20d7x) @@ -3599,7 +3784,7 @@ interactions: connection: - keep-alive content-length: - - "6138" + - "6161" content-type: - application/json host: @@ -3621,29 +3806,30 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/chat/completions response: body: string: !!binary | - H4sIAAAAAAAAA2xTTW8aQQy98yusOUMEhEDDrUKpVDWtKqWnlgqZWe+u0/lYjb0EGvHfq1k+q+Sy - 0vrZz/bzm9cegOHCzMHYGtX6xg0+Pi6etg9PlXwJdrJohs3d7V+++4nfyufHr6afK+L6mayeqm5s - 9I0j5RgOsE2ESpl1NBvfT0fT0WzUAT4W5HJZ1ehgEgfj4XgyGH4YDKfHwjqyJTFz+NUDAHjtvnnE - UNDWzGHYP0U8iWBFZn5OAjApuhwxKMKiGNT0L6CNQSl0U78uA8DSSOs9pt3SzGFpFrENSqlEqy06 - oG3jMGBeSgATQStUgEYoSCl5DgRaE4hH50gUbI2hyjFUsLF1BaBTSl1SbNVGTxBLwAAc8mi2++Xc - kkRv4EdNu67PGnOjGLpKG4OlRnOq58AeHRS04W4sKFP0XRYHVkZ3YV63Ci+sNWBm0ISiHKrTHDfw - +cyutO3YbU2eRdOuDwgFH3k8aWJ7GclHR7Z1mEDYs8PEuuuDtLYGlI7yBwb2Mct04liTvhAFeFh8 - +j6BkkNFqUkcVPrAAuQbF3dUZAVYQNqqIlE5C3l1EwGLAdYEaPP+uHZ0bLuDJsUNF1kK4apWycpG - kIYsl2yP1xEIRMXhjGhrpg1125YlJQp61mdp+geDJHK0yVusxMZEB6PcL80y7K+dlahsBbOxQ+vc - Mb4/W9XFqklxLUf8HC85sNSrRCgxZFuKxsZ06L4H8Lt7Eu1/LjdNir7RlcY/FDLhaDy5PxCayyu8 - gkfjI6pR0V0Bt9NR/x3KVUGK7OTqXRmLtqbiUjvsXe33tu17FIcdOVRvWHpHJiM7UfKrK4NkScpm - hbNiOKXJGGemt+/9AwAA//8DAIEHljyyBAAA + H4sIAAAAAAAAA3RUTW8iSQy98yusOkMEBCaE22gyK81tR5vL7jBCpsrd7Wx9tMruJCjKfx9VA01H + O3tBaj/7+fmVzdsEwLAzWzC2QbWh9bPP37/RX8t/qkyfHg6PD7j6u62+89P69Xm17My0VKTDE1m9 + VN3YFFpPyimeYJsJlQrr4u52vrldrDebHgjJkS9ldauzVZot58vVbL6ZzT+dC5vElsRs4ccEAOCt + /y0So6NXs4X59BIJJII1me2QBGBy8iViUIRFMaqZXkGbolLsVb/tIsDOSBcC5uPObGFnvqQuKuUK + rXbogV5bjxHLUAKYCTohB5rAkVIOHAm0IZCA3pMo2AZjTRCJ3CkPvVLuc1KnNgWCVAFG4FiU2f6T + S0cSvYHHho59mwOWPin2lTZFS62W1MCRA3pw9My9KqhyCn0WR1ZGf2U+dAovrA1gYdCMohzri44b + +DawK7327LahwKL5OAUEx2eeQJrZXiWF5Ml2HjMIB/aYWY9TkM42gNJTPmLkkIpLF44D6QtRhK9f + /vhzBRXHmnKbOapMgWXkanWx1HFVUaZxsb6kYTopZrGAdHVNoqUvKtgPrydgMUKb0zM7ArTFLzz4 + YpVw3ajA4QjsKCpXx2KNtGS5Ynt+xiupd+AJTw86KNPByp2ZnlYpk6fnIm8vNmU6rdT9zuzi+3gH + M1WdYDmB2Hl/jr8PS+1T3eZ0kDM+xCuOLM0+E0qKZYFFU2t69H0C8LM/nu7DPZg2p9DqXtO/FAvh + Yrm+OxGa672O4MXmjGpS9CPg9m49/Q3l3pEiexldoLFoG3LX2vlkNN9/2/6O4jQjx3rEMviAtpwD + uX2bybH9OME1LVP5e/q/tMG2XpeRoyiF/Wgzi8FVu1+s793mdrWw1kzeJ78AAAD//wMA3vRezyoF + AAA= headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b04ea9f88cef5-SJC + - 8ddeee310bef176b-SJC Connection: - keep-alive Content-Encoding: @@ -3651,14 +3837,14 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:12 GMT + - Tue, 05 Nov 2024 18:33:10 GMT Server: - cloudflare Set-Cookie: - - __cf_bm=8fuwLCvBr2ZKvb5ugAm6EgRleNIKdbcp9AnUnxrL_U0-1729616172-1.0.1.1-QuPpg7NXD5rS5TGverp5zR_FPhdPvYrsWO5lfgANogE6SW9hIKgJ3JVvx4lObGNmHXpXvlbukY05CplS08V.uw; - path=/; expires=Tue, 22-Oct-24 17:26:12 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=yPpzpfJTtVYS2VMiDOiNQa5gup7NZ8po1nX.jKyAefM-1730831590-1.0.1.1-bKPUsjHyiFU7eJ1EEgjmbSvXuBIMDgGrCgbFr87Kj.9jq6KGBIXhA_jAhQKk2oXS0nZj.zB71m2jcAEoiy0iKg; + path=/; expires=Tue, 05-Nov-24 19:03:10 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=ES5dE1l_rE0LCV3gYf44N8M116lgHJ9gaNXbPlFeVec-1729616172783-0.0.1.1-604800000; + - _cfuvid=V.i982cfE0p_A_3RsgROEM_GtrskpRpsbiRU1.zcd7Y-1730831590922-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None Transfer-Encoding: - chunked @@ -3671,7 +3857,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "2011" + - "2862" openai-version: - "2020-10-01" strict-transport-security: @@ -3681,15 +3867,15 @@ interactions: x-ratelimit-limit-tokens: - "30000000" x-ratelimit-remaining-requests: - - "9998" + - "9999" x-ratelimit-remaining-tokens: - - "29998037" + - "29998531" x-ratelimit-reset-requests: - - 10ms + - 6ms x-ratelimit-reset-tokens: - - 3ms + - 2ms x-request-id: - - req_863b9bb0657d8232a325a31eb43ebe02 + - req_60bf49c112d1f1e6bb38f29223da7533 status: code: 200 message: OK @@ -3701,71 +3887,75 @@ interactions: \"...\"\n}\n\nwhere `summary` is relevant information from text - about 100 words words and `relevance_score` is the relevance of `summary` to answer question (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon - pages 12-14: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew - D. White. A perspective on explanations of molecular prediction models. Unknown - journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\n----\n\nounterfac-\n\n\n 11tual - explanations. Unlike the counterfactual approach, contrastive approach employ - a dual\n\noptimization method, which works by generating a similar and a dissimilar - (counterfactuals)\n\nexample. Contrastive explanations can interpret the model - by identifying contribution of\n\npresence and absence of subsets of features - towards a certain prediction.36,99\n\n A counterfactual x\u2032 of an instance - x is one with a dissimilar prediction \u02c6f(x) in classi-\n\nfication tasks. - As shown in equation 5, counterfactual generation can be thought of as a\n\nconstrained - optimization problem which minimizes the vector distance d(x, x\u2032) between - the\n\nfeatures.9,100\n\n\n minimize d(x, x\u2032)\n (5)\n such - that \u02c6f(x) \u0338= \u02c6f(x\u2032)\n\n For regression tasks, equation - 6 adapted from equation 5 can be used. Here, a counter-\n\nfactual is one with - a defined increase or decrease in the prediction.\n\n\n minimize d(x, - x\u2032)\n (6)\n such - that \u02c6f(x) \u2212\u02c6f(x\u2032) \u2265\u2206\n\n Counterfactuals - explanations have become a useful tool for XAI in chemistry, as they\n\nprovide - intuitive understanding of predictions and are able to uncover spurious relationships\n\nin - training data.101 Counterfactuals create local (instance-level), actionable - explanations.\n\nActionability of an explanation suggest which features can - be altered to change the outcome.\n\nFor example, changing a hydrophobic functional - group in a molecule to a hydrophilic group\n\nto increase solubility.\n\n Counterfactual - generation is a demanding task as it requires gradient optimization over\n\ndiscrete - features that represents a molecule. Recent work by Fu et al. 102 and Shen et - al. 103\n\npresent two techniques which allow continuous gradient-based optimization. - Although, these\n\nmethodologies are shown to circumvent the issue of discrete - molecular optimization, counter-\n\nfactual explanation based model interpretation - still remains unexplored compared to other\n\n\n\n 12post-hoc - methods.\n\n CF-GNNExplainer104 is a counterfactual explanation generating - method based on GN-\n\nNExplainer69 for graph data. This method generate counterfactuals - by perturbing the input\n\ndata (removing edges in the graph), and keeping account - of perturbations which lead to\n\nchanges in the output. However, this method - is only applicable to graph-based models\n\nand can generate infeasible molecular - structures. Another related work by Numeroso and\n\nBacciu 105 focus on generating - counterfactual explanations for deep graph networks. Their\n\nmethod MEG (Molecular - counterfactual Explanation Generator) uses a reinforcement learn-\n\ning based - generator to create molecular counterfactuals (molecular graphs). While this\n\nmethod - is able to generate counterfactuals through a multi-objective reinforcement - learner,\n\nthis is not a universal approach and requires training the generator - for each task.\n\n Work by Wellawatte et al. 9 present a model agnostic counterfactual - generator MMACE\n\n(Molecular Model Agnostic Counterfactual Explanations) which - does not require training\n\nor computing gradients. This method firstly populates - a local chemical space through ran-\n\ndom string mutations of SELFIES106 molecular - representations using the STONED algo-\n\nrithm.107 Next, the labels (predictions) - of the molecules in the local space are generated\n\nusing the model that needs - to be explained. Finally, the counterfactuals are identified and\n\nsorted by - their similarities \u2013 Tanimoto distance96 between ECFP4 fingerprints.97 - Unlike the\n\nCF-GNNExplainer104 and MEG105 methods, the MMACE algorithm ensures - that generated\n\nmolecules are valid, owing to the surjective property of SELFIES. - Additionally, the MMACE\n\nmethod can be applied to both regression and classification - models. However, like most XAI\n\nmethods for molecular prediction, MMACE does - not account for the chemical stability of\n\npredicted counterfactuals. To circumvent - this drawback, Wellawatte et al. 9 propose an-\n\nother approach, which identift - counterfactuals through a similarity search on the PubChem\n\ndatabase.108\n\n\n\n\n\n 13Similarity - to adjacent fields\n\n\nTangential examples to counterfactual explanations are - adversarial training and matched\n\nmolecular pairs. Adversarial perturbations - are used during training to deceive the model\n\nto expose the vulnerabilities - of a model109,110 whereas counterfactuals are applied post-hoc.\n\nTherefore, - the main difference between adversarial and counterfactual examples are in the\n\napplication, - although both are derived from the same optimization problem.100 Grabocka\n\net - al. 111 have developed a method named Adversarial Training on EXplanations (ATEX)\n\nwhich - improves model robustness via \n\n----\n\nQuestion: Are counterfactuals actionable? - [yes/no]\n\n"}], "model": "gpt-4o-2024-08-06", "stream": false, "temperature": - 0.0}' + pages 3-5: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew D. + White. A perspective on explanations of molecular prediction models. ChemRxiv, + Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02. + This article has 1 citations.\n\n----\n\npassive characteristic of a model, + whereas explainability\n\nis an active characteristic which is used to clarify + the internal decision-making process.\n\nNamely, an explanation is extra information + that gives the context and a cause for one or\n\nmore predictions.29 We adopt + the same nomenclature in this perspective.\n\n Accuracy and interpretability + are two attractive characteristics of DL models. However,\n\nDL models are often + highly accurate and less interpretable.28,30 XAI provides a way to avoid\n\nthat + trade-off in chemical property prediction. XAI can be viewed as a two-step process.\n\nFirst, + we develop an accurate but uninterpretable DL model. Next, we add explanations + to\n\npredictions. Ideally, if the DL model has correctly learned the input-output + relations, then\n\nthe explanations should give insight into the underlying + mechanism.\n\n In the remainder of this article, we review recent approaches + for XAI of chemical property\n\nprediction while drawing specific examples from + our recent XAI work.9,10,31 We show how\n\nin various systems these methods + yield explanations that are consistent with known and\n\nmechanisms in structure-property + relationships.\n\n\n\n\n\n 3Theory\n\n\nIn + this work, we aim to assemble a common taxonomy for the landscape of XAI while\n\nproviding + our perspectives. We utilized the vocabulary proposed by Das and Rad 32 to classify\n\nXAI. + According to their classification, interpretations can be categorized as global + or local\n\ninterpretations on the basis of \u201cwhat is being explained?\u201d. + For example, counterfactuals are\n\nlocal interpretations, as these can explain + only a given instance. The second classification is\n\nbased on the relation + between the model and the interpretation \u2013 is interpretability post-hoc\n\n(extrinsic) + or intrinsic to the model?.32,33 An intrinsic XAI method is part of the model\n\nand + is self-explanatory32 These are also referred to as white-box models to contrast + them\n\nwith non-interpretable black box models.28 An extrinsic method is one + that can be applied\n\npost-training to any model.33 Post-hoc methods found + in the literature focus on interpreting\n\nmodels through 1) training data34 + and feature attribution,35 2) surrogate models10 and, 3)\n\ncounterfactual9 + or contrastive explanations.36\n\n Often, what is a \u201cgood\u201d explanation + and what are the required components of an ex-\n\nplanation are debated.32,37,38 + Palacio et al. 29 state that the lack of a standard framework\n\nhas caused + the inability to evaluate the interpretability of a model. In physical sciences,\n\nwe + may instead consider if the explanations somehow reflect and expand our understanding\n\nof + physical phenomena. For example, Oviedo et al. 39 propose that a model explanation\n\ncan + be evaluated by considering its agreement with physical observations, which + they term\n\n\u201ccorrectness.\u201d For example, if an explanation suggests + that polarity affects solubility of a\n\nmolecule, and the experimental evidence + strengthen the hypothesis, then the explanation\n\nis assumed \u201ccorrect\u201d. + In instances where such mechanistic knowledge is sparse, expert bi-\n\nases + and subjectivity can be used to measure the correctness.40 Other similar metrics + of\n\ncorrectness such as \u201cexplanation satisfaction scale\u201d can be + found in the literature.41,42 In a\n\nrecent study, Humer et al. 43 introduced + CIME an interactive web-based tool that allows the\n\nusers to inspect model + explanations. The aim of this study is to bridge the gap between\n\nanalysis + of XAI methods. Based on the above discussion, we identify that an agreed upon\n\n\n 4evaluation + metric is necessary in XAI. We suggest the following attributes can be used + to\n\nevaluate explanations. However, the relative importance of each attribute + may depend on\n\nthe application - actionability may not be as important as + faithfulness when evaluating the\n\ninterpretability of a static physics based + model. Therefore, one can select relative importance\n\nof each attribute based + on the application.\n\n \u2022 Actionable. Is it clear how we could change + the input features to modify the output?\n\n \u2022 Complete. Does the explanation + completely account for the prediction? Did features\n\n not included in + the explanation really contribute zero effect to the prediction?44\n\n \u2022 + Correct. Does the explanation agree with hypothesized or known underlying physical\n\n mechanism?39\n\n \u2022 + Domain Applicable. Does the explanation use language and concepts of domain + ex-\n\n perts?\n\n \u2022 Fidelity/Faithful. Does the explanation agree + with the black box model?\n\n \u2022 Robust. Does the explanation change significantly + with small changes to the model or\n\n instance being explained?\n\n \u2022 + Sparse/Succinct. Is the explanation succinct?\n\n\n We present an example evaluation + of the SHAP explanation method based on the above\n\nattributes.44 Shapley values + were proposed as a local explanation method based on feature\n\nattribution, + as they offer a complete explanation - each feature is assign\n\n----\n\nQuestion: + Are counterfactuals actionable? [yes/no]\n\n"}], "model": "gpt-4o-2024-08-06", + "stream": false, "temperature": 0.0}' headers: accept: - application/json @@ -3774,7 +3964,7 @@ interactions: connection: - keep-alive content-length: - - "6117" + - "6147" content-type: - application/json host: @@ -3796,29 +3986,30 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/chat/completions response: body: string: !!binary | - H4sIAAAAAAAAA3RTwW7bMAy95ysInZMiSbO0za0rutOGDViHYZuHRJFom60sChKdJSj674NiN0nR - 9qIDH/lEPj4+DgAUWbUAZWotpgludP355vt2Huqp+Rhvyx+/f327nt4G/7X8Oftyp4a5gtf3aOS5 - 6sxwExwKse9gE1ELZtbJxfRqPplPLiZ7oGGLLpdVQUYzHk3H09lofDkaz/vCmslgUgv4MwAAeNy/ - uUVvcasWMB4+RxpMSVeoFockABXZ5YjSKVES7UUNj6BhL+j3Xa9Wq/vEvvCPhQcoVGqbRsddoRZQ - qBtuvWAstZFWO8BtcNrrPF0CHRFyL2hBmxzSa4dncFfjDkLkDdmMS0tCG4TWW4y5D0u+Ai4hRLRk - eipvIbVVhUngX02mhhK1tBETGO1hjaCdYEQLwmBq7SsEqRG4FcMNnsEnjoBbnaUfAnkwNTaUJO6G - XXr+U0O9s5FDzWsyULa+a9pBFbkNuUpDww5N6zD/c8gnR6ZPEgbyeaUJIbFr1+RIdkB5hBMVgHyi - qhawGGmDFsrIDZj3xcyyZZKe4cgKD7gDnQIayaK9pEhD0AlI8hrIaMH0jnoNWyqpk0+bmnCDoMFi - oqxpLyj5vabHvRzkLdSw80ZEhxvtDS6T4YidRybjQhX+qfCr1erUYxHLNulscd8618efDqZ1XIXI - 69Tjh3hJnlK9zBqzzwZNwkHt0acBwN/9cbQv/K5C5CbIUvgBfSacTK4uO0J1vMdTeNajwqLdCXA+ - mQ7foFxaFE0unVyYMtrUaI+148HJfK+/fYuim5F89Ypl0DOptEuCzbIkX2EMkbqbLcNy9sHMLc6u - zmdq8DT4DwAA//8DAP0CxtS8BAAA + H4sIAAAAAAAAA3SUTW/bMAyG7/kVhC7dgKTIR7umuRUFBuSwAQO6YcM8JIpEx2xlSRXptFnR/z7I + +d66iw96yZcPaUovHQBFVk1AmUqLqaPr3XyZ4tfPj6tydPXxB6Zvz/276afFtH68Hd3+Vt2cERb3 + aGSXdW5CHR0KBb+RTUItmF0HV6P+eDS4vO63Qh0supy2jNK7CL1hf3jR6497/Q/bxCqQQVYT+NkB + AHhpvxnRW3xWE2ht2pMamfUS1WQfBKBScPlEaWZi0V5U9yCa4AV9Sz2fz+85+MK/FB6gUNzUtU7r + Qk2gULeh8YKp1EYa7Rh0QrDIJtECLWgGF4x2QDkoJhSdG2cgD1IhtFWeBUIJ+BydJq8XDuFmCu++ + 30zfd6FG7ckvc/B6FwIc0VBJBshnboN8DncVQmtlAzL4IG00GRK3BhYtCE8VSoUJzBvI2mSuXLwL + i0aAtkY1+iyAVFogeMykGVyLJFo0ggwSAFfaNblES+h3PTKcHfmewVNFpgLNDwxU5hLEYBzqBFV4 + AvKxEShRS5OQM6WzsEAwlfZLtLlOHSyV6xYgNBIbyX0TA9XRUUbJlH+3dzAKnsliyv9lj5VJ2uHG + FFZkcQu0bMjmyULwLZwE0E4wbSjbprWpCFcIlsoSE3rJTCbUyOeF6m5WJaHDVfaZsQkJNyszLlTh + Xws/n8+PNy5h2bDOC+8b57bnr/sVdmEZU1jwVt+fl+SJq1lCzcHndWUJUbXqawfgV3tVmpPtVzGF + OspMwgP6bDgY9q82hupwO0/krSpBtDsSRsNd3onlzKJocnx035TRpkJ7yO13jvr7t+xbFpseyS+P + XPZz0MZgFLSzmNCSOe3gEJYwP0b/C9uPreVSvGbBelaSX+bbS5v3oIyzweW1HY8uBsaozmvnDwAA + AP//AwBus0btGAUAAA== headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b04ea9b1167f2-SJC + - 8ddeee3dfbd0cf0d-SJC Connection: - keep-alive Content-Encoding: @@ -3826,15 +4017,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:12 GMT + - Tue, 05 Nov 2024 18:33:12 GMT Server: - cloudflare - Set-Cookie: - - __cf_bm=Lv9GZCs.5eKoZnqi2QvqHqOjGnmEKh_ROmbDQB7D99k-1729616172-1.0.1.1-EsTzrJObMAIT0v93whghqhB_BwJ8E0LzjBxGj8.GJpdjREyHRACDVZoSUk2FK1zwlBzy3zzhQrGZuQShfg.IpQ; - path=/; expires=Tue, 22-Oct-24 17:26:12 GMT; domain=.api.openai.com; HttpOnly; - Secure; SameSite=None - - _cfuvid=JPKMFa27Doj4rQ7RcEAY8oG_uJue1BTbPYpaPsrApOQ-1729616172994-0.0.1.1-604800000; - path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None Transfer-Encoding: - chunked X-Content-Type-Options: @@ -3846,7 +4031,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "2225" + - "2013" openai-version: - "2020-10-01" strict-transport-security: @@ -3856,15 +4041,15 @@ interactions: x-ratelimit-limit-tokens: - "30000000" x-ratelimit-remaining-requests: - - "9997" + - "9999" x-ratelimit-remaining-tokens: - - "29996682" + - "29998532" x-ratelimit-reset-requests: - - 15ms - x-ratelimit-reset-tokens: - 6ms + x-ratelimit-reset-tokens: + - 2ms x-request-id: - - req_cc5a41e053c1648f755726f876666863 + - req_d50a1eca806a132e29c8684b485b06eb status: code: 200 message: OK @@ -3876,73 +4061,75 @@ interactions: \"...\"\n}\n\nwhere `summary` is relevant information from text - about 100 words words and `relevance_score` is the relevance of `summary` to answer question (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon - pages 14-16: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew - D. White. A perspective on explanations of molecular prediction models. Unknown - journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\n----\n\nand - counterfactual examples are in the\n\napplication, although both are derived - from the same optimization problem.100 Grabocka\n\net al. 111 have developed - a method named Adversarial Training on EXplanations (ATEX)\n\nwhich improves - model robustness via exposure to adversarial examples. While there are\n\nconceptual - disparities, we note that the counterfactual and adversarial explanations are\n\nequivalent - mathematical objects.\n\n Matched molecular pairs (MMPs) are pairs of molecules - that differ structurally at only\n\none site by a known transformation.112,113 - MMPs are widely used in drug discovery and\n\nmedicinal chemistry as these facilitate - fast and easy understanding of structure-activity re-\n\nlationships.114\u2013116 - Counterfactuals and MMP examples intersect if the structural change is\n\nassociated - with a significant change in the properties. In the case the associated changes - in\n\nthe properties are non-significant, the two molecules are known as bioisosteres.117,118 - The con-\n\nnection between MMPs and adversarial training examples has been - explored by van Tilborg\n\net al. 119. MMPs which belong to the counterfactual - category are commonly used in outlier\n\nand activity cliff detection.113 This - approach is analogous to counterfactual explanations,\n\nas the common objective - is to uncover learned knowledge pertaining to structure-property\n\nrelationships.70\n\n\nApplications\n\n\nModel - interpretation is certainly not new and a common step in ML in chemistry, but - XAI for\n\nDL models is becoming more important60,66\u201369,73,88,104,105 Here - we illustrate some practical\n\nexamples drawn from our published work on how - model-agnostic XAI can be utilized to\n\n\n\n 14interpret - black-box models and connect the explanations to structure-property relationships.\n\nThe - methods are \u201cMolecular Model Agnostic Counterfactual Explanations\u201d - (MMACE)9\n\nand \u201cExplaining molecular properties with natural language\u201d.10 - Then we demonstrate how\n\ncounterfactuals and descriptor explanations can propose - structure-property relationships in\n\nthe domain of molecular scent.31\n\n\nBlood-brain - barrier permeation prediction\n\n\nThe passive diffusion of drugs from the blood - stream to the brain is a critical aspect in drug\n\ndevelopment and discovery.120 - Small molecule blood-brain barrier (BBB) permeation is a\n\nclassification problem - routinely assessed with DL models.121,122 To explain why DL models\n\nwork, - we trained two models a random forest (RF) model123 and a Gated Recurrent Unit\n\nRecurrent - Neural Network (GRU-RNN). Then we explained the RF model with generated\n\ncounterfactuals - explanations using the MMACE9 and the GRU-RNN with descriptor expla-\n\nnations.10 - Both the models were trained on the dataset developed by Martins et al. 124. - The\n\nRF model was implemented in Scikit-learn125 using Mordred molecular descriptors126 - as the\n\ninput features. The GRU-RNN model was implemented in Keras.127 See - Wellawatte et al. 9\n\nand Gandhi and White 10 for more details.\n\n According - to the counterfactuals of the instance molecule in figure 1, we observe that - the\n\nmodifications to the carboxylic acid group enable the negative example - molecule to permeate\n\nthe BBB. Experimental findings by Fischer et al. 120 - show that the BBB permeation of\n\nmolecules are governed by hydrophobic interactions - and surface area. The carboxylic group is\n\na hydrophilic functional group - which hinders hydrophobic interactions and addition of atoms\n\nenhances the - surface area. This proves the advantage of using counterfactual explanations,\n\nas - they suggest actionable modification to the molecule to make it cross the BBB.\n\n In - Figure 2 we show descriptor explanations generated for Alprozolam, a molecule - that\n\npermeates the BBB, using the method described by Gandhi and White 10. - We see that\n\npredicted permeability is positively correlated with the aromaticity - of the molecule, while\n\n\n 15negatively - correlated with the number of hydrogen bonds donors and acceptors. A similar\n\nstructure-property - relationship for BBB permeability is proposed in more mechanistic stud-\n\nies.128\u2013130 - The substructure attributions indicates a reduction in hydrogen bond donors - and\n\nacceptors. These descriptor explanations are quantitative and interpretable - by chemists.\n\nFinally, we can use a natural language model to summarize the - findings into a written\n\nexplanation, as shown in the printed text in Figure - 2.\n\n\n\n\n\nFigure 1: Counterfactuals of a molecule which cannot permeate - the blood-brain barrier.\nSimilarity is the Tanimoto similarity of ECFP4 fingerprints.131 - Red indicates deletions and\ngreen indicates substitutions and addition of atoms. - Republished from Ref.9 with permission\nfrom the Royal Society of Chemistry.\n\n\n\nSolubility - prediction\n\n\nSmall molecule solubility prediction is a classic cheminformatics - regression challenge and is\n\nimportant for chemical process design, drug design - and crystallization.133\u2013136 In our previous\n\nworks,9,10 we implemented - and trained an R\n\n----\n\nQuestion: Are counterfactuals actionable? [yes/no]\n\n"}], - "model": "gpt-4o-2024-08-06", "stream": false, "temperature": 0.0}' + pages 25-27: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew + D. White. A perspective on explanations of molecular prediction models. ChemRxiv, + Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02. + This article has 1 citations.\n\n----\n\nning: machine intelligence approach + for drug discovery.\n\n Molecular diversity 2021, 25, 1315\u20131360.\n\n\n + (9) Wellawatte, G. P.; Seshadri, A.; White, A. D. Model agnostic generation + of counter-\n\n factual explanations for molecules. Chemical Science 2022, + 13, 3697\u20133705.\n\n\n(10) Gandhi, H. A.; White, A. D. Explaining structure-activity + relationships using locally\n\n faithful surrogate models. chemrxiv 2022,\n\n\n(11) + Gormley, A. J.; Webb, M. A. Machine learning in combinatorial polymer chemistry.\n\n Nature + Reviews Materials 2021,\n\n\n(12) Gomes, C. P.; Fink, D.; Dover, R. B. V.; Gregoire, + J. M. Computational sustainability\n\n meets materials science. Nature Reviews + Materials 2021,\n\n\n(13) On scientific understanding with artificial intelligence. + Nature Reviews Physics 2022\n\n 4:12 2022, 4, 761\u2013769.\n\n\n(14) Arrieta, + A. B.; D\u00b4\u0131az-Rodr\u00b4\u0131guez, N.; Ser, J. D.; Bennetot, A.; Tabik, + S.; Barbado, A.;\n\n Garcia, S.; Gil-Lopez, S.; Molina, D.; Benjamins, R.; + Chatila, R.; Herrera, F. Explain-\n\n able Artificial Intelligence (XAI): + Concepts, Taxonomies, Opportunities and Chal-\n\n lenges toward Responsible + AI. Information Fusion 2019, 58, 82\u2013115.\n\n\n(15) Murdoch, W. J.; Singh, + C.; Kumbier, K.; Abbasi-Asl, R.; Yu, B. Interpretable machine\n\n learning: + definitions, methods, and applications. ArXiv 2019, abs/1901.04592.\n\n 25(16) + Boobier, S.; Osbourn, A.; Mitchell, J. B. Can human experts predict solubility + better\n\n than computers? Journal of cheminformatics 2017, 9, 1\u201314.\n\n\n(17) + Lee, J. D.; See, K. A. Trust in automation: Designing for appropriate reliance. + Human\n\n Factors 2004, 46, 50\u201380.\n\n\n(18) Bolukbasi, T.; Chang, + K.-W.; Zou, J. Y.; Saligrama, V.; Kalai, A. T. Man is to com-\n\n puter + programmer as woman is to homemaker? debiasing word embeddings. Advances\n\n in + neural information processing systems 2016, 29.\n\n\n(19) Buolamwini, J.; Gebru, + T. Gender Shades: Intersectional Accuracy Disparities in\n\n Commercial + Gender Classification. Proceedings of the 1st Conference on Fairness,\n\n Accountability + and Transparency. 2018; pp 77\u201391.\n\n\n(20) Lapuschkin, S.; W\u00a8aldchen, + S.; Binder, A.; Montavon, G.; Samek, W.; M\u00a8uller, K.-R.\n\n Unmasking + Clever Hans predictors and assessing what machines really learn. Nature\n\n communications + 2019, 10, 1\u20138.\n\n\n(21) DeGrave, A. J.; Janizek, J. D.; Lee, S.-I. AI + for radiographic COVID-19 detection\n\n selects shortcuts over signal. + Nature Machine Intelligence 2021, 3, 610\u2013619.\n\n\n(22) Goodman, B.; Flaxman, + S. European Union regulations on algorithmic decision-\n\n making and a \u201cright + to explanation\u201d. AI Magazine 2017, 38, 50\u201357.\n\n\n(23) ACT, A. I. + European Commission. On Artificial Intelligence: A European Approach\n\n to + Excellence and Trust. 2021, COM/2021/206.\n\n\n(24) Blueprint for an AI Bill + of Rights, The White House. 2022; https://www.whitehouse.\n\n gov/ostp/ai-bill-of-rights/.\n\n\n(25) + Miller, T. Explanation in artificial intelligence: Insights from the social + sciences. Ar-\n\n tificial intelligence 2019, 267, 1\u201338.\n\n\n\n 26(26) + Murdoch, W. J.; Singh, C.; Kumbier, K.; Abbasi-Asl, R.; Yu, B. Definitions, + meth-\n\n ods, and applications in interpretable machine learning. Proceedings + of the National\n\n Academy of Sciences of the United States of America 2019, + 116, 22071\u201322080.\n\n\n(27) Gunning, D.; Aha, D. DARPA\u2019s Explainable + Artificial Intelligence (XAI) Program.\n\n AI Magazine 2019, 40, 44\u201358.\n\n\n(28) + Biran, O.; Cotton, C. Explanation and justification in machine learning: A survey.\n\n IJCAI-17 + workshop on explainable AI (XAI). 2017; pp 8\u201313.\n\n\n(29) Palacio, S.; + Lucieri, A.; Munir, M.; Ahmed, S.; Hees, J.; Dengel, A. Xai handbook:\n\n Towards + a unified framework for explainable ai. Proceedings of the IEEE/CVF Inter-\n\n national + Conference on Computer Vision. 2021; pp 3766\u20133775.\n\n\n(30) Kuhn, D. R.; + Kacker, R. N.; Lei, Y.; Simos, D. E. Combinatorial Methods for Ex-\n\n plainable + AI. 2020 IEEE International Conference on Software Testing, Verification\n\n and + Validation Workshops (ICSTW) 2020, 167\u2013170.\n\n\n(31) Seshadri, A.; Gandhi, + H. A.; Wellawatte, G. P.; White, A. D. Why does that molecule\n\n smell? + ChemRxiv 2022,\n\n\n(32) Das, A.; Rad, P. Opportunities and challenges in explainable + artificial intelligence\n\n (xai): A survey. arXiv preprint arXiv:2006.11371 + 2020,\n\n\n(33) Machlev, R.; Heistrene, L.; Perl, M.; Levy, K. Y.; Belikov, + J.; Mannor, S.; Levron, Y.\n\n Explainable Artificial Intelligence (XAI) + techniques for energy and power systems:\n\n Review, challenges and opportunities. + Energy and AI 2022, 9, 100169.\n\n\n(34) Koh, P. W.; Liang, P. Understanding + black-box predictions via influence functions.\n\n International Conference + on Machine Learning. 2017; pp 1885\u20131894.\n\n\n(35) Ribeiro, M. T.; Singh, + S.; Guestrin, C. \u201d Why should i trust you?\u201d Explaining the\n\n predictions + of any classifier. Proceedings of the 22nd ACM SIGKDD international\n\n \n\n----\n\nQuestion: + Are counterfactuals actionable? [yes/no]\n\n"}], "model": "gpt-4o-2024-08-06", + "stream": false, "temperature": 0.0}' headers: accept: - application/json @@ -3951,7 +4138,7 @@ interactions: connection: - keep-alive content-length: - - "6082" + - "6231" content-type: - application/json host: @@ -3973,29 +4160,30 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/chat/completions response: body: string: !!binary | - H4sIAAAAAAAAA2xTTW/bMAy951cQOm1AEuSraZvbkmEYsA07bLdlCGiJsbnJoiHJXYIi/32Q7KZJ - 24th8JHvPVLk4wBAsVErULrCqOvGjj583fw4fJl9v/k517j5qDdHq3kT7z/Hb7OohqlCij+k41PV - WEvdWIosroO1J4yUWKe3s/vldDm9nWagFkM2lZVNHC1kNJvMFqPJ3Wiy7AsrYU1BreDXAADgMX+T - RWfooFYwGT5FagoBS1KrcxKA8mJTRGEIHCK6zm4PanGRXHb9uHUAWxXaukZ/3KoVbNVGWhfJ71HH - Fi3QobHoMDUVAD0B6vSPhSXAALGiI4S2LClEqMXwnnWfHAVqsaRbSykPI2h0YAlNggwF9mRA2qil - pjCGT+KBXbKraQjsEjdks4cIsofCiphR4ZEdFOg9k4d36/X6PTTka8qqQ9BX9gOwM8kR9Q4qdCVl - b5kdfSGHo2UNqNlA6aVtsk3qOzy3kEp6Hcq16/V6DD8rDsABCtLYBnpJ2vFxgOpovDQVZyVnoEoP - 6c9xKVgDJ9/ddMMQ/lWsqzxw7VvNaGEvPoledDuG9bEb+pFdmcUv7ZKr0iwhtGkclMgwq3syraYr - U9fiL4fYeHlgc/X27AKXVQzZFtc5w5VP+uhTTUM+MoXxVg27RfNk6SF52gUtnrqFm062autOlyvq - ad8GTBfiWmv7+Om881bKxksRevwc37PjUO08YRCX9jtEaVRGTwOA3/m22qtzUY2Xuom7KH/JJcLp - bL7sCNXzOV/A81mPRoloL4Hl3fANyp2hiGzDxYEqjboi81w7GVz091r2LYquR3blK5ZBz6TCMUSq - d3t2JfnGc3fy+2a3uNFLQ4v7+UINToP/AAAA//8DAAVnyRb7BAAA + H4sIAAAAAAAAA3xUTW/bOBC9+1cMeOlFDmQndby+7cdhd4EWKBokh3phjMmRyJYiBc7Ijhvkvxek + HNvZZveiwzzOm/ceOXqaAChn1AqUtii66/30109/0f3Hr+H+b6yTN/e75Z+1/u3uj4/f7xd3qsod + cfuVtLx0XenY9Z7ExTDCOhEKZdbZ7XW9vJ69/2VWgC4a8rmt7WV6E6fzen4zrZfTenFstNFpYrWC + LxMAgKfyzRKDoUe1grp6qXTEjC2p1ekQgErR54pCZseCQVR1BnUMQqGofloHgLXioeswHdZqBWt1 + ZwnoUVPqBRI1lChoYkDYx/QNtgd4IO9xjyJUwWdiiya5CjAYeLBOCGKAdx+yQcA2RBanoaVACXMw + EBvQcQhCqUEtA3qgx95jKChDExN00ZMePPE76Ietd2zJgAvwu6XOafTwWbssKtfm9Xx+BXfWMfDQ + tsTCIBblf4dgIhh4JBVLUBJ5lKztOBsT9ImM00VzuS6uYG+dtuC63jvKY+hQqAyxawMZkAh9ijtn + sjR2rRUGFySCjXvQFkNLuQAu9IPADpPDrSfOWr0BT1gojGtK6gJxEB074qucrKei9eVqTCSGEKU4 + c9qJPwALCsHeklhK/0pgdI3FUJ5aFbaB6ecbKRpLYC640I72L/J4FTUdQGOA7TFRiaUzvpp16f0c + MEsatAwpRxkBtXW0G8NMZM7e16oaX2kiTzsMmjasY6LxtS7Xah2eL593omZgzNsVBu+P9efTvvjY + 9ilu+Yif6o0Lju0mEXIMeTdYYq8K+jwB+Kfs5fBq1VSfYtfLRuI3CplwtljOR0J1/hVcwNeLIypR + 0F8Ay9myeoNyY0jQeb5YbqVRWzLn3npy4e/nsW9RjB5daC9YTjmg1tQLmc35vt86lij/+f7r2Cm2 + okvxgYW6TeNCS6lPbvz5NP0Gb029oJs53qrJ8+QHAAAA//8DAPegJ+iFBQAA headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b04ea9ad5cfe5-SJC + - 8ddeee437842176b-SJC Connection: - keep-alive Content-Encoding: @@ -4003,15 +4191,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:14 GMT + - Tue, 05 Nov 2024 18:33:13 GMT Server: - cloudflare - Set-Cookie: - - __cf_bm=D0TstcbDQV0BHL8nrhuHENY_Wbgd7oEpQvTjcOmLyhE-1729616174-1.0.1.1-9VTdkSk4hY.GvJe6TLfQOUem7XNYjNVLcRef.._blXKitkIgLmjOHGBpvnwcPmH.kBzp_7X628RkKSn27wQfDQ; - path=/; expires=Tue, 22-Oct-24 17:26:14 GMT; domain=.api.openai.com; HttpOnly; - Secure; SameSite=None - - _cfuvid=vcz7xc4bvkXrnkdVbwX4oi3brKutnYNzFl8LYzexgvw-1729616174278-0.0.1.1-604800000; - path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None Transfer-Encoding: - chunked X-Content-Type-Options: @@ -4023,7 +4205,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "3165" + - "2566" openai-version: - "2020-10-01" strict-transport-security: @@ -4033,15 +4215,15 @@ interactions: x-ratelimit-limit-tokens: - "30000000" x-ratelimit-remaining-requests: - - "9997" + - "9999" x-ratelimit-remaining-tokens: - - "29997967" + - "29998529" x-ratelimit-reset-requests: - - 16ms + - 6ms x-ratelimit-reset-tokens: - - 4ms + - 2ms x-request-id: - - req_e5baf26ba8cc274c263f8e3afe2b1f06 + - req_ab3861f59733a3c03442f77732c17465 status: code: 200 message: OK @@ -4053,247 +4235,72 @@ interactions: \"...\"\n}\n\nwhere `summary` is relevant information from text - about 100 words words and `relevance_score` is the relevance of `summary` to answer question (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon - pages 3-5: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew D. - White. A perspective on explanations of molecular prediction models. Unknown - journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\n----\n\npassive - characteristic of a model, whereas explainability\n\nis an active characteristic - which is used to clarify the internal decision-making process.\n\nNamely, an - explanation is extra information that gives the context and a cause for one - or\n\nmore predictions.29 We adopt the same nomenclature in this perspective.\n\n Accuracy - and interpretability are two attractive characteristics of DL models. However,\n\nDL - models are often highly accurate and less interpretable.28,30 XAI provides a - way to avoid\n\nthat trade-off in chemical property prediction. XAI can be viewed - as a two-step process.\n\nFirst, we develop an accurate but uninterpretable - DL model. Next, we add explanations to\n\npredictions. Ideally, if the DL model - has correctly learned the input-output relations, then\n\nthe explanations should - give insight into the underlying mechanism.\n\n In the remainder of this article, - we review recent approaches for XAI of chemical property\n\nprediction while - drawing specific examples from our recent XAI work.9,10,31 We show how\n\nin - various systems these methods yield explanations that are consistent with known - and\n\nmechanisms in structure-property relationships.\n\n\n\n\n\n 3Theory\n\n\nIn - this work, we aim to assemble a common taxonomy for the landscape of XAI while\n\nproviding - our perspectives. We utilized the vocabulary proposed by Das and Rad 32 to classify\n\nXAI. - According to their classification, interpretations can be categorized as global - or local\n\ninterpretations on the basis of \u201cwhat is being explained?\u201d. - For example, counterfactuals are\n\nlocal interpretations, as these can explain - only a given instance. The second classification is\n\nbased on the relation - between the model and the interpretation \u2013 is interpretability post-hoc\n\n(extrinsic) - or intrinsic to the model?.32,33 An intrinsic XAI method is part of the model\n\nand - is self-explanatory32 These are also referred to as white-box models to contrast - them\n\nwith non-interpretable black box models.28 An extrinsic method is one - that can be applied\n\npost-training to any model.33 Post-hoc methods found - in the literature focus on interpreting\n\nmodels through 1) training data34 - and feature attribution,35 2) surrogate models10 and, 3)\n\ncounterfactual9 - or contrastive explanations.36\n\n Often, what is a \u201cgood\u201d explanation - and what are the required components of an ex-\n\nplanation are debated.32,37,38 - Palacio et al. 29 state that the lack of a standard framework\n\nhas caused - the inability to evaluate the interpretability of a model. In physical sciences,\n\nwe - may instead consider if the explanations somehow reflect and expand our understanding\n\nof - physical phenomena. For example, Oviedo et al. 39 propose that a model explanation\n\ncan - be evaluated by considering its agreement with physical observations, which - they term\n\n\u201ccorrectness.\u201d For example, if an explanation suggests - that polarity affects solubility of a\n\nmolecule, and the experimental evidence - strengthen the hypothesis, then the explanation\n\nis assumed \u201ccorrect\u201d. - In instances where such mechanistic knowledge is sparse, expert bi-\n\nases - and subjectivity can be used to measure the correctness.40 Other similar metrics - of\n\ncorrectness such as \u201cexplanation satisfaction scale\u201d can be - found in the literature.41,42 In a\n\nrecent study, Humer et al. 43 introduced - CIME an interactive web-based tool that allows the\n\nusers to inspect model - explanations. The aim of this study is to bridge the gap between\n\nanalysis - of XAI methods. Based on the above discussion, we identify that an agreed upon\n\n\n 4evaluation - metric is necessary in XAI. We suggest the following attributes can be used - to\n\nevaluate explanations. However, the relative importance of each attribute - may depend on\n\nthe application - actionability may not be as important as - faithfulness when evaluating the\n\ninterpretability of a static physics based - model. Therefore, one can select relative importance\n\nof each attribute based - on the application.\n\n \u2022 Actionable. Is it clear how we could change - the input features to modify the output?\n\n \u2022 Complete. Does the explanation - completely account for the prediction? Did features\n\n not included in - the explanation really contribute zero effect to the prediction?44\n\n \u2022 - Correct. Does the explanation agree with hypothesized or known underlying physical\n\n mechanism?39\n\n \u2022 - Domain Applicable. Does the explanation use language and concepts of domain - ex-\n\n perts?\n\n \u2022 Fidelity/Faithful. Does the explanation agree - with the black box model?\n\n \u2022 Robust. Does the explanation change significantly - with small changes to the model or\n\n instance being explained?\n\n \u2022 - Sparse/Succinct. Is the explanation succinct?\n\n\n We present an example evaluation - of the SHAP explanation method based on the above\n\nattributes.44 Shapley values - were proposed as a local explanation method based on feature\n\nattribution, - as they offer a complete explanation - each feature is assign\n\n----\n\nQuestion: - Are counterfactuals actionable? [yes/no]\n\n"}], "model": "gpt-4o-2024-08-06", - "stream": false, "temperature": 0.0}' - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate - connection: - - keep-alive - content-length: - - "6124" - content-type: - - application/json - host: - - api.openai.com - user-agent: - - AsyncOpenAI/Python 1.46.1 - x-stainless-arch: - - arm64 - x-stainless-async: - - async:asyncio - x-stainless-lang: - - python - x-stainless-os: - - MacOS - x-stainless-package-version: - - 1.46.1 - x-stainless-raw-response: - - "true" - x-stainless-runtime: - - CPython - x-stainless-runtime-version: - - 3.12.7 - method: POST - uri: https://api.openai.com/v1/chat/completions - response: - body: - string: !!binary | - H4sIAAAAAAAAAwAAAP//bFTBbttIDL37K4i5dBeQAzsJnMa3oAWKAj3sYgukwGph0yNKYjua0Q45 - dpQg/74YyU4cZC+GwEc+PpLz/DQDMFyZNRjbotqud/O7b5/+eqT6/rD6Ywh/Dp/52/3j7f77lx// - 4uMXU+SKsPtJVk9VFzZ0vSPl4CfYRkKlzLq8ubxdLVfLm6sR6EJFLpc1vc6vw/xycXk9X3ycL1bH - wjawJTFr+HsGAPA0/maJvqIHs4ZFcYp0JIINmfVLEoCJweWIQREWRa+meAVt8Ep+VL3dbn9K8KV/ - Kj1AaSR1HcahNGsozaeQvFKs0WpCJ4CRoCKxkXdUAQq4YNEB56Q+kmIeXIA9aEswdnlQCDXQQ++Q - Pe4cwd1X+O3H3dffC+gIPfsmJw9g0Z/SIHg3AELDe/LAPuu3dAHfW4KRsWKxSYRk7IOqkXdJSSAJ - VaABaI8uodLE6CddBbC3LlW5Jdocwh071qGAQ8u2hUg1Rcn1h5a0pQiswALWEUZowwHY90mhJtQU - ScCG5CrYEdgWfTO17kLF9TAKC0n7pBdw37KjMTKpDyTgg47i2LK6AUSzWm1RM+m7pZ/kOipGnopq - 9pxjebtvhgHuesfjat6TnSbNnUMk+HDISVx/ALHkMXKQ4myq4IUrivnWLwLy2ceDSWoaEj3OPq5t - XM/4hbZl2hNUXNcUyWtehg0dyUVpiumpRXK0z5fdiA2Rpif3sTSlfy79drs9f7GR6iSYDeOTc8f4 - 84sFXGj6GHZyxF/ieUvSbiKhBJ+fu2jozYg+zwD+Ga2W3rjH9DF0vW40/CKfCZfL29uJ0Ly6+wy+ - Wh5RDYruHLg6evQt5aYiRXZy5ldj0bZUvdYuZmfzvW/7fxTTjOybdyyzI5ORQZS6Tc2+yX7l6R+g - 7jd4Uy1WdH2JN2b2PPsPAAD//wMAGTfQpwoFAAA= - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 8d6b04f83d0ecef5-SJC - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 22 Oct 2024 16:56:15 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Content-Type-Options: - - nosniff - access-control-expose-headers: - - X-Request-ID - alt-svc: - - h3=":443"; ma=86400 - openai-organization: - - future-house-xr4tdh - openai-processing-ms: - - "1811" - openai-version: - - "2020-10-01" - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-ratelimit-limit-requests: - - "10000" - x-ratelimit-limit-tokens: - - "30000000" - x-ratelimit-remaining-requests: - - "9999" - x-ratelimit-remaining-tokens: - - "29998538" - x-ratelimit-reset-requests: - - 6ms - x-ratelimit-reset-tokens: - - 2ms - x-request-id: - - req_ddb49f5f59c14024479c992b6bf11b27 - status: - code: 200 - message: OK - - request: - body: - '{"messages": [{"role": "system", "content": "Provide a summary of the relevant - information that could help answer the question based on the excerpt. Respond - with the following JSON format:\n\n{\n \"summary\": \"...\",\n \"relevance_score\": - \"...\"\n}\n\nwhere `summary` is relevant information from text - about 100 - words words and `relevance_score` is the relevance of `summary` to answer question - (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon - pages 25-27: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew - D. White. A perspective on explanations of molecular prediction models. Unknown - journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\n----\n\nning: - machine intelligence approach for drug discovery.\n\n Molecular diversity - 2021, 25, 1315\u20131360.\n\n\n (9) Wellawatte, G. P.; Seshadri, A.; White, - A. D. Model agnostic generation of counter-\n\n factual explanations for - molecules. Chemical Science 2022, 13, 3697\u20133705.\n\n\n(10) Gandhi, H. A.; - White, A. D. Explaining structure-activity relationships using locally\n\n faithful - surrogate models. chemrxiv 2022,\n\n\n(11) Gormley, A. J.; Webb, M. A. Machine - learning in combinatorial polymer chemistry.\n\n Nature Reviews Materials - 2021,\n\n\n(12) Gomes, C. P.; Fink, D.; Dover, R. B. V.; Gregoire, J. M. Computational - sustainability\n\n meets materials science. Nature Reviews Materials 2021,\n\n\n(13) - On scientific understanding with artificial intelligence. Nature Reviews Physics - 2022\n\n 4:12 2022, 4, 761\u2013769.\n\n\n(14) Arrieta, A. B.; D\u00b4\u0131az-Rodr\u00b4\u0131guez, - N.; Ser, J. D.; Bennetot, A.; Tabik, S.; Barbado, A.;\n\n Garcia, S.; Gil-Lopez, - S.; Molina, D.; Benjamins, R.; Chatila, R.; Herrera, F. Explain-\n\n able - Artificial Intelligence (XAI): Concepts, Taxonomies, Opportunities and Chal-\n\n lenges - toward Responsible AI. Information Fusion 2019, 58, 82\u2013115.\n\n\n(15) Murdoch, - W. J.; Singh, C.; Kumbier, K.; Abbasi-Asl, R.; Yu, B. Interpretable machine\n\n learning: - definitions, methods, and applications. ArXiv 2019, abs/1901.04592.\n\n 25(16) - Boobier, S.; Osbourn, A.; Mitchell, J. B. Can human experts predict solubility - better\n\n than computers? Journal of cheminformatics 2017, 9, 1\u201314.\n\n\n(17) - Lee, J. D.; See, K. A. Trust in automation: Designing for appropriate reliance. - Human\n\n Factors 2004, 46, 50\u201380.\n\n\n(18) Bolukbasi, T.; Chang, - K.-W.; Zou, J. Y.; Saligrama, V.; Kalai, A. T. Man is to com-\n\n puter - programmer as woman is to homemaker? debiasing word embeddings. Advances\n\n in - neural information processing systems 2016, 29.\n\n\n(19) Buolamwini, J.; Gebru, - T. Gender Shades: Intersectional Accuracy Disparities in\n\n Commercial - Gender Classification. Proceedings of the 1st Conference on Fairness,\n\n Accountability - and Transparency. 2018; pp 77\u201391.\n\n\n(20) Lapuschkin, S.; W\u00a8aldchen, - S.; Binder, A.; Montavon, G.; Samek, W.; M\u00a8uller, K.-R.\n\n Unmasking - Clever Hans predictors and assessing what machines really learn. Nature\n\n communications - 2019, 10, 1\u20138.\n\n\n(21) DeGrave, A. J.; Janizek, J. D.; Lee, S.-I. AI - for radiographic COVID-19 detection\n\n selects shortcuts over signal. - Nature Machine Intelligence 2021, 3, 610\u2013619.\n\n\n(22) Goodman, B.; Flaxman, - S. European Union regulations on algorithmic decision-\n\n making and a \u201cright - to explanation\u201d. AI Magazine 2017, 38, 50\u201357.\n\n\n(23) ACT, A. I. - European Commission. On Artificial Intelligence: A European Approach\n\n to - Excellence and Trust. 2021, COM/2021/206.\n\n\n(24) Blueprint for an AI Bill - of Rights, The White House. 2022; https://www.whitehouse.\n\n gov/ostp/ai-bill-of-rights/.\n\n\n(25) - Miller, T. Explanation in artificial intelligence: Insights from the social - sciences. Ar-\n\n tificial intelligence 2019, 267, 1\u201338.\n\n\n\n 26(26) - Murdoch, W. J.; Singh, C.; Kumbier, K.; Abbasi-Asl, R.; Yu, B. Definitions, - meth-\n\n ods, and applications in interpretable machine learning. Proceedings - of the National\n\n Academy of Sciences of the United States of America 2019, - 116, 22071\u201322080.\n\n\n(27) Gunning, D.; Aha, D. DARPA\u2019s Explainable - Artificial Intelligence (XAI) Program.\n\n AI Magazine 2019, 40, 44\u201358.\n\n\n(28) - Biran, O.; Cotton, C. Explanation and justification in machine learning: A survey.\n\n IJCAI-17 - workshop on explainable AI (XAI). 2017; pp 8\u201313.\n\n\n(29) Palacio, S.; - Lucieri, A.; Munir, M.; Ahmed, S.; Hees, J.; Dengel, A. Xai handbook:\n\n Towards - a unified framework for explainable ai. Proceedings of the IEEE/CVF Inter-\n\n national - Conference on Computer Vision. 2021; pp 3766\u20133775.\n\n\n(30) Kuhn, D. R.; - Kacker, R. N.; Lei, Y.; Simos, D. E. Combinatorial Methods for Ex-\n\n plainable - AI. 2020 IEEE International Conference on Software Testing, Verification\n\n and - Validation Workshops (ICSTW) 2020, 167\u2013170.\n\n\n(31) Seshadri, A.; Gandhi, - H. A.; Wellawatte, G. P.; White, A. D. Why does that molecule\n\n smell? - ChemRxiv 2022,\n\n\n(32) Das, A.; Rad, P. Opportunities and challenges in explainable - artificial intelligence\n\n (xai): A survey. arXiv preprint arXiv:2006.11371 - 2020,\n\n\n(33) Machlev, R.; Heistrene, L.; Perl, M.; Levy, K. Y.; Belikov, - J.; Mannor, S.; Levron, Y.\n\n Explainable Artificial Intelligence (XAI) - techniques for energy and power systems:\n\n Review, challenges and opportunities. - Energy and AI 2022, 9, 100169.\n\n\n(34) Koh, P. W.; Liang, P. Understanding - black-box predictions via influence functions.\n\n International Conference - on Machine Learning. 2017; pp 1885\u20131894.\n\n\n(35) Ribeiro, M. T.; Singh, - S.; Guestrin, C. \u201d Why should i trust you?\u201d Explaining the\n\n predictions - of any classifier. Proceedings of the 22nd ACM SIGKDD international\n\n \n\n----\n\nQuestion: - Are counterfactuals actionable? [yes/no]\n\n"}], "model": "gpt-4o-2024-08-06", - "stream": false, "temperature": 0.0}' + pages 12-14: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew + D. White. A perspective on explanations of molecular prediction models. ChemRxiv, + Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02. + This article has 1 citations.\n\n----\n\nounterfac-\n\n\n 11tual + explanations. Unlike the counterfactual approach, contrastive approach employ + a dual\n\noptimization method, which works by generating a similar and a dissimilar + (counterfactuals)\n\nexample. Contrastive explanations can interpret the model + by identifying contribution of\n\npresence and absence of subsets of features + towards a certain prediction.36,99\n\n A counterfactual x\u2032 of an instance + x is one with a dissimilar prediction \u02c6f(x) in classi-\n\nfication tasks. + As shown in equation 5, counterfactual generation can be thought of as a\n\nconstrained + optimization problem which minimizes the vector distance d(x, x\u2032) between + the\n\nfeatures.9,100\n\n\n minimize d(x, x\u2032)\n (5)\n such + that \u02c6f(x) \u0338= \u02c6f(x\u2032)\n\n For regression tasks, equation + 6 adapted from equation 5 can be used. Here, a counter-\n\nfactual is one with + a defined increase or decrease in the prediction.\n\n\n minimize d(x, + x\u2032)\n (6)\n such + that \u02c6f(x) \u2212\u02c6f(x\u2032) \u2265\u2206\n\n Counterfactuals + explanations have become a useful tool for XAI in chemistry, as they\n\nprovide + intuitive understanding of predictions and are able to uncover spurious relationships\n\nin + training data.101 Counterfactuals create local (instance-level), actionable + explanations.\n\nActionability of an explanation suggest which features can + be altered to change the outcome.\n\nFor example, changing a hydrophobic functional + group in a molecule to a hydrophilic group\n\nto increase solubility.\n\n Counterfactual + generation is a demanding task as it requires gradient optimization over\n\ndiscrete + features that represents a molecule. Recent work by Fu et al. 102 and Shen et + al. 103\n\npresent two techniques which allow continuous gradient-based optimization. + Although, these\n\nmethodologies are shown to circumvent the issue of discrete + molecular optimization, counter-\n\nfactual explanation based model interpretation + still remains unexplored compared to other\n\n\n\n 12post-hoc + methods.\n\n CF-GNNExplainer104 is a counterfactual explanation generating + method based on GN-\n\nNExplainer69 for graph data. This method generate counterfactuals + by perturbing the input\n\ndata (removing edges in the graph), and keeping account + of perturbations which lead to\n\nchanges in the output. However, this method + is only applicable to graph-based models\n\nand can generate infeasible molecular + structures. Another related work by Numeroso and\n\nBacciu 105 focus on generating + counterfactual explanations for deep graph networks. Their\n\nmethod MEG (Molecular + counterfactual Explanation Generator) uses a reinforcement learn-\n\ning based + generator to create molecular counterfactuals (molecular graphs). While this\n\nmethod + is able to generate counterfactuals through a multi-objective reinforcement + learner,\n\nthis is not a universal approach and requires training the generator + for each task.\n\n Work by Wellawatte et al. 9 present a model agnostic counterfactual + generator MMACE\n\n(Molecular Model Agnostic Counterfactual Explanations) which + does not require training\n\nor computing gradients. This method firstly populates + a local chemical space through ran-\n\ndom string mutations of SELFIES106 molecular + representations using the STONED algo-\n\nrithm.107 Next, the labels (predictions) + of the molecules in the local space are generated\n\nusing the model that needs + to be explained. Finally, the counterfactuals are identified and\n\nsorted by + their similarities \u2013 Tanimoto distance96 between ECFP4 fingerprints.97 + Unlike the\n\nCF-GNNExplainer104 and MEG105 methods, the MMACE algorithm ensures + that generated\n\nmolecules are valid, owing to the surjective property of SELFIES. + Additionally, the MMACE\n\nmethod can be applied to both regression and classification + models. However, like most XAI\n\nmethods for molecular prediction, MMACE does + not account for the chemical stability of\n\npredicted counterfactuals. To circumvent + this drawback, Wellawatte et al. 9 propose an-\n\nother approach, which identift + counterfactuals through a similarity search on the PubChem\n\ndatabase.108\n\n\n\n\n\n 13Similarity + to adjacent fields\n\n\nTangential examples to counterfactual explanations are + adversarial training and matched\n\nmolecular pairs. Adversarial perturbations + are used during training to deceive the model\n\nto expose the vulnerabilities + of a model109,110 whereas counterfactuals are applied post-hoc.\n\nTherefore, + the main difference between adversarial and counterfactual examples are in the\n\napplication, + although both are derived from the same optimization problem.100 Grabocka\n\net + al. 111 have developed a method named Adversarial Training on EXplanations (ATEX)\n\nwhich + improves model robustness via \n\n----\n\nQuestion: Are counterfactuals actionable? + [yes/no]\n\n"}], "model": "gpt-4o-2024-08-06", "stream": false, "temperature": + 0.0}' headers: accept: - application/json @@ -4302,7 +4309,7 @@ interactions: connection: - keep-alive content-length: - - "6208" + - "6140" content-type: - application/json host: @@ -4324,30 +4331,29 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/chat/completions response: body: string: !!binary | - H4sIAAAAAAAAA3xTwW7bSAy9+yuIufQiB47rOolviwCLYrHbHhKkKKqFTY8oaZLRcDCkYrtB/r0Y - yUncbbEXAeLje3zkkE8TAOMqswJjW1TbRT/94+/rm++f93x3Kf7T3V9f/W3z8ePdn7LrwvJgiszg - 7T1ZfWGdWe6iJ3UcRtgmQqWsen4xv1qeL88v3g9AxxX5TGuiThc8nc/mi+nscjpbHoktO0tiVvBt - AgDwNHyzxVDR3qxgVrxEOhLBhszqNQnAJPY5YlDEiWJQU7yBloNSGFxvNpt74VCGpzIAlEb6rsN0 - KM0KSnPbEtDeUooKiWpKFCwJIOw4PcD2AF/Ie9yhKhVwQ9JilVwBGCr40jol4ADv/smdAjaBRZ2F - hgIlzBMCrsFyH5RSjVZ79ED76DEMqEDNCTr2ZHtP8g5iv/VOWqrABbhuqXMWPdxYl03l2Hw2n5/B - besEpG8aEhXQFvV/i2Ai6GUU1ZZgGM1es7djbUwQE1XODp6Hd5MCdq2zLbgueke5DB0GKRyycOsH - RzHxo6tcaMAFcU2rApwAvVLK9R9JclZF1onjMO3wIefGxJZESM7g+ifno1s9xNy5P4y+laEPFaX8 - yBW0vAPbYmhGaRdir/CIyWVLAhYDeMKBVbl6eFEF7tVyR1LA0YG21P2nFazue9EMcgKO6jr3Pf+9 - mBfYYrbzMqKTmclZaYpxuxJ5esRgaS2WE41bdlmaMjyXYbPZnC5poroXzDcSeu+P8efXrffcxMRb - OeKv8doFJ+06EQqHvOGiHM2APk8A/h2uq//pYExM3EVdKz9QyILny4vFKGjeDvoEnn84osqK/gS4 - uLoqfiO5rkjReTk5UWPRtlS9cWeTk/5+Lfs7ibFHF5pfVCZHJSMHUerWtQsNpZjcePR1XC8+2GVF - i6v3CzN5nvwAAAD//wMAZvmi9f0EAAA= + H4sIAAAAAAAAA3RUy24bMQy8+ysInW3D7wa+FSlaFAUKtMmp3cKWJe4uE60oSFzHRuB/L2RvbKdN + LjpwyBE5Guq5B6DIqiUoU2sxTXCDjz++4t2X2+8/F262CLP7T+inu/382yb8cneqnyt484BGXqqG + hpvgUIj9CTYRtWBmHX+Yjm6m4/nNzRFo2KLLZVWQwYwHk9FkNhjdDEaLrrBmMpjUEn73AACej2du + 0VvcqSWM+i+RBlPSFarlOQlARXY5onRKlER7Uf0LaNgL+mPX6/X6IbEv/HPhAQqV2qbRcV+oJRTq + llsvGEttpNUOcBec9jpPl0BHhNwLWtAmh/TG4RDua9xDiLwlm3FpSWiL0HqLMfdhyVfAJYSIlkxH + 5S2ktqowCTzVZGooUUsbMYHRHjYI2glGtCAMpta+QpAagVsx3OAQPnME3OksfR/Ig6mxoSRx3z+l + 5zs11HsbOdS8IQNl609NO6gityFXaWjYoWkd5nvO+eTIdEnCQD4/aUJI7NoNOZI9UB7hSgUgn6iq + BSxG2qKFMnID5n0xs2yZpGO4sMIj7kGngEayaK8pUh90AhLQzvFTgpIjODbaZQ2y1gYHDrf4z8NJ + reWoa9XmN2rYUknmBWTQpibcIlhMlDXvVE7DQvVPHonocJvpV8lwxJNXxqNCFf5Q+PV6fe21iGWb + dLa6b53r4oezeR1XIfImdfg5XpKnVK+y1uyzUZNwUEf00AP4c1yS9pXvVYjcBFkJP6LPhOPJaHEi + VJe9vILHsw4VFu2ugOmk267XlCuLosmlq01TRpsa7aV21Lua7/9r36I4zUi+umI566CNwSBoV5eF + eSstYv6G3ks7y3bsS6V9EmxWJfkKY4h0+gnKsJrNTTmfWdSoeofeXwAAAP//AwBo7c2OEgUAAA== headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b04f96ae067f2-SJC + - 8ddeee311d60fa1a-SJC Connection: - keep-alive Content-Encoding: @@ -4355,9 +4361,15 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:15 GMT + - Tue, 05 Nov 2024 18:33:13 GMT Server: - cloudflare + Set-Cookie: + - __cf_bm=AXb4JFGSN5JxwrdjkgUWfhYTQlgO1_VSk0GygyrfVI8-1730831593-1.0.1.1-pPS_qiaM8oCjpsDroOToQzg2yWceyBZfWs9GtxT0oD94XzuzS0lhsVS6q_FBqxeBXFoCx0gLdq6sl4_4tOP.jQ; + path=/; expires=Tue, 05-Nov-24 19:03:13 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=gGdvoh6c_l6jwNrGHCtII3WF86tpWG09ibRrJ4bfKTE-1730831593947-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None Transfer-Encoding: - chunked X-Content-Type-Options: @@ -4369,7 +4381,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "2754" + - "5889" openai-version: - "2020-10-01" strict-transport-security: @@ -4379,15 +4391,15 @@ interactions: x-ratelimit-limit-tokens: - "30000000" x-ratelimit-remaining-requests: - - "9999" + - "9998" x-ratelimit-remaining-tokens: - "29998535" x-ratelimit-reset-requests: - - 6ms + - 9ms x-ratelimit-reset-tokens: - 2ms x-request-id: - - req_7e2d7192d26d658367f671dcd627f8bd + - req_3064660dba43f2e8d24e60b3cd37a029 status: code: 200 message: OK @@ -4399,72 +4411,74 @@ interactions: \"...\"\n}\n\nwhere `summary` is relevant information from text - about 100 words words and `relevance_score` is the relevance of `summary` to answer question (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon - pages 5-7: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew D. - White. A perspective on explanations of molecular prediction models. Unknown - journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\n----\n\n - We present an example evaluation of the SHAP explanation method based on the - above\n\nattributes.44 Shapley values were proposed as a local explanation method - based on feature\n\nattribution, as they offer a complete explanation - each - feature is assigned a fraction of\n\nthe prediction value.44,45 Completeness - is a clearly measurable and well-defined metric, but\n\nyields explanations - with many components. Yet Shapley values are not actionable nor sparse.\n\nThey - are non-sparse as every feature has a non-zero attribution and not-actionable - because\n\nthey do not provide a set of features which changes the outcome.46 - Ribeiro et al. 35 proposed\n\na surrogate model method that aims to provide - sparse/succinct explanations that have high\n\n\n 5fidelity - to the original model. In Wellawatte et al. 9 we argue that counterfactuals - are \u201cbet-\n\nter\u201d explanations because they are actionable and sparse. - We highlight that, evaluation of\n\nexplanations is a difficult task because - explanations are fundamentally for and by humans.\n\nTherefore, these evaluations - are subjective, as they depend on \u201ccomplex human factors and\n\napplication - scenarios.\u201d37\n\n\nSelf-explaining models\n\nA self-explanatory model is - one that is intrinsically interpretable to an expert.47 Two com-\n\nmon examples - found in the literature are linear regression models and decision trees (DT).\n\nIntrinsic - models can be found in other XAI applications acting as surrogate models (proxy\n\nmodels) - due to their transparent nature.48,49 A linear model is described by the equation\n\n1 - where, W\u2019s are the weight parameters and x\u2019s are the input features - associated with the\n\nprediction \u02c6y. Therefore, we observe that the weights - can be used to derive a complete expla-\n\nnation of the model - trained weights - quantify the importance of each feature.47 DT models\n\nare another type of - self-explaining models which have been used in classification and high-\n\nthroughput - screening tasks. Gajewicz et al. 50 used DT models to classify nanomaterials\n\nthat - identify structural features responsible for surface activity. In another study - by Han\n\net al. 51, a DT model was developed to filter compounds by their bioactivity - based on the\n\nchemical fingerprints.\n\n\n\n \u02c6y - = \u03a3iWixi (1)\n\n\n Regularization - techniques such as EXPO52 and RRR53 are designed to enhance the black-\n\nbox - model interpretability.54 Although one can argue that \u201csimplicity\u201d - of models are posi-\n\ntively correlated with interpretability, this is based - on how the interpretability is evaluated.\n\nFor example, Lipton 55 argue that, - from the notion of \u201csimulatability\u201d (the degree to which a\n\nhuman - can predict the outcome based on inputs), self-explanatory linear models, rule-based\n\n\n\n 6systems, - and DT\u2019s can be claimed uninterpretable. A human can predict the outcome - given\n\nthe inputs only if the input features are interpretable. Therefore, - a linear model which takes\n\nin non-descriptive inputs may not be as transparent. - On the other hand, a linear model\n\nis not innately accurate as they fail to - capture non-linear relationships in data, limiting is\n\napplicability. Similarly, - a DT is a rule-based model and lacks physics informed knowledge.\n\nTherefore, - an existing drawback is the trade-off between the degree of understandability - and\n\nthe accuracy of a model. For example, an intrinsic model (linear regression - or decision trees)\n\ncan be described through the trainable parameters, but - it may fail to \u201ccorrectly\u201d capture\n\nnon-linear relations in the - data.\n\n\nAttribution methods\n\n\nFeature attribution methods explain black - box predictions by assigning each input feature\n\na numerical value, which - indicates its importance or contribution to the prediction. Feature\n\nattributions - provide local explanations, but can be averaged or combined to explain multi-\n\nple - instances. Atom-based numerical assignments are commonly referred to as heatmaps.56\n\nSheridan - 57 describes an atom-wise attribution method for interpreting QSAR models. Re-\n\ncently, - Rasmussen et al. 58 showed that Crippen logP models serve as a benchmark for\n\nheatmap - approaches. Other most widely used feature attribution approaches in the litera-\n\nture - are gradient based methods,59,60 Shapley Additive exPlanations (SHAP),44 and - layer-\n\nwise relevance prorogation.61\n\n Gradient based approaches are - based on the hypothesis that gradients for neural net-\n\nworks are analogous - to coefficients for regression models.62 Class activation maps (CAM),63\n\ngradCAM,64 - smoothGrad,,65 and integrated gradients62 are examples of this method. The\n\nmain - idea behind feature attributions with gradients can be represented with equation 2.\n\n\n \u2206\u02c6f(\u20d7x)\n (2) \u2206xi \u2248\u2202\u02c6f(\u20d7x) - \u2202xi\n\n\n\n \n\n----\n\nQuestion: Are counterfactuals - actionable? [yes/no]\n\n"}], "model": "gpt-4o-2024-08-06", "stream": false, - "temperature": 0.0}' + pages 16-20: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew + D. White. A perspective on explanations of molecular prediction models. ChemRxiv, + Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02. + This article has 1 citations.\n\n----\n\nity prediction\n\n\nSmall molecule + solubility prediction is a classic cheminformatics regression challenge and + is\n\nimportant for chemical process design, drug design and crystallization.133\u2013136 + In our previous\n\nworks,9,10 we implemented and trained an RNN model in Keras + to predict solubilities (log\n\nmolarity) of small molecules.127 The AqSolDB + curated database137 was used to train the\n\nRNN model.\n\n In this task, + counterfactuals are based on equation 6. Figure 3 illustrates the generated\n\nlocal + chemical space and the top four counterfactuals. Based on the counterfactuals, + we ob-\n\nserve that the modifications to the ester group and other heteroatoms + play an important role\n\nin solubility. These findings align with known experimental + and basic chemical intuition.134\n\nFigure 4 shows a quantitative measurement + of how substructures are contributing to the pre-\n\n\n\n 16Figure + 2: Descriptor explanations along with natural language explanation obtained + for BBB\npermeability of Alprozolam molecule. The green and red bars show descriptors + that influ-\nence predictions positively and negatively, respectively. Dotted + yellow lines show significance\nthreshold (\u03b1 = 0.05) for the t-statistic. + Molecular descriptors show molecule-level proper-\nties that are important for + the prediction. ECFP and MACCS descriptors indicate which\nsubstructures influence + model predictions. MACCS explanations lead to text explanations\nas shown. Republished + from Ref.10 with permission from authors. SMARTS annotations for\nMACCS descriptors + were created using SMARTSviewer (smartsview.zbh.uni-hamburg.de,\nCopyright: + ZBH, Center for Bioinformatics Hamburg) developed by Schomburg et al. 132.\n\n\n\n\n\n 17diction. + For example, we see that adding acidic and basic groups as well as hydrogen + bond\n\nacceptors, increases solubility. Substructure importance from ECFP97 + and MACCS138 de-\n\nscriptors indicate that adding heteroatoms increases solubility, + while adding rings structures\n\nmakes the molecule less soluble. Although these + are established hypotheses, it is interesting\n\nto see they can be derived + purely from the data via DL and XAI.\n\n\n\n\n\nFigure 3: Generated chemical + space for solubility prediction using the RNN model. The\nchemical space is + a 2D projection of the pairwise Tanimoto similarities of the local coun-\nterfactuals. + Each data point is colored by solubility. Top 4 counterfactuals are shown here.\nRepublished + from Ref.9 with permission from the Royal Society of Chemistry.\n\n\n\nGeneralizing + XAI \u2013 interpreting scent-structure relationships\n\n\nIn this example, + we show how non-local structure-property relationships can be learned with\n\nXAI + across multiple molecules. Molecular scent prediction is a multi-label classification + task\n\nbecause a molecule can be described by more than one scent. For example, + the molecule\n\njasmone can be described as having \u2018jasmine,\u2019 \u2018woody,\u2019 + \u2018floral,\u2019 and \u2019herbal\u2019 scents.139 The\n\nscent-structure + relationship is not very well understood,140 although some relationships are\n\nknown. For + example, molecules with an ester functional group are often associated with\n\n\n 18Figure + 4: Descriptor explanations for solubility prediction model. The green and red + bars\nshow descriptors that influence predictions positively and negatively, + respectively. Dotted\nyellow lines show significance threshold (\u03b1 = 0.05) + for the t-statistic. The MACCS and\nECFP descriptors indicate which substructures + influence model predictions. MACCS sub-\nstructures may either be present in + the molecule as is or may represent a modification. ECFP\nfingerprints are substructures + in the molecule that affect the prediction. MACCS descriptor\nare used to obtain + text explanations as shown. Republished from Ref.10 with permission from\nauthors. + SMARTS annotations for MACCS descriptors were created using SMARTSviewer\n(smartsview.zbh.uni-hamburg.de, + Copyright: ZBH, Center for Bioinformatics Hamburg) de-\nveloped by Schomburg + et al. 132.\n\n\n\n\n\n 19the \u2018fruity\u2019 + scent. There are some exceptions though, like tert-amyl acetate which has a\n\n\u2018camphoraceous\u2019 + rather than \u2018fruity\u2019 scent.140,141\n\n In Seshadri et al. 31, we + trained a GNN model to predict the scent of molecules and utilized\n\ncounterfactuals9 + and descriptor explanations10 to quantify scent-structure relationships. The\n\nMMACE + method was modified to account for the multi-label aspect of scent prediction. + This\n\nmodification defines molecules that differed from the instance molecule + by only the selected\n\nscent as counterfactuals. For instance, counterfactuals + of the jasmone molecule would be false\n\nfor the \u2018jasmine\u2019 scent + but would still be positive for \u2018woody,\u2019 \u2018floral\u2019 and \u2018herbal\u2019 + scents.\n\n\n\n\n\nFigure 5: Counterfactual for the 2,4 decadienal molecule. The + counterfactual indicates\nstructural changes to ethyl benzoate that would result + in the model predicting the molecule\nto not contain the \u2018fruity\n\n----\n\nQuestion: + Are counterfactuals actionable? [yes/no]\n\n"}], "model": "gpt-4o-2024-08-06", + "stream": false, "temperature": 0.0}' headers: accept: - application/json @@ -4473,7 +4487,7 @@ interactions: connection: - keep-alive content-length: - - "6159" + - "6182" content-type: - application/json host: @@ -4494,148 +4508,146 @@ interactions: - "true" x-stainless-runtime: - CPython - x-stainless-runtime-version: - - 3.12.7 - method: POST - uri: https://api.openai.com/v1/chat/completions - response: - body: - string: !!binary | - H4sIAAAAAAAAAwAAAP//bFPBahsxEL37KwZdclmHtZvarW+hLSUQCE0DpdTFjKXZlRKtJDSzrt2Q - fy+76zgb0osO8+a9eTM8PU4AlDNqBUpbFN0kP728/nQ3uzGzr1fhx7fP97fuZn775fryZ/sQZqUq - Okbc3pOWZ9a5jk3yJC6GAdaZUKhTnS3nHxezxWz5vgeaaMh3tDrJ9CJO5+X8Ylp+mJaLI9FGp4nV - Cn5NAAAe+7ezGAzt1QrK4rnSEDPWpFanJgCVo+8qCpkdCwZRxQuoYxAKvevHdQBYK26bBvNhrVaw - VneWgPaachIwjnXLTAzGVRVlCgK0Tx4DdltCQ2KjYahihiZ60q3HDCmTcXpo6BblAqyrrXe1FRdq - EEvgXeOkF2GIFXy3mDwdYIe+JS7gj3XaAmaCEAWwF8OtJ4gZOGFmOoerAN0qGVkK0LENQrlCLS16 - 7qmGWGe3JQPIcLYlEcpnY/8MW9LYMnWWDj1nNAqDOc3qjiK0F6AmWWT3lxjEoryZm3LcOUOAwCTd - ZhWhtPnUjgG0xVD3IyG2omNDBTT4cLxMM7IwzKXuKMO9Y/XavmPgts+g2w2GDSUKhiEGsG2DATpn - MXMPYkre6UGKNQXMLvL5WhVDDDJ52mHQtGEdMw1xmJVrtQ5P4wBlqlrGLr+h9f5Yfzol0sc65bjl - I36qVy44tptMyDF06WOJSfXo0wTgd5/89lWYVcqxSbKR+EChE5zNy2P01ctnG8Hl/IhKFPQj4N0J - eSW5MSToPI++j9KoLZkXbjkZ7fd27P8khh1dqN+oTI5Kig8s1GwqF2rKKbvhQ1Zpg0tTLuhijks1 - eZr8AwAA//8DAGQ01KWZBAAA - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 8d6b05077e4acef5-SJC - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 22 Oct 2024 16:56:17 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Content-Type-Options: - - nosniff - access-control-expose-headers: - - X-Request-ID - alt-svc: - - h3=":443"; ma=86400 - openai-organization: - - future-house-xr4tdh - openai-processing-ms: - - "1793" - openai-version: - - "2020-10-01" - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-ratelimit-limit-requests: - - "10000" - x-ratelimit-limit-tokens: - - "30000000" - x-ratelimit-remaining-requests: - - "9999" - x-ratelimit-remaining-tokens: - - "29998536" - x-ratelimit-reset-requests: - - 6ms - x-ratelimit-reset-tokens: - - 2ms - x-request-id: - - req_8614ce141b6b08d59a72d74c5b1b079a - status: - code: 200 - message: OK - - request: - body: - '{"messages": [{"role": "system", "content": "Provide a summary of the relevant - information that could help answer the question based on the excerpt. Respond - with the following JSON format:\n\n{\n \"summary\": \"...\",\n \"relevance_score\": - \"...\"\n}\n\nwhere `summary` is relevant information from text - about 100 - words words and `relevance_score` is the relevance of `summary` to answer question - (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon - pages 1-3: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew D. - White. A perspective on explanations of molecular prediction models. Unknown - journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\n----\n\n - A Perspective on Explanations of Molecular\n\n Prediction Models\n\n\nGeemi - P. Wellawatte,\u2020 Heta A. Gandhi,\u2021 Aditi Seshadri,\u2021 and Andrew\n\n D. - White\u2217,\u2021\n\n \u2020Department of Chemistry, University of Rochester, - Rochester, NY, 14627\n\u2021Department of Chemical Engineering, University of - Rochester, Rochester, NY, 14627\n \u00b6Vial Health Technology, - Inc., San Francisco, CA 94111\n\n E-mail: andrew.white@rochester.edu\n\n\n\n Abstract\n\n\n Chemists - can be skeptical in using deep learning (DL) in decision making, due to\n\n the - lack of interpretability in \u201cblack-box\u201d models. Explainable artificial - intelligence\n\n (XAI) is a branch of AI which addresses this drawback by - providing tools to interpret\n\n DL models and their predictions. We review - the principles of XAI in the domain of\n\n chemistry and emerging methods - for creating and evaluating explanations. Then we\n\n focus on methods developed - by our group and their applications in predicting solubil-\n\n ity, blood-brain - barrier permeability, and the scent of molecules. We show that XAI\n\n methods - like chemical counterfactuals and descriptor explanations can explain DL pre-\n\n dictions - while giving insight into structure-property relationships. Finally, we discuss\n\n how - a two-step process of developing a black-box model and explaining predictions - can\n\n uncover structure-property relationships.\n\n\n\n\n\n 1Introduction\n\n\nDeep - learning (DL) is advancing the boundaries of computational chemistry because - it can\n\naccurately model non-linear structure-function relationships.1\u20133 - Applications of DL can be\n\nfound in a broad spectrum spanning from quantum - computing4,5 to drug discovery6\u201310 to\n\nmaterials design.11,12 According - to Kre 13, DL models can contribute to scientific discovery\n\nin three \u201cdimensions\u201d - - 1) as a \u2018computational microscope\u2019 to gain insight which are not\n\nattainable - through experiments 2) as a \u2018resource of inspiration\u2019 to motivate - scientific thinking\n\n3) as an \u2018agent of understanding\u2019 to uncover - new observations. However, the rationale of\n\na DL prediction is not always - apparent due to the model architecture consisting a large\n\nparameter count.14,15 - DL models are thus often termed\u201cblack box\u201d models. We can only\n\nreason - about the input and output of an DL model, not the underlying cause that leads - to\n\na specific prediction.\n\n It is routine in chemistry now for DL to - exceed human level performance \u2014 humans are\n\nnot good at predicting solubility - from structure for example161 \u2014 and so understanding how\n\na model makes - predictions can guide hypotheses. This is in contrast to a topic like finding\n\na - stop sign in an image, where there is little new to be learned about visual - perception\n\nby explaining a DL model. However, the black box nature of DL - has its own limitations.\n\nUsers are more likely to trust and use predictions - from a model if they can understand why\n\nthe prediction was made.17 Explaining - predictions can help developers of DL models ensure\n\nthe model is not learning - spurious correlations.18,19 Two infamous examples are, 1)neural\n\nnetworks - that learned to recognize horses by looking for a photographer\u2019s watermark20 - and,\n\n2) neural networks that predicted a COVID-19 diagnoses by looking at - the font choice\n\non medical images.21 As a result, there is an emerging regulatory - framework for when any\n\ncomputer algorithms impact humans.22\u201324 Although - we know of no examples yet in chemistry,\n\none can assume the use of AI in - predicting toxicity, carcinogenicity, and environmental\n\npersistence will - require rationale for the predictions due to regulatory consequences.\n\n 1there - does happen to be one human solubility savant, participant 11, who matched machine - performance\n\n\n 2 EXplainable Artificial - Intelligence (XAI) is a field of growing importance that aims to\n\nprovide - model interpretations of DL predictions Three terms highly associated with XAI - are,\n\ninterpretability, justifications and explainability. Miller 25 defines - that interpretability of a\n\nmodel refers to the degree of human understandability - intrinsic within the model. Murdoch\n\net al. 26 clarify that interpretability - can be perceived as \u201cknowledge\u201d which provide insight\n\nto a particular - problem. Justifications are quantitative metrics tell the users \u201cwhy the\n\nmodel - should be trusted,\u201d like test error.27 Justifications are evidence which - defend why a\n\nprediction is trustworthy.25 An \u201cexplanation\u201d is a - description on why a certain prediction was\n\nmade.9,28 Interpretability and - explanation are often used interchangeably. Arrieta et al. 14\n\ndistinguish - that interpretability is a passive characteristic of a model, whereas explainability\n\nis - an active characteristic which is used to clarify the internal decision-making - process.\n\nNamely, an explanation is extra information that gives the context - and a cause for one or\n\nmore pre\n\n----\n\nQuestion: Are counterfactuals + x-stainless-runtime-version: + - 3.12.4 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: !!binary | + H4sIAAAAAAAAA3SUTW/bMAyG7/kVhM5OkA9nbXPrig0oBgzo0Ns8JIpE22plSRPptkGR/z7I+XLT + 7OKDSL58+VjU+wBAGC0WIFQtWTXBDm8f7vHx2yyvcvx591D++hrVw939j+bv9FbNRJYq/PoJFR+q + Rso3wSIb73ZhFVEyJtXJ1Wx8PZvMr2+6QOM12lRWBR7mfjgdT/Ph+Ho4/rIvrL1RSGIBvwcAAO/d + N1l0Gt/EAsbZ4aRBIlmhWByTAET0Np0ISWSIpWORnYLKO0bXuV6tVk/kXeHeCwdQCGqbRsZNIRZQ + iMcaAd8UxsCgDamWCAm4RmgJwZegfOsYYykVt9ISGAeNt6haKyOEiNqoxAK6aSkDCqhMaZS0dgOl + j0DetmtjDW9AOg2k0HGvcAR3Zx1k7JprYA/4FqyPmNQ70VRx5oE4torb2NmWDLIsUXGvbQbUqhok + gaqlq1KeByTGCFX0baDOV42M0Uv2DY3gsUY6byqtqRy8Gq7h2flXB6rGJs0JxnFrUlLqVFVIbFy1 + M3NOT0kHIfoXoxFkN79cWwTjyFQ10wi+J2JniLJPMjXaAK3TGNOP30MdHklARLtzXZtAsN6A0ejY + lJtk7JAm7QlIB84mJOfNOxomMdcJxSH50mDrDzOtN30ah2vR+3Ef8bIHqWqDLwgayUTUCVTAyAZp + VIhsd3kjWnyRTuGSlI+4u8Q3hSjctnCr1aq/AxHLlmRaQddauz/fHpfK+ipEv6Z9/HheGmeoXkaU + 5F1aIGIfRBfdDgD+dMvbfthHEaJvAi/ZP6NLgpPp1c1OUJzei154Nt9H2bO0vUA+ybMLkkuNLI2l + 3gsglFQ16lPteNCb73PbSxK7GY2reipHDlIpDIx6eboMl9Iipufxf2lHbJ0vQRtibJalcRXGEM3u + hSrDMp+rcp5rlCgG28E/AAAA//8DANYlBO+qBQAA + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8ddeee3bcaaece7c-SJC + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Tue, 05 Nov 2024 18:33:14 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + access-control-expose-headers: + - X-Request-ID + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - future-house-xr4tdh + openai-processing-ms: + - "4987" + openai-version: + - "2020-10-01" + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - "10000" + x-ratelimit-limit-tokens: + - "30000000" + x-ratelimit-remaining-requests: + - "9999" + x-ratelimit-remaining-tokens: + - "29998529" + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 2ms + x-request-id: + - req_638d341562f09480d46d12ce4872ceb0 + status: + code: 200 + message: OK + - request: + body: + '{"messages": [{"role": "system", "content": "Provide a summary of the relevant + information that could help answer the question based on the excerpt. Respond + with the following JSON format:\n\n{\n \"summary\": \"...\",\n \"relevance_score\": + \"...\"\n}\n\nwhere `summary` is relevant information from text - about 100 + words words and `relevance_score` is the relevance of `summary` to answer question + (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon + pages 5-7: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew D. + White. A perspective on explanations of molecular prediction models. ChemRxiv, + Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02. + This article has 1 citations.\n\n----\n\n We present an example evaluation of + the SHAP explanation method based on the above\n\nattributes.44 Shapley values + were proposed as a local explanation method based on feature\n\nattribution, + as they offer a complete explanation - each feature is assigned a fraction of\n\nthe + prediction value.44,45 Completeness is a clearly measurable and well-defined + metric, but\n\nyields explanations with many components. Yet Shapley values + are not actionable nor sparse.\n\nThey are non-sparse as every feature has a + non-zero attribution and not-actionable because\n\nthey do not provide a set + of features which changes the outcome.46 Ribeiro et al. 35 proposed\n\na surrogate + model method that aims to provide sparse/succinct explanations that have high\n\n\n 5fidelity + to the original model. In Wellawatte et al. 9 we argue that counterfactuals + are \u201cbet-\n\nter\u201d explanations because they are actionable and sparse. + We highlight that, evaluation of\n\nexplanations is a difficult task because + explanations are fundamentally for and by humans.\n\nTherefore, these evaluations + are subjective, as they depend on \u201ccomplex human factors and\n\napplication + scenarios.\u201d37\n\n\nSelf-explaining models\n\nA self-explanatory model is + one that is intrinsically interpretable to an expert.47 Two com-\n\nmon examples + found in the literature are linear regression models and decision trees (DT).\n\nIntrinsic + models can be found in other XAI applications acting as surrogate models (proxy\n\nmodels) + due to their transparent nature.48,49 A linear model is described by the equation\n\n1 + where, W\u2019s are the weight parameters and x\u2019s are the input features + associated with the\n\nprediction \u02c6y. Therefore, we observe that the weights + can be used to derive a complete expla-\n\nnation of the model - trained weights + quantify the importance of each feature.47 DT models\n\nare another type of + self-explaining models which have been used in classification and high-\n\nthroughput + screening tasks. Gajewicz et al. 50 used DT models to classify nanomaterials\n\nthat + identify structural features responsible for surface activity. In another study + by Han\n\net al. 51, a DT model was developed to filter compounds by their bioactivity + based on the\n\nchemical fingerprints.\n\n\n\n \u02c6y + = \u03a3iWixi (1)\n\n\n Regularization + techniques such as EXPO52 and RRR53 are designed to enhance the black-\n\nbox + model interpretability.54 Although one can argue that \u201csimplicity\u201d + of models are posi-\n\ntively correlated with interpretability, this is based + on how the interpretability is evaluated.\n\nFor example, Lipton 55 argue that, + from the notion of \u201csimulatability\u201d (the degree to which a\n\nhuman + can predict the outcome based on inputs), self-explanatory linear models, rule-based\n\n\n\n 6systems, + and DT\u2019s can be claimed uninterpretable. A human can predict the outcome + given\n\nthe inputs only if the input features are interpretable. Therefore, + a linear model which takes\n\nin non-descriptive inputs may not be as transparent. + On the other hand, a linear model\n\nis not innately accurate as they fail to + capture non-linear relationships in data, limiting is\n\napplicability. Similarly, + a DT is a rule-based model and lacks physics informed knowledge.\n\nTherefore, + an existing drawback is the trade-off between the degree of understandability + and\n\nthe accuracy of a model. For example, an intrinsic model (linear regression + or decision trees)\n\ncan be described through the trainable parameters, but + it may fail to \u201ccorrectly\u201d capture\n\nnon-linear relations in the + data.\n\n\nAttribution methods\n\n\nFeature attribution methods explain black + box predictions by assigning each input feature\n\na numerical value, which + indicates its importance or contribution to the prediction. Feature\n\nattributions + provide local explanations, but can be averaged or combined to explain multi-\n\nple + instances. Atom-based numerical assignments are commonly referred to as heatmaps.56\n\nSheridan + 57 describes an atom-wise attribution method for interpreting QSAR models. Re-\n\ncently, + Rasmussen et al. 58 showed that Crippen logP models serve as a benchmark for\n\nheatmap + approaches. Other most widely used feature attribution approaches in the litera-\n\nture + are gradient based methods,59,60 Shapley Additive exPlanations (SHAP),44 and + layer-\n\nwise relevance prorogation.61\n\n Gradient based approaches are + based on the hypothesis that gradients for neural net-\n\nworks are analogous + to coefficients for regression models.62 Class activation maps (CAM),63\n\ngradCAM,64 + smoothGrad,,65 and integrated gradients62 are examples of this method. The\n\nmain + idea behind feature attributions with gradients can be represented with equation 2.\n\n\n \u2206\u02c6f(\u20d7x)\n (2) \u2206xi \u2248\u2202\u02c6f(\u20d7x) + \u2202xi\n\n\n\n \n\n----\n\nQuestion: Are counterfactuals actionable? [yes/no]\n\n"}], "model": "gpt-4o-2024-08-06", "stream": false, "temperature": 0.0}' headers: @@ -4646,7 +4658,7 @@ interactions: connection: - keep-alive content-length: - - "6195" + - "6182" content-type: - application/json host: @@ -4668,30 +4680,30 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/chat/completions response: body: string: !!binary | - H4sIAAAAAAAAA2xUwW4bNxC96ysGvCQBJEOSFTnWLW1QNIAvKdyiQFUIFDkSp+aS7MzQlmD43wvu - KrIK57IHPr43bx5n9nkEYMibFRgXrLquxMnnu5/v59++bj+m/Nu/+Zdbd31zo7/X5U+H8u0PM26M - vP0HnX5nXbnclYhKOQ2wY7SKTXV2M79dzpazm2UPdNljbLR90ckiT+bT+WIy/TSZLk/EkMmhmBX8 - NQIAeO6/zWLyeDArmI6/n3QoYvdoVudLAIZzbCfGipCoTWrGr6DLSTH1rp/XCWBtpHad5eParGBt - 7gMCHhxyUfAkroqggAaEKgh5B3go0VKy24hgWWlHjmwESoox0h6TQ3j/5+evH4ASuIAdifJxDKVd - djVajkfYZVeF0h5ygg41ZC8Q6QEHgrMRXK5JkXfWabVRwCYPHsUxFc08uEi2hS2guS/PhVHBIxaI - aDk1/fdf7j5An7dcwX1AwXM9S11jFs6P5BEoCe2DSpPKIMrVaWWcFM4FWY/AGId6gcrg5xQFfLmD - wujJ9fAYngK5AJZbXooJBDGBFXi3jdY9TLb58A58xVZdAxLDMDkHsOwCKfaFB7+geFAItA9xcNde - grqSWW1LOu+gJo/cntm3hvteL+20KttK0YNyFR2MJ6mMp1x6oynra2hSKlOuAi7zuesr+DU/4SPy - GEjBZ5Se1DIgRxqPYL1nFIGngBqQ3z4hI9jeVBueq7UZD/PHGPGxdbMRlxmHOVyuzTq9XA4u466K - bXuTaoyn85fzJsS8L5y3csLP5ztKJGHDaCWnNvWiuZgefRkB/N1vXP3fEpnCuSu60fyAqQnO5rPl - IGhel/wSnp9QzWrjBXB9/Wn8A8mNR7UU5WJtjbMuoH/lTkcX/b0t+yOJoUdK+zcqo5OSkaModpsd - pX3bFxp+BLuyWXx0S4+L2+uFGb2M/gMAAP//AwBt0l9WEQUAAA== + H4sIAAAAAAAAA3RTTY/bNhC9+1cMeMlFXsjrTeL4ln4cWvSybQOkqAp7TI5EZqkhwaFcu4v97wUl + r1dBNhcd5s17nDd687gAUM6oLShtMes++uXH+1/o8+HoPv9O9z/+tvqVfvr012Hz/of7uD79rKrC + CIcvpPMz60aHPnrKLvAE60SYqaiu3q/rzXr19sN6BPpgyBdaF/PyLixv69u7Zb1Z1u8uRBucJlFb + +HsBAPA4fsuIbOiktlBXz5WeRLAjtb02AagUfKkoFHGSkbOqXkAdOBOPU+/3+y8SuOHHhgEaJUPf + Yzo3aguN+tMS0ElTihmMEz2IkIBxbUuJOAOdokfGYhd6yjYYgTYk6IMnPXhMEBMZp6eG4lgqsK6z + 3nU2O+4gW8ygw8CZUos6D+gFMBHowOIMJTLw5kA5U3ozf07gQBoHIciWziMDx2fw4AmQDUjEJHQD + n9i7B4I/LEZPZziiH0gq+Nc6bUceB15OzSOPQ55JVd8MF1M4OkOAIJQhtNAS5iGRXLwgg7bI3TgZ + hCHr0FMFPT5Mfqmfyd9AWXGmUwbqo0Vx/z0LUZkUxyV95dtJ0feeuCuYGQhyKLougQxjGt2RgMeh + KnDc+oFYk4HDGezQI0PxEpKMdjFG7/T0C0UTY3JBbhpVTXFI5OmIrGknOiSaYrGqG9XwU8P7/X4e + q0TtIFhSzYP3l/rTNac+dDGFg1zwa7117MTuEqEELpmUHKIa0acFwD/jPQxfRVzFFPqYdzk8EBfB + 1W29mQTVywnO4PrdBc0ho58B69Vd9YrkzlBG52V2VEqjtmReuPVi5u/bZ1+TmDw67mYq1z2g1hQz + md3L0bzWlqj84++1Xdc2zqXkLJn6Xeu4oxSTm46+jbvV2w9ms75baa0WT4v/AQAA//8DAFwWH+H9 + BAAA headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b050c382d67f2-SJC + - 8ddeee544b9c176b-SJC Connection: - keep-alive Content-Encoding: @@ -4699,7 +4711,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:18 GMT + - Tue, 05 Nov 2024 18:33:15 GMT Server: - cloudflare Transfer-Encoding: @@ -4713,7 +4725,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "1900" + - "1637" openai-version: - "2020-10-01" strict-transport-security: @@ -4731,7 +4743,7 @@ interactions: x-ratelimit-reset-tokens: - 2ms x-request-id: - - req_b2bcbd85b15df54abd8d757f7701e177 + - req_6411df6bdae5cd80e2fe307a70a07047 status: code: 200 message: OK @@ -4744,9 +4756,10 @@ interactions: words words and `relevance_score` is the relevance of `summary` to answer question (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon pages 33-35: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew - D. White. A perspective on explanations of molecular prediction models. Unknown - journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\n----\n\n metabolic - stability of chemical compounds? Journal of Cheminformatics 2021, 13,\n\n 1\u201320.\n\n\n(78) + D. White. A perspective on explanations of molecular prediction models. ChemRxiv, + Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02. + This article has 1 citations.\n\n----\n\n metabolic stability of chemical + compounds? Journal of Cheminformatics 2021, 13,\n\n 1\u201320.\n\n\n(78) Mastropietro, A.; Pasculli, G.; Feldmann, C.; Rodr\u00b4\u0131guez-P\u00b4erez, R.; Bajorath, J. Edge-\n\n SHAPer: Bond-Centric Shapley Value-Based Explanation Method for Graph Neural\n\n Networks. iScience 2022, 25, 105043.\n\n\n(79) @@ -4817,7 +4830,7 @@ interactions: connection: - keep-alive content-length: - - "6200" + - "6223" content-type: - application/json host: @@ -4839,30 +4852,31 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/chat/completions response: body: string: !!binary | - H4sIAAAAAAAAAwAAAP//bFTLbtswELz7KxY8FA0gB7Lj2olvQVogh6KHNmhRVIVNUyuJCbWrcqkk - TpD/6Xf0ywpKjqM8LgK4wx3O7EP3IwBlc7UEZSodTN248enns4t0phf+7OTT2beP+nu1ufpZp3J9 - d7oVlcQM3lyiCY9Zh4brxmGwTD1sPOqAkXWymJ7MJ/PJYtYBNefoYlrZhPGMx9N0Ohunx+N0vkus - 2BoUtYRfIwCA++4bJVKOt2oJafIYqVFEl6iW+0sAyrOLEaVFrARNQSVPoGEKSJ3q9Xp9KUwZ3WcE - kClp61r7baaWkKmLCgFvDfomgMcCPZJBAcFr9NrBDfsrAY8uWoTAYLilgL7QJrTaCWjKIVRoPUQ5 - YAnwtnGadCxQDxvdSnc8hC8c9MZtEzj/95cLhx7eT9P0wwHkVkwrgtLfdmBppwU2WjAHppdPJx35 - D+b8Rvsc3sG5DaYybK460qMDaDxf2xxBv0gFbboAcLFXy34LJVI0be968YfwFdvgLJW9zsn8AP60 - KL2z0BXOSuhEcgEaaiYrISKRjYtHL1EnMY13x2GBEijYtGKpjA4j5wupT2RiLFKwhTVDhkO4qFDw - We/assROhw6v++URWul72VKOPk7OoEed2AF/AjeVNRXYunEWO9tbMJpgg6BNvKE3fd/7akcnlsSW - VRBgD2Xbx3I0VrqqZirp59Cjw2tNBldi2GM/j8eZyugho/V6PRxnj0WsnVoCtc7t4g/7/XBcNp43 - ssP38cKSlWrlUQtT3AUJ3KgOfRgB/O72sH22WqrxXDdhFfgKKRJO5sfznlA9rf4Ann3YoYGDdgPg - +GiSvEG5yjFo62SwzMpoU2H+lJuOBv5eP/sWRe/RUvmKZbRjUrKVgPWq6Ca68bb/PRTNSi/ydI6z - qV6o0cPoPwAAAP//AwDua07BJwUAAA== + H4sIAAAAAAAAA3RUzW7bRhC+6ykGe6kNSAIpy7akW1qkSYM6aB0VQVEW0mp3SG683GF3lrYZw9c+ + S58j17xUsaQs045zIcD9Zr6Zb/7uRgDCaLECoUoZVFXbyavff8GP7es2Xeen7T+v1+/Wb/5YYnhz + ef3nzyTG0YN2n1CFB6+poqq2GAy5HlYeZcDImp6fJIuT9HQ564CKNNroVtRhMqfJLJnNJ8likpzt + HUsyClms4K8RAMBd940pOo23YgXJ+OGlQmZZoFgdjACEJxtfhGQ2HKQLYvwIKnIBXZf1drv9xOQy + d5c5gExwU1XSt5lYQSbWJQLeKvR1AI85enQKGRiv0UsLN+SvGDzaKBECAd7WVjoZ5TNQDhVZVI2V + HmqP2qgIQKecQToNihoX0OdShUZansJ7CnJn2zGYABW6nujtl/8ot+h/4C4ikAMlG5YWjNvnBDvJ + qDvkKSUc/XjxE1zE4NLCJTJKr0q4wFCSJktFC7MkOT3u0vlIpG+k193PWxNUqUhdDcI+6CPfQoEu + FsF83stt2LgC5LMEQKruAY7e09d/G47RTo6n8EprE/2kjWovsQnWuKLTqA2rhjmWihyEEp9ThhJj + ApQDKxOLlBs1LD0c/VYaS0x12Vl9iFYKYZakZ73QX/HG8PNy9q6x5e+o8U7a6DtgSpfn82OQHkGZ + gHoK6xIZn8xFUxTIAUIpwzeNiI5NbJJx38l7PxPPWjsGU9W2jcUNJbagpIMdguyGSe4sRsLGafRx + zHXXBKcPA+cKoCYoqpCnmRj3Q+7R4rV0CjesyGM/7ItMZO4+c9vtdrgrHvOYkFiBa6zdv98fls9S + UXva8R4/vOfGGS43HiWTi4vGgWrRofcjgL+7JW+e7K2oPVV12AS6QhcJ07PlvCcUj3dlCJ/v0UBB + 2gGwOEvHL1BuNAZpLA8uhVBSlagffZPRQN+3YV+i6DUaVwxYDnWQSmEdUG8eL8BLZh7jGf2e2aFs + XV6CWw5YbfJuY2pv+kuW15v0dKkXJ/NUKTG6H/0PAAD//wMA04ovXtIFAAA= headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b05018b94cfe5-SJC + - 8ddeee4b5dfacf0d-SJC Connection: - keep-alive Content-Encoding: @@ -4870,7 +4884,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:18 GMT + - Tue, 05 Nov 2024 18:33:15 GMT Server: - cloudflare Transfer-Encoding: @@ -4884,7 +4898,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "3836" + - "3112" openai-version: - "2020-10-01" strict-transport-security: @@ -4896,13 +4910,13 @@ interactions: x-ratelimit-remaining-requests: - "9999" x-ratelimit-remaining-tokens: - - "29998537" + - "29998531" x-ratelimit-reset-requests: - 6ms x-ratelimit-reset-tokens: - 2ms x-request-id: - - req_f127f198622a2b05d2d60a56401b9e5d + - req_ff04e172e0a093fe77e77b6d27a4c49b status: code: 200 message: OK @@ -4914,74 +4928,76 @@ interactions: \"...\"\n}\n\nwhere `summary` is relevant information from text - about 100 words words and `relevance_score` is the relevance of `summary` to answer question (out of 10).\n"}, {"role": "user", "content": "Excerpt from wellawatteUnknownyearaperspectiveon - pages 16-20: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew - D. White. A perspective on explanations of molecular prediction models. Unknown - journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\n----\n\nity - prediction\n\n\nSmall molecule solubility prediction is a classic cheminformatics - regression challenge and is\n\nimportant for chemical process design, drug design - and crystallization.133\u2013136 In our previous\n\nworks,9,10 we implemented - and trained an RNN model in Keras to predict solubilities (log\n\nmolarity) - of small molecules.127 The AqSolDB curated database137 was used to train the\n\nRNN - model.\n\n In this task, counterfactuals are based on equation 6. Figure 3 - illustrates the generated\n\nlocal chemical space and the top four counterfactuals. - Based on the counterfactuals, we ob-\n\nserve that the modifications to the - ester group and other heteroatoms play an important role\n\nin solubility. These - findings align with known experimental and basic chemical intuition.134\n\nFigure - 4 shows a quantitative measurement of how substructures are contributing to - the pre-\n\n\n\n 16Figure 2: Descriptor - explanations along with natural language explanation obtained for BBB\npermeability - of Alprozolam molecule. The green and red bars show descriptors that influ-\nence - predictions positively and negatively, respectively. Dotted yellow lines show - significance\nthreshold (\u03b1 = 0.05) for the t-statistic. Molecular descriptors - show molecule-level proper-\nties that are important for the prediction. ECFP - and MACCS descriptors indicate which\nsubstructures influence model predictions. - MACCS explanations lead to text explanations\nas shown. Republished from Ref.10 - with permission from authors. SMARTS annotations for\nMACCS descriptors were - created using SMARTSviewer (smartsview.zbh.uni-hamburg.de,\nCopyright: ZBH, - Center for Bioinformatics Hamburg) developed by Schomburg et al. 132.\n\n\n\n\n\n 17diction. - For example, we see that adding acidic and basic groups as well as hydrogen - bond\n\nacceptors, increases solubility. Substructure importance from ECFP97 - and MACCS138 de-\n\nscriptors indicate that adding heteroatoms increases solubility, - while adding rings structures\n\nmakes the molecule less soluble. Although these - are established hypotheses, it is interesting\n\nto see they can be derived - purely from the data via DL and XAI.\n\n\n\n\n\nFigure 3: Generated chemical - space for solubility prediction using the RNN model. The\nchemical space is - a 2D projection of the pairwise Tanimoto similarities of the local coun-\nterfactuals. - Each data point is colored by solubility. Top 4 counterfactuals are shown here.\nRepublished - from Ref.9 with permission from the Royal Society of Chemistry.\n\n\n\nGeneralizing - XAI \u2013 interpreting scent-structure relationships\n\n\nIn this example, - we show how non-local structure-property relationships can be learned with\n\nXAI - across multiple molecules. Molecular scent prediction is a multi-label classification - task\n\nbecause a molecule can be described by more than one scent. For example, - the molecule\n\njasmone can be described as having \u2018jasmine,\u2019 \u2018woody,\u2019 - \u2018floral,\u2019 and \u2019herbal\u2019 scents.139 The\n\nscent-structure - relationship is not very well understood,140 although some relationships are\n\nknown. For - example, molecules with an ester functional group are often associated with\n\n\n 18Figure - 4: Descriptor explanations for solubility prediction model. The green and red - bars\nshow descriptors that influence predictions positively and negatively, - respectively. Dotted\nyellow lines show significance threshold (\u03b1 = 0.05) - for the t-statistic. The MACCS and\nECFP descriptors indicate which substructures - influence model predictions. MACCS sub-\nstructures may either be present in - the molecule as is or may represent a modification. ECFP\nfingerprints are substructures - in the molecule that affect the prediction. MACCS descriptor\nare used to obtain - text explanations as shown. Republished from Ref.10 with permission from\nauthors. - SMARTS annotations for MACCS descriptors were created using SMARTSviewer\n(smartsview.zbh.uni-hamburg.de, - Copyright: ZBH, Center for Bioinformatics Hamburg) de-\nveloped by Schomburg - et al. 132.\n\n\n\n\n\n 19the \u2018fruity\u2019 - scent. There are some exceptions though, like tert-amyl acetate which has a\n\n\u2018camphoraceous\u2019 - rather than \u2018fruity\u2019 scent.140,141\n\n In Seshadri et al. 31, we - trained a GNN model to predict the scent of molecules and utilized\n\ncounterfactuals9 - and descriptor explanations10 to quantify scent-structure relationships. The\n\nMMACE - method was modified to account for the multi-label aspect of scent prediction. - This\n\nmodification defines molecules that differed from the instance molecule - by only the selected\n\nscent as counterfactuals. For instance, counterfactuals - of the jasmone molecule would be false\n\nfor the \u2018jasmine\u2019 scent - but would still be positive for \u2018woody,\u2019 \u2018floral\u2019 and \u2018herbal\u2019 - scents.\n\n\n\n\n\nFigure 5: Counterfactual for the 2,4 decadienal molecule. The - counterfactual indicates\nstructural changes to ethyl benzoate that would result - in the model predicting the molecule\nto not contain the \u2018fruity\n\n----\n\nQuestion: - Are counterfactuals actionable? [yes/no]\n\n"}], "model": "gpt-4o-2024-08-06", - "stream": false, "temperature": 0.0}' + pages 1-3: Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew D. + White. A perspective on explanations of molecular prediction models. ChemRxiv, + Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02. + This article has 1 citations.\n\n----\n\n A Perspective on Explanations of Molecular\n\n Prediction + Models\n\n\nGeemi P. Wellawatte,\u2020 Heta A. Gandhi,\u2021 Aditi Seshadri,\u2021 + and Andrew\n\n D. White\u2217,\u2021\n\n \u2020Department + of Chemistry, University of Rochester, Rochester, NY, 14627\n\u2021Department + of Chemical Engineering, University of Rochester, Rochester, NY, 14627\n \u00b6Vial + Health Technology, Inc., San Francisco, CA 94111\n\n E-mail: + andrew.white@rochester.edu\n\n\n\n Abstract\n\n\n Chemists + can be skeptical in using deep learning (DL) in decision making, due to\n\n the + lack of interpretability in \u201cblack-box\u201d models. Explainable artificial + intelligence\n\n (XAI) is a branch of AI which addresses this drawback by + providing tools to interpret\n\n DL models and their predictions. We review + the principles of XAI in the domain of\n\n chemistry and emerging methods + for creating and evaluating explanations. Then we\n\n focus on methods developed + by our group and their applications in predicting solubil-\n\n ity, blood-brain + barrier permeability, and the scent of molecules. We show that XAI\n\n methods + like chemical counterfactuals and descriptor explanations can explain DL pre-\n\n dictions + while giving insight into structure-property relationships. Finally, we discuss\n\n how + a two-step process of developing a black-box model and explaining predictions + can\n\n uncover structure-property relationships.\n\n\n\n\n\n 1Introduction\n\n\nDeep + learning (DL) is advancing the boundaries of computational chemistry because + it can\n\naccurately model non-linear structure-function relationships.1\u20133 + Applications of DL can be\n\nfound in a broad spectrum spanning from quantum + computing4,5 to drug discovery6\u201310 to\n\nmaterials design.11,12 According + to Kre 13, DL models can contribute to scientific discovery\n\nin three \u201cdimensions\u201d + - 1) as a \u2018computational microscope\u2019 to gain insight which are not\n\nattainable + through experiments 2) as a \u2018resource of inspiration\u2019 to motivate + scientific thinking\n\n3) as an \u2018agent of understanding\u2019 to uncover + new observations. However, the rationale of\n\na DL prediction is not always + apparent due to the model architecture consisting a large\n\nparameter count.14,15 + DL models are thus often termed\u201cblack box\u201d models. We can only\n\nreason + about the input and output of an DL model, not the underlying cause that leads + to\n\na specific prediction.\n\n It is routine in chemistry now for DL to + exceed human level performance \u2014 humans are\n\nnot good at predicting solubility + from structure for example161 \u2014 and so understanding how\n\na model makes + predictions can guide hypotheses. This is in contrast to a topic like finding\n\na + stop sign in an image, where there is little new to be learned about visual + perception\n\nby explaining a DL model. However, the black box nature of DL + has its own limitations.\n\nUsers are more likely to trust and use predictions + from a model if they can understand why\n\nthe prediction was made.17 Explaining + predictions can help developers of DL models ensure\n\nthe model is not learning + spurious correlations.18,19 Two infamous examples are, 1)neural\n\nnetworks + that learned to recognize horses by looking for a photographer\u2019s watermark20 + and,\n\n2) neural networks that predicted a COVID-19 diagnoses by looking at + the font choice\n\non medical images.21 As a result, there is an emerging regulatory + framework for when any\n\ncomputer algorithms impact humans.22\u201324 Although + we know of no examples yet in chemistry,\n\none can assume the use of AI in + predicting toxicity, carcinogenicity, and environmental\n\npersistence will + require rationale for the predictions due to regulatory consequences.\n\n 1there + does happen to be one human solubility savant, participant 11, who matched machine + performance\n\n\n 2 EXplainable Artificial + Intelligence (XAI) is a field of growing importance that aims to\n\nprovide + model interpretations of DL predictions Three terms highly associated with XAI + are,\n\ninterpretability, justifications and explainability. Miller 25 defines + that interpretability of a\n\nmodel refers to the degree of human understandability + intrinsic within the model. Murdoch\n\net al. 26 clarify that interpretability + can be perceived as \u201cknowledge\u201d which provide insight\n\nto a particular + problem. Justifications are quantitative metrics tell the users \u201cwhy the\n\nmodel + should be trusted,\u201d like test error.27 Justifications are evidence which + defend why a\n\nprediction is trustworthy.25 An \u201cexplanation\u201d is a + description on why a certain prediction was\n\nmade.9,28 Interpretability and + explanation are often used interchangeably. Arrieta et al. 14\n\ndistinguish + that interpretability is a passive characteristic of a model, whereas explainability\n\nis + an active characteristic which is used to clarify the internal decision-making + process.\n\nNamely, an explanation is extra information that gives the context + and a cause for one or\n\nmore pre\n\n----\n\nQuestion: Are counterfactuals + actionable? [yes/no]\n\n"}], "model": "gpt-4o-2024-08-06", "stream": false, + "temperature": 0.0}' headers: accept: - application/json @@ -4990,7 +5006,7 @@ interactions: connection: - keep-alive content-length: - - "6159" + - "6218" content-type: - application/json host: @@ -5012,30 +5028,30 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/chat/completions response: body: string: !!binary | - H4sIAAAAAAAAA2xUwW4bOQy9+ysInW3DdrzJ1regp2Lby6ZbFFgXhqzhjLjViIJIuTGC/PtCM07s - OrnMgY98fHwi52kCYKgxGzDOW3V9CrP7zx8fjjfHb+3D4a+/F9+/3Xz5fvgHH+555Vf3ZloreP8f - On2pmjvuU0AljiPsMlrFyrq8W324Xd4u71YD0HODoZZ1SWdrnq0Wq/Vs8edscXsq9EwOxWzg3wkA - wNPwrRJjg49mA4vpS6RHEduh2bwmAZjMoUaMFSFRG9VMz6DjqBgH1U/bCLA1Uvre5uPWbGBrvnoE - fHSYk0JD4ooICqhHKILALTguUTG31mmxQYAi9BzQlWAzpIwNuWoBDEPKFCSho5acDeEILWcQDmVP - gfQINjYgDqNeFM7h41UHm4fmDSgDPqbAGSv7QForrjSI5uK05EG2VbBti04v2k5BivNgBZy3sat5 - DCiKGbrMJcmgy6NiZqvcyxy+epTrpjZQF+EXqYefkX9FcB77OidQ1EI1qXbqOhSl2I1irt1zNkLK - fKAGwQ7z231AoCjUeZU5fIpvHJq+YfEYEpTYYK7PffJ09moEZAyjaE9JYH8EajAqtceq6yXNhrMf - g2+hOnLdfDCDquVNdeIl+b259udnazDT4d0Jh5UYjB3EXK4SJ8xK4/NY5wkPCA0KZWyAizruUeZb - Mx23OGPAg40Od+I447jNH7ZmG58v1z9jW8TW64slhFP8+fWeAncp815O+Gu8pUjidxmtcKy3I8rJ - DOjzBODHcLflt1M0KXOfdKf8E2MlXK7uliOhOf8qLuCb9QlVVhsugPXij+k7lLsG1VKQi+M3zjqP - zbl2MbmY723b9yjGGSl2b1gmJyYjR1Hsdy3FDnPKNP5O2rSzq4VdI96s12byPPkfAAD//wMAr086 - mFcFAAA= + H4sIAAAAAAAAA3RUUUsjMRB+768Y8nIKrbS1nl7fBDkQ9ODAB4/bo43J7O5oNgmZWc8i/vcj2Vor + ei8Lm2/mmy/fzOR5BKDIqiUo02oxXXST85+X+Ov6QX+/xamcEv26Pm/vf+B84Wac1DhnhLt7NPKa + dWRCFx0KBT/AJqEWzKyz0+Pp2fHs5NuiAF2w6HJaE2WyCJP5dL6YTM8m06/bxDaQQVZL+D0CAHgu + 3yzRW3xSS5iOX086ZNYNquUuCECl4PKJ0szEor2o8Rtoghf0RfV6vb7n4Cv/XHmASnHfdTptKrWE + St20CDoJGYdgiU3PjAzSIvSMEGrAp+g0eX3nhsCaDGkH5AWdowa9QTi4Pb88BPJgWuyIJW3GEAtr + 73RyG6iD6Zl8A8FDh9IGy+DoAYcEox2Y0HvBVGsjvXYM2luwyCZRlJAGFV5n1xkklPIpJhSwiBEc + 6uQz/8HF1SEU4/kIblpk3NXT1OXMmMIjWQTyTE0rnKkCsKTeSJ9wElOImGQDCd1Qr6U46NlaARdX + EBNaMgUew9+WTAtGe2jRxexD7y2m3BObReVcST1L/snWFoFfGCwa4sxRtILgkwD3TYMsuQdaPtqS + SmNsvsmrnHdaqItus62zKeG6QKV/JThfPwfsDMjy3gsO9acyJ51+yHBMwSDzUaXGw0QldPiovcEV + m5BwmKyzSlX+pfLr9Xp/MBPWPeu8F753bnv+spt0F5qYwh1v8d15TZ64XSXUHHyeapYQVUFfRgB/ + ykb175ZExRS6KCsJD+gz4Ww+XwyE6m2J9+DZ6RaVINrtAceL2fgTypVF0eR4by2V0aZF+5Y7He3d + 72PZzyiGO5Jv9lh2PmhjMAra1VvXPwtLmN+s/4XtbCu6FG9YsFvV5Ju8VDQ8G3VcLU5MfbKwqFGN + Xkb/AAAA//8DAK5K13s/BQAA headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b04f77bbc96d2-SJC + - 8ddeee56e95bfa1a-SJC Connection: - keep-alive Content-Encoding: @@ -5043,7 +5059,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:28 GMT + - Tue, 05 Nov 2024 18:33:15 GMT Server: - cloudflare Transfer-Encoding: @@ -5057,7 +5073,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "15354" + - "1417" openai-version: - "2020-10-01" strict-transport-security: @@ -5069,13 +5085,13 @@ interactions: x-ratelimit-remaining-requests: - "9999" x-ratelimit-remaining-tokens: - - "29998535" + - "29998526" x-ratelimit-reset-requests: - 6ms x-ratelimit-reset-tokens: - 2ms x-request-id: - - req_7126eaffcc4518f7f89f9b0f4dfbb41b + - req_aa938cb9491ab2973fcfda281a0c0ee7 status: code: 200 message: OK @@ -5090,56 +5106,56 @@ interactions: to change the outcome. For example, in chemistry, changing a hydrophobic functional group in a molecule to a hydrophilic group to increase solubility is an actionable insight derived from counterfactual explanations. This actionability is a key - aspect of counterfactuals, as it indicates which features can be modified to - achieve a desired change in the prediction outcome.\nFrom Geemi P. Wellawatte, + aspect of counterfactuals, as it allows for local, instance-level explanations + that can guide modifications to achieve desired outcomes.\nFrom Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew D. White. A perspective on explanations - of molecular prediction models. Unknown journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, - doi:10.26434/chemrxiv-2022-qfv02.\n\nwellawatteUnknownyearaperspectiveon pages - 14-16: Counterfactual explanations are actionable as they suggest modifications + of molecular prediction models. ChemRxiv, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, + doi:10.26434/chemrxiv-2022-qfv02. This article has 1 citations.\n\nwellawatteUnknownyearaperspectiveon + pages 5-7: The excerpt discusses different explanation methods for molecular + prediction models, highlighting that counterfactuals are considered ''better'' + explanations because they are actionable and sparse. Unlike Shapley values, + which are non-sparse and not actionable, counterfactuals provide a set of features + that can change the outcome, making them actionable. The text emphasizes that + evaluating explanations is challenging due to their subjective nature, influenced + by human factors and application scenarios.\nFrom Geemi P. Wellawatte, Heta + A. Gandhi, Aditi Seshadri, and Andrew D. White. A perspective on explanations + of molecular prediction models. ChemRxiv, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, + doi:10.26434/chemrxiv-2022-qfv02. This article has 1 citations.\n\nwellawatteUnknownyearaperspectiveon + pages 14-16: Counterfactual explanations are actionable as they suggest modifications to molecules that can lead to desired outcomes. For instance, in the context - of blood-brain barrier (BBB) permeation, counterfactuals indicate that changes + of blood-brain barrier (BBB) permeation, counterfactuals indicate that modifications to the carboxylic acid group can enable a molecule to permeate the BBB. This is because the carboxylic group is hydrophilic and hinders hydrophobic interactions, - which are crucial for BBB permeation. By modifying the molecule to enhance surface - area and reduce hydrophilic interactions, counterfactuals provide actionable - insights for improving molecular properties.\nFrom Geemi P. Wellawatte, Heta - A. Gandhi, Aditi Seshadri, and Andrew D. White. A perspective on explanations - of molecular prediction models. Unknown journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, - doi:10.26434/chemrxiv-2022-qfv02.\n\nwellawatteUnknownyearaperspectiveon pages - 5-7: The excerpt discusses different explanation methods for molecular prediction - models, highlighting the limitations of Shapley values, which are not actionable - or sparse. In contrast, counterfactuals are described as ''better'' explanations - because they are actionable and sparse. The text emphasizes that counterfactuals - provide a set of features that can change the outcome, making them actionable. - The evaluation of explanations is subjective and depends on human factors and - application scenarios.\nFrom Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, - and Andrew D. White. A perspective on explanations of molecular prediction models. - Unknown journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, - doi:10.26434/chemrxiv-2022-qfv02.\n\nwellawatteUnknownyearaperspectiveon pages - 16-20: The excerpt discusses the use of counterfactuals in molecular prediction + which are crucial for BBB permeation. By suggesting actionable changes, such + as adding atoms to enhance surface area, counterfactuals provide practical guidance + for molecular modifications.\nFrom Geemi P. Wellawatte, Heta A. Gandhi, Aditi + Seshadri, and Andrew D. White. A perspective on explanations of molecular prediction + models. ChemRxiv, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, + doi:10.26434/chemrxiv-2022-qfv02. This article has 1 citations.\n\nwellawatteUnknownyearaperspectiveon + pages 16-20: The excerpt discusses the use of counterfactuals in molecular prediction models, specifically for solubility and scent prediction. Counterfactuals are used to explore modifications in molecular structures that affect solubility, such as changes to ester groups and heteroatoms. These modifications align with known chemical intuition, suggesting that counterfactuals can provide actionable - insights. In scent prediction, counterfactuals help understand scent-structure + insights. For scent prediction, counterfactuals help understand scent-structure relationships by identifying structural changes that alter scent predictions. - This indicates that counterfactuals can be used to derive actionable insights - for modifying molecular properties to achieve desired outcomes.\nFrom Geemi - P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew D. White. A perspective - on explanations of molecular prediction models. Unknown journal, Unknown year. - URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\nwellawatteUnknownyearaperspectiveon - pages 20-22: Counterfactual explanations are described as actionable in the - text. They are represented as chemical structures, which are familiar to domain - experts, and are sparse. This makes them useful for providing insights into - how changes in molecular structure can lead to different predictions by a model. - The text emphasizes that counterfactuals have a minimal distance from a base - molecule but possess contrasting chemical properties, making them practical - for understanding and potentially altering outcomes in molecular prediction - models.\nFrom Geemi P. Wellawatte, Heta A. Gandhi, Aditi Seshadri, and Andrew - D. White. A perspective on explanations of molecular prediction models. Unknown - journal, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, doi:10.26434/chemrxiv-2022-qfv02.\n\nValid - Keys: wellawatteUnknownyearaperspectiveon pages 12-14, wellawatteUnknownyearaperspectiveon - pages 14-16, wellawatteUnknownyearaperspectiveon pages 5-7, wellawatteUnknownyearaperspectiveon + This indicates that counterfactuals can be actionable by suggesting specific + molecular modifications to achieve desired properties.\nFrom Geemi P. Wellawatte, + Heta A. Gandhi, Aditi Seshadri, and Andrew D. White. A perspective on explanations + of molecular prediction models. ChemRxiv, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, + doi:10.26434/chemrxiv-2022-qfv02. This article has 1 citations.\n\nwellawatteUnknownyearaperspectiveon + pages 20-22: Counterfactual explanations are described as useful because they + are represented as chemical structures familiar to domain experts, are sparse, + and are actionable. This suggests that counterfactuals can be used to make changes + to achieve desired outcomes, making them actionable. The text also mentions + that counterfactuals have a minimal distance from a base molecule but with contrasting + chemical properties, which implies that they can guide modifications to molecular + structures to alter predicted properties.\nFrom Geemi P. Wellawatte, Heta A. + Gandhi, Aditi Seshadri, and Andrew D. White. A perspective on explanations of + molecular prediction models. ChemRxiv, Unknown year. URL: https://doi.org/10.26434/chemrxiv-2022-qfv02, + doi:10.26434/chemrxiv-2022-qfv02. This article has 1 citations.\n\nValid Keys: + wellawatteUnknownyearaperspectiveon pages 12-14, wellawatteUnknownyearaperspectiveon + pages 5-7, wellawatteUnknownyearaperspectiveon pages 14-16, wellawatteUnknownyearaperspectiveon pages 16-20, wellawatteUnknownyearaperspectiveon pages 20-22\n\n----\n\nQuestion: Are counterfactuals actionable? [yes/no]\n\nWrite an answer based on the context. If the context provides insufficient information reply \"I cannot answer.\"For @@ -5160,7 +5176,7 @@ interactions: connection: - keep-alive content-length: - - "5804" + - "5894" content-type: - application/json host: @@ -5182,35 +5198,35 @@ interactions: x-stainless-runtime: - CPython x-stainless-runtime-version: - - 3.12.7 + - 3.12.4 method: POST uri: https://api.openai.com/v1/chat/completions response: body: string: !!binary | - H4sIAAAAAAAAA5RVTW/jNhC9+1cMdFoDtmGriZPNLV50gX6hWzRF0e0WwYgcSdNQJMuP2MIi/70g - JdvKJpdcDIMjPs5782bm6wygYFncQCFaDKKzann784e77+1vt5+7+r8f+fMv/OenX+mnTzJc3n3c - F4t0w1T/kgjHWythOqsosNFDWDjCQAl1c1W+3262m+vrHOiMJJWuNTYsL8yyXJcXy/X1cr0dL7aG - BfniBv6eAQB8zb8pRS3pUNzAenE86ch7bKi4OX0EUDij0kmB3rMPqEOxOAeF0YF0zvov8gsQJupA - rkYRIioP6AhQJBZYKVrBXUs9WGceWRKwDpEDPxJELcklcMm6AVODdSQ53/OAWoKPTUM+wL5l0UJN - GKIjDwI1VASoAjmSEAyIFnVDEFoCE4MwHa3go3FAB0x6LoA1iJY69sH13+YLdLAKNQ7vJnDWkgUG - gs5IrtPfHAoGOqNIRIUOfHBR5HwW4KNoAf2QRuKC0PbSGduaigXUUQ9iKGiciTYBnb5gxQKMpnTI - OtXbE3ijYsWKQ78YyXNSZCIqsPbctAHe7Ukp3GMI9Id+0Gave0KHlpy3JJLORoPFhjxsyuXmYr6C - H3RWKlfxEJLwlTJGLiuHrKFC55gcvNvtdnOw5DrK/F+W+Vie0GIYqpG4Z2h0lTn0iRoKliPtJC0N - 2eNRycx7fGQo4G63g6oH0i1qkQB9TE9SchVmWziSMUemEnJKDUfzvEWUi+VmO1990V/0h1dsLIz2 - LLPPfLTk2LiUsQktualxoKPQGjkxw+8tWkU9PKKKySQVCYw+c+wzdGVCO61odrxF57/tGARPuUyn - DsiKJzlfGn8BHT6MdejAogucDat6iJ7qqKA2DiQ5fsxOfeGoN6l3ubyar+BWSh4MrvrXp4Ej68iT - DiSHRqGOBapJF0GNHSvGLK80XbIiHSy54I89MFgi0yd2YHO5BaY2SQ3+fJwkNa1JY4pTWmd/jjr5 - dOXczufRA3m0vkmFcr0sy3mumqfn4wQVNxr2HFrIGGfq4xxMjVVHl/3ko7XGhbF67E7V4SPHPJD6 - 9ME0dZNkYsoTCkXL9EggyXNy7YnuW3piuyzX89V05Duqo8e0cXRUajx/Ou0QZRrrTOXH+Om8Zs2+ - vU9Tzei0L3wwtsjRpxnAP3lXxWfrp7DOdDbcB/NAOgFuyqvvBsDivB7P4fL6/RgNJqCa3LvclotX - IO8lBWTlJwuvEChakue769mE38tnX4MYOLJuXqDMRqTC9z5Qd1+zbshZx8MKre09Xsn1li5KvCpm - T7P/AQAA//8DAGe3nDlLCAAA + H4sIAAAAAAAAA5RVTW8bOQy9+1cQc+kGmDFsJ87XrQ2wi566xbbAttuFwZE4M9poJFWiHA+K/PeF + NP5K4gLNRQdRpB4fH8kfE4BCyeIWCtEhi97p6u3H9/T1Q99/p4/r75+ull///uPdh/CnX9/NF1+K + MnnY+j8SvPOaCts7TaysGc3CEzKlqPOr89n1+Xx5s8yG3krSya11XF3YajFbXFSz62p2uXXsrBIU + ilv4ZwIA8COfCaKRtCluYVbubnoKAVsqbvePAApvdbopMAQVGA0X5cEorGEyGfUXCiUIGw2Tb1Bw + RB0APQGKlAXWmqZw98QOtHEaDSZ7AOftWkkCZTgqVmuCaCT59KdUpgXbgPMklRifo5EQYttSYHjo + lOigIeToKYBAAzUBaiZPEtiC6NC0BNwR2MjC9jSFT50Ke3BKKx4gXcA9DYDBkeD05bOMSsAAigG1 + tg8BGutBW4G6BGUSUkGVpjU9S4075IyqjSnD3krVKLEzWkDRKVoTSAoqId5iDPDbA2mND8hMn829 + sQ9mIPToyGeAak3WgMOWAswX1fzibAq/Ww+0waSeBApER70K7IeX1UmIdhS+wNRbTSJq9BDYR5GZ + LSFE0SUKMqGpKgjdIL11na2VgCaakVANrbfR5eR2L5RWAqyhdKlMEnQgCFbHkf0SrB9rNsYV6Gu7 + GZITCiUPASmLCWptraxqj8pAjd4r8uDI95RzeBV1F9X88mz6zXwzdycELKwJSmYpvamJmfybp+VN + vYpbpVnuyENP3FkZQKt7gr86dJoGWKOOFKAmgTFkMQ45fm25O+qSUdkOfcgipWHfGQiBsij3St8L + 66XAS+jxPjHJHfXg0LPK5dQDxEBN1Fm8zqePBWpA5/S+/q8gb1ldnU3hvcl/53mwyRgP+jl0LeRh + FU4r8Rd7w3nryLM6VuNBRCN5ggyXUA87dScaEvAUeUvVTzX+KuFcVovZ2RTeSqlG2evh9BD05DwF + MkxybB/qM+tH/zbYK63QJ2DS9knWtEmphnI34KLP6iLTpUmTyk/KP5thr4C/mFWLxdn0eKB7amLA + tE9M1Hp7/7jfENq2zts6bO37+0YZFbpVamlr0jYIbF2RrY8TgH/zJopPlkvhvO0dr9jek0kB5+ez + qzFgcVh+B/PiZrG1smXUR37Lm5vyRMiVJEalw9E6KwSKjuTBdzY5yu/lt6dCjDkq0x5F2fOAQpBj + kquD5k8985R2/c+e7WnLuIowBKZ+1SjTkndejeu2cav58kZen1/MhSgmj5P/AQAA//8DAKimgCF3 + CAAA headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8d6b0558cf9415c2-SJC + - 8ddeee60dfba968f-SJC Connection: - keep-alive Content-Encoding: @@ -5218,14 +5234,14 @@ interactions: Content-Type: - application/json Date: - - Tue, 22 Oct 2024 16:56:32 GMT + - Tue, 05 Nov 2024 18:33:20 GMT Server: - cloudflare Set-Cookie: - - __cf_bm=fExeF73EE2g5iHyZAXBRuahn9FMLyHVg_vyOmot72a8-1729616192-1.0.1.1-UohcIiASIfE.vnjD82vrLyPh7D1FIyqhcRdD4bPqO3II3feCZKZHoUO6XZTeY_beAkJfM1FSqE9Ys9Kpco2O5A; - path=/; expires=Tue, 22-Oct-24 17:26:32 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=gfCCvdfkiSbEVmXTmbrIyYvnN8BH4YcQN.sg7VcMUgQ-1730831600-1.0.1.1-f3v3fXeXFwkucSlEIHOH4VYC4_OxJsFeqLvM.1YZytGg20IRYvcoodKiPya6sKJRZMZJfGTKaorxu_uyF0joMA; + path=/; expires=Tue, 05-Nov-24 19:03:20 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=IqnJojuAHI4m6RhRZrTaqASTACrtQ.Iv7M5fz7DwtmI-1729616192597-0.0.1.1-604800000; + - _cfuvid=1taGTnflOcUBMjHhX8NFyv41oGN_5cgauQObdYQl0G4-1730831600977-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None Transfer-Encoding: - chunked @@ -5238,7 +5254,7 @@ interactions: openai-organization: - future-house-xr4tdh openai-processing-ms: - - "4088" + - "5275" openai-version: - "2020-10-01" strict-transport-security: @@ -5250,13 +5266,13 @@ interactions: x-ratelimit-remaining-requests: - "9999" x-ratelimit-remaining-tokens: - - "29998575" + - "29998552" x-ratelimit-reset-requests: - 6ms x-ratelimit-reset-tokens: - 2ms x-request-id: - - req_7b87676e378f27769869f0d6fe85b17f + - req_f83d093ddb42835fba3353b532ac02fc status: code: 200 message: OK diff --git a/tests/test_paperqa.py b/tests/test_paperqa.py index 303abc2b..797f269d 100644 --- a/tests/test_paperqa.py +++ b/tests/test_paperqa.py @@ -25,6 +25,7 @@ print_callback, ) from paperqa.clients import CrossrefProvider +from paperqa.clients.journal_quality import JournalQualityPostProcessor from paperqa.core import llm_parse_json from paperqa.llms import ( EmbeddingModel, @@ -805,6 +806,10 @@ def test_pdf_reader_w_no_match_doc_details(stub_data_dir: Path) -> None: assert ( next(iter(docs.docs.values())).citation == "Wellawatte et al, XAI Review, 2023" ) + assert ( + next(iter(docs.docs.values())).formatted_citation + == "Wellawatte et al, XAI Review, 2023" + ), "Formatted citation should be the same when no metadata is found." def test_pdf_reader_w_no_chunks(stub_data_dir: Path) -> None: @@ -874,8 +879,11 @@ def test_pdf_reader_match_doc_details(stub_data_dir: Path) -> None: "Wellawatte et al, A Perspective on Explanations of Molecular Prediction" " Models, XAI Review, 2023", use_doc_details=True, - clients={CrossrefProvider}, # Limit to only crossref since s2 is too flaky - fields=["author", "journal"], + clients={ + CrossrefProvider, + JournalQualityPostProcessor, + }, # Limit to only crossref since s2 is too flaky + fields=["author", "journal", "citation_count"], ) doc_details = next(iter(docs.docs.values())) # Crossref is non-deterministic in its ordering for results @@ -896,10 +904,14 @@ def test_pdf_reader_match_doc_details(stub_data_dir: Path) -> None: "10.1021/acs.jctc.2c01235", "10.26434/chemrxiv-2022-qfv02", } + assert "This article has 1 citations." in doc_details.formatted_citation + assert "ChemRxiv" in doc_details.formatted_citation + num_retries = 3 for _ in range(num_retries): answer = docs.query("Are counterfactuals actionable? [yes/no]") if any(w in answer.answer for w in ("yes", "Yes")): + assert "This article has 1 citations." in answer.context return raise AssertionError(f"Query was incorrect across {num_retries} retries.") @@ -1135,3 +1147,18 @@ def test_case_insensitive_matching(): def test_answer_rename(): answer = Answer(question="") assert isinstance(answer, PQASession) + + +@pytest.mark.parametrize( + "doi_journals", + [ + {"doi": "https://doi.org/10.31224/4087", "journal": "EngRxiv"}, + {"doi": "10.26434/chemrxiv-2021-hz0qp", "journal": "ChemRxiv"}, + {"doi": "https://doi.org/10.1101/2024.11.04.621790", "journal": "BioRxiv"}, + {"doi": "10.1101/2024.11.02.24316629", "journal": "MedRxiv"}, + {"doi": "https://doi.org/10.48550/arXiv.2407.10362", "journal": "ArXiv"}, + ], +) +def test_dois_resolve_to_correct_journals(doi_journals): + details = DocDetails(doi=doi_journals["doi"]) # type: ignore[call-arg] + assert details.journal == doi_journals["journal"] From 72b86d63b559194815a7c15be72509594b794d16 Mon Sep 17 00:00:00 2001 From: Michael Skarlinski Date: Tue, 5 Nov 2024 11:37:35 -0800 Subject: [PATCH 4/7] fix cascade of tests altered by presence of journal entry --- paperqa/types.py | 15 ++++++++------- tests/test_clients.py | 5 ++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/paperqa/types.py b/paperqa/types.py index a7d2e2a4..fea72f28 100644 --- a/paperqa/types.py +++ b/paperqa/types.py @@ -482,23 +482,24 @@ def add_preprint_journal_from_doi_if_missing( data: dict[str, Any], ) -> dict[str, Any]: if not data.get("journal"): - if "10.48550/" in data.get("doi", "") or "ArXiv" in ( - data.get("other", {}) or {} - ).get("externalIds", ""): + doi = data.get("doi", "") or "" + if "10.48550/" in doi or "ArXiv" in (data.get("other", {}) or {}).get( + "externalIds", "" + ): data["journal"] = "ArXiv" - elif "10.26434/" in data.get("doi", ""): + elif "10.26434/" in doi: data["journal"] = "ChemRxiv" elif ( - "10.1101/" in data.get("doi", "") + "10.1101/" in doi and len(data.get("doi", "")) == JOURNAL_EXPECTED_DOI_LENGTHS["BioRxiv"] ): data["journal"] = "BioRxiv" elif ( - "10.1101/" in data.get("doi", "") + "10.1101/" in doi and len(data.get("doi", "")) == JOURNAL_EXPECTED_DOI_LENGTHS["MedRxiv"] ): data["journal"] = "MedRxiv" - elif "10.31224/" in data.get("doi", ""): + elif "10.31224/" in doi: data["journal"] = "EngRxiv" return data diff --git a/tests/test_clients.py b/tests/test_clients.py index 6cf90fd2..fdbd156d 100644 --- a/tests/test_clients.py +++ b/tests/test_clients.py @@ -141,7 +141,7 @@ async def test_title_search(paper_attributes: dict[str, str]) -> None: "key": "herger2024highthroughputscreeningof", "doi": "10.1101/2024.04.01.587366", "doc_id": "8e7669b50f31c52b", - "journal": "bioRxiv", + "journal": "BioRxiv", "authors": [ "Michael Herger", "Christina M. Kajba", @@ -313,7 +313,6 @@ async def test_minimal_fields_filtering() -> None: fields=["title", "doi"], ) assert details - assert not details.journal, "Journal should not be populated" assert not details.year, "Year should not be populated" assert not details.authors, "Authors should not be populated" assert set(details.other["client_source"]) == { @@ -353,7 +352,7 @@ async def test_s2_only_fields_filtering() -> None: assert s2_details.citation == ( "Andrés M Bran, Sam Cox, Oliver Schilter, Carlo Baldassari, Andrew D." " White, and P. Schwaller. Augmenting large language models with chemistry" - " tools. Unknown journal, Unknown year. URL:" + " tools. ArXiv, Unknown year. URL:" " https://doi.org/10.48550/arxiv.2304.05376," " doi:10.48550/arxiv.2304.05376." ), "Citation should be populated" From f52318ad9c901aa6808fb7ef42e31e0e737adcd8 Mon Sep 17 00:00:00 2001 From: Michael Skarlinski Date: Tue, 5 Nov 2024 12:25:10 -0800 Subject: [PATCH 5/7] update citation comparison in tests --- tests/test_clients.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/test_clients.py b/tests/test_clients.py index fdbd156d..1d5c82d7 100644 --- a/tests/test_clients.py +++ b/tests/test_clients.py @@ -153,7 +153,7 @@ async def test_title_search(paper_attributes: dict[str, str]) -> None: "formatted_citation": ( "Michael Herger, Christina M. Kajba, Megan Buckley, Ana Cunha, Molly" " Strom, and Gregory M. Findlay. High-throughput screening of human" - " genetic variants by pooled prime editing. bioRxiv, Apr 2024. URL:" + " genetic variants by pooled prime editing. BioRxiv, Apr 2024. URL:" " https://doi.org/10.1101/2024.04.01.587366," " doi:10.1101/2024.04.01.587366. This article has 1 citations." ), @@ -321,19 +321,20 @@ async def test_minimal_fields_filtering() -> None: }, "Should be from two sources" citation_boilerplate = ( "Unknown author(s). Augmenting large language models with chemistry tools." - " Unknown journal, Unknown year. URL:" ) + journal_unknown = " Unknown journal, Unknown year. URL:" assert details.citation in { ( # Match in Nature Machine Intelligence - f"{citation_boilerplate} https://doi.org/10.1038/s42256-024-00832-8," + f"{citation_boilerplate}{journal_unknown} https://doi.org/10.1038/s42256-024-00832-8," " doi:10.1038/s42256-024-00832-8." ), ( # Match in arXiv - f"{citation_boilerplate} https://doi.org/10.48550/arxiv.2304.05376," + f"{citation_boilerplate} ArXiv, Unknown year. URL: " + "https://doi.org/10.48550/arxiv.2304.05376," " doi:10.48550/arxiv.2304.05376." ), }, "Citation should be populated" - assert not details.source_quality, "No source quality data should exist" + assert details.source_quality == -1, "Should be undefined source quality" @pytest.mark.vcr From 5ad41b738c548a347ac9b902e0c29f666d6c74cd Mon Sep 17 00:00:00 2001 From: Michael Skarlinski Date: Tue, 5 Nov 2024 12:47:27 -0800 Subject: [PATCH 6/7] ignore case in comparison test for doi data --- tests/test_clients.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/test_clients.py b/tests/test_clients.py index 1d5c82d7..a6264d57 100644 --- a/tests/test_clients.py +++ b/tests/test_clients.py @@ -208,7 +208,7 @@ async def test_title_search(paper_attributes: dict[str, str]) -> None: ], ) @pytest.mark.asyncio -async def test_doi_search(paper_attributes: dict[str, str]) -> None: +async def test_doi_search(paper_attributes: dict[str, str | list[str]]) -> None: async with aiohttp.ClientSession() as session: client_list = [ client for client in ALL_CLIENTS if client != RetractionDataPostProcessor @@ -228,7 +228,14 @@ async def test_doi_search(paper_attributes: dict[str, str]) -> None: ), "Should have the correct source" for key, value in paper_attributes.items(): if key not in {"is_oa", "source"}: - assert getattr(details, key) == value, f"Should have the correct {key}" + if isinstance(value, str): + assert ( + getattr(details, key).lower() == value.lower() + ), f"Should have the correct {key}" + else: + assert ( + getattr(details, key) == value + ), f"Should have the correct {key}" elif key == "is_oa": assert ( details.other.get("is_oa") == value # type: ignore[union-attr] From 210061523b2198f8e1f601f685d6deabcc0891e3 Mon Sep 17 00:00:00 2001 From: Michael Skarlinski Date: Tue, 5 Nov 2024 13:16:32 -0800 Subject: [PATCH 7/7] reformat test_minimal_fields_filtering to work with ArXiv --- tests/test_clients.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_clients.py b/tests/test_clients.py index a6264d57..d24b61c8 100644 --- a/tests/test_clients.py +++ b/tests/test_clients.py @@ -328,15 +328,15 @@ async def test_minimal_fields_filtering() -> None: }, "Should be from two sources" citation_boilerplate = ( "Unknown author(s). Augmenting large language models with chemistry tools." + " ArXiv, Unknown year. URL:" ) - journal_unknown = " Unknown journal, Unknown year. URL:" assert details.citation in { ( # Match in Nature Machine Intelligence - f"{citation_boilerplate}{journal_unknown} https://doi.org/10.1038/s42256-024-00832-8," + f"{citation_boilerplate} https://doi.org/10.1038/s42256-024-00832-8," " doi:10.1038/s42256-024-00832-8." ), ( # Match in arXiv - f"{citation_boilerplate} ArXiv, Unknown year. URL: " + f"{citation_boilerplate} " "https://doi.org/10.48550/arxiv.2304.05376," " doi:10.48550/arxiv.2304.05376." ),