Well, snapshots are communicated between the client and server via UDP packets that could theoretically be captured and analyzed in real-time. They only contain very basic information, though, and may require additional information sources for the neural net to properly learn from. There are also logging options for received player actions (I think?). Again, I have a fairly limited understanding of the engine. So, perhaps someone else could step in and give a better answer here.
As a side note, have you looked over Fabien Sanglard’s code review of id’s original repo? (http://fabiensanglard.net/quake3/) He included the original bot code author’s technical paper about how the implemented AI works, which may give you some good ideas for your project. ioq3 has diverged quite a bit from the original id source, but it’s still pretty relevant.