The subject of machine learning is a very complex field, and if you really want to create such an application you'll need some research done no matter what lib you're using.
In any case, I'd suggest using SVM (support vector machines). I've used it in python for this exact purpose, and it's incredible. You'll need to find a C# implementation thou. The idea is to map features of text (like "words that end with .Net") to dimentions, use those features to create regions in the created space for tagging (anything in the sub-space X will be tagged as Y).
This is a really complex subject, and my explenation can only make it less clear, so I'll leave it up to you if you want, to read and use.
Here's something to get you started from Wikipedia - Support Vector maching (SVM)
Edit: It seems that LibSVM (the library I worked with in python) is also avelible for C# at from it's HomePage. Good luck