Techniques for Learning Charges