Haven't had time to do it yet, but aside from keyword filtering I think a good solution is to block replies posted within the same second as the original post. A real human couldn't reply within 1 second. Yes they can just add a sleep into the script, but it adds a layer to the spam filter. At the intersection of all the mitigations, spam will be reduced.
nostr:note1x3w56pr8evc2mhlssjxu8dwvjahnsue2v3605awr0xcustckql5q39ul9u