图1 Reaxys中的反应记录,反应试剂中的氢气参与了反应,但未出现在反应式中配平不缺项的化学反应是一个简单的线性代数问题,但对于缺项化学反应的补全目前尚无较好的解决方案。由于缺乏充足的不缺项、配平的化学反应数据,单纯基于反应模板的方法或基于机器学习的方法都不可靠,二者的组合可能是解决问题的最佳方案。来自剑桥大学的Zhang Chonghuan等人最近提出了一种结合经验与语言模型的化学反应补全与配平方案1,目前发表在ChemRxiv中。——方法简述——基于经验的补全与配平:ChemBalancer化学反应数据库中的少部分反应已经配平,或可以通过较为简单的方式补全并配平。作者提出了ChemBalancer工具,用于判断反应是否已配平,并根据反应是左侧(Left hand side,LHS)缺项还是右侧(Right hand side,RHS)缺项分别处理补全操作。ChemBalancer的计算流程如图2所示。作者定义配平的反应是左右两侧各类型重原子数和总电荷都相等的反应。未配平的反应首先通过线性代数计算反应系数尝试配平,但限制最大的反应系数为6以防止产生假阳性结果。无法配平或左右两侧所含原子类型不一致的反应,需要判断其为LHS缺项还是RHS缺项。对LHS缺项的反应,作者在从USPTO数据中提取到的全部反应试剂和溶剂分子中选出一个能配平反应的分子;若存在多种可能,所有补全结果会通过RXNMapper2工具计算原子编号的confidence score,并保留排名第一的结果。对RHS缺项的反应,作者人工定义了仅包含32个分子和离子的库(help species),从中选出能配平反应的物种。如果LHS和RHS同时缺项,则优先处理LHS缺项,但允许在LHS补全得不到结果时,将help species也用于补齐LHS缺项。ChemBalancer无法处理的LHS和RHS缺项将通过后续的语言模型处理。
[1] Zhang, Chonghuan et al. “Completing and balancing database excerpted chemical reactions with a hybrid mechanistic-machine learning approach” ChemRxivpreprint (2023). DOI: 10.26434/chemrxiv-2023-hrgfw.[2] Schwaller, Philippe et al. "Extraction of Organic Chemistry Grammar from Unsupervised Learning of Chemical Reactions." Sci. Adv. 7.15 (2021): eabe4166. DOI: 10.1126/sciadv.abe4166.[3] Liu, Yinhan et al. “RoBERTa: A Robustly Optimized BERT Pretraining Approach” arXivpreprint (2019). DOI: 10.48550/arXiv.1907.11692[4] Sennrich, Rico et al. “Neural Machine Translation of Rare Words with Subword Units” arXiv preprint (2016). DOI: 10.48550/arXiv.1508.07909