Тема машинного обучения - очень сложное поле, и если вы действительно хотите создать такое приложение, вам понадобятся некоторые исследования независимо от того, какую библиотеку вы используете.
В любом случае, я бы предложил использовать SVM (поддерживающие векторные машины). Я использовал его в python для этой цели, и это невероятно. Однако вам нужно найти реализацию C#. Идея состоит в том, чтобы сопоставить функции текста (например, «слова, которые заканчиваются на .Net»), а затем использовать эти функции для создания регионов в созданном пространстве для тегов (что-либо в подпространстве X будет помечено как Y).
Это очень сложный вопрос, и мое объяснение может сделать его менее ясным, поэтому я оставлю его вам, если вы хотите, читать и использовать.
Вот что-то, чтобы вы начали с Wikipedia - Support Vector machine (SVM)
Edit: кажется, что LibSVM (библиотека, я работал в питоне) также доступен для C# из его HomePage. Удачи
Это предполагает, что вопрос будет содержать соответствующие теги, встроенные в текст. Для вашего вопроса алгоритм может придумать «.Net» и «учиться», но не C#. –
@Noel: Но сейчас вопрос «правильно» отмечен? Я понимаю, что вы имеете в виду, но, честно говоря, содержание вопроса связано только с .NET и машинным обучением - оно может быть записано в F #, VB или управляемом C++ (если оно хранилось только в .NET) –
@Noel Abrahams: где это предположение? Кто сказал, что теги будут извлечены из текста? –