Pre-processing the molecules from the ChEMBL31-IC50s dataset with LigPrep at pH 7.4 ± 1.0 yielded 4,720 variants. The molecules were docked into the COX-2 structure with restraints so that the maximum common substructure between the molecule and the crystal pose of Vioxx is aligned within a 2.5 Å RMSD tolerance. This restriction guarantees that only molecules that dock in the same pocket with a similar orientation to Vioxx are considered. 2,865 poses were obtained from 2,811 unique molecule SMILES, with GlideSP Scores between -12.58 and -0.5. Only the lowest GlideSP score for each molecule was considered for fine-tuning a CHEM-BERT model for the docking scores. The data was first stratified into three groups using Scikit-learn's KBinsDiscretizer with K-Means strategy to separate "binding" (-12.58 ≤ GlideSP Score < -9.06, 1,340 molecules), "intermediate" (-9.06 ≤ GlideSP Score < -6.82, 1,064 molecules) and "non-binding" (-6.82 ≤ GlideSP Score < -0.50, 407 molecules). The data was then split into 80% for training, 10% for validation, and 10% for testing (2,248:281:282). CHEM-BERT was fine-tuned for 15 epochs, and the model with the lowest validation loss (epoch 15) was chosen for use in the generator biasing.