This is a known problem that there is a performance drop when the system moves to new unseen data.
the performance gap can be closed with extending training data (obtained either manually or using some distance learning) and focusing more on domain independent features.