The idea of having an audit log is a really good decision. It protects not only users from unfair moderation, but it also protects the moderator. When you are in need of exercising your power, things can quickly get heated, and the internet is known for working as an amplifier.
As for an automated moderation bot, you need to minimize two things:
Type 1 error rate---in which the bot fails to ban someone who should obviously have been, and
Type 2 error rate---in which the bot bans someone who shouldn't have been banned.
It is important that you don't seek to improve one error rate at the expense of the other. As an example, suppose I ban everyone. Now I have 0% type 1 error rate, a perfect score! But I also have a 100% type 2 error rate, an imperfect score! In practice, you want to work with the so called F1 score (the harmonic mean of the error rates) so you seek to improve both. Text is, as data concerned, sparse. So a bot using single words to meter out judgement is going to have a really bad type 2 error rate. This problem is really hard to solve in general and requires much dedication and training data to successfully pull off. You need to look at the context in which the word occurs as well. Also, even if I manage to train up the bot, people will seek to find other ways around it.
What is worse is that a type 2 error rate will be seen as unfair. This creates animosity, which severely can hamper communication.
As a loose suggestion, have you considered having multiple global chat channels such as Path of Exile, for each area (LFG, Trade, Banter, ...)? You could focus on moderation of some of them, while still giving people some leverage to freely moderate other channels? People parse text wildly differently. What is a fun in-joke to some will be the most offensive thing to another human being. The traditional solution has been to have convene in different groups, as to not anger each other. But this would allow different mind sets to chat in-game, and also give DE a certain amount of plausible deniability (I know there are obvious limits here).