SoPa: Bridging CNNs, RNNs, and Weighted Finite-State Machines