Il tema dell'apprendimento automatico è un campo molto complesso e, se si desidera veramente creare un'applicazione di questo tipo, è necessario eseguire alcune ricerche indipendentemente dalla modalità di utilizzo.
In ogni caso, suggerirei di usare SVM (supporto macchine vettoriali). L'ho usato in Python per questo scopo esatto, ed è incredibile. Dovrai comunque trovare un'implementazione in C#. L'idea è di mappare le caratteristiche del testo (come "le parole che terminano con .Net") alle dimensioni, quindi usare quelle caratteristiche per creare regioni nello spazio creato per il tagging (qualsiasi cosa nel sotto-spazio X sarà etichettata come Y).
Questo è un argomento molto complesso, e la mia spiegazione non può che renderlo meno chiaro, quindi lo lascerò a te se lo desideri, da leggere e utilizzare.
Ecco qualcosa per iniziare da Wikipedia - Support Vector machine (SVM)
Edit: Sembra che LibSVM (la libreria ho lavorato con in python) è disponibile per C# anche dalla sua HomePage. Buona fortuna
Ciò presuppone che la domanda conterrà i tag pertinenti incorporati nel testo. Per la tua domanda l'algoritmo potrebbe venire con ".Net" e "learn", ma senza C#. –
@Noel: Ma la domanda "correttamente" è stata taggata ora? Vedo cosa intendi, ma per essere onesti il contenuto della domanda riguarda solo .NET e l'apprendimento automatico: potrebbe essere scritto in F #, VB o in C++ gestito (se fosse mantenuto solo su .NET) –
@Noel Abrahams: dov'è quella supposizione? Chi ha detto che i tag sarebbero stati estratti dal testo? –