Two sharply different approaches: data-driven and grammar-based. There approaches in the middle too. For each kind, you have a wealth of approaches. You really need to dig deep into that if you want to become an expert, otherwise just download a tool and give it a try.