Temat uczenia maszynowego to bardzo złożone pole, a jeśli naprawdę chcesz stworzyć taką aplikację, będziesz potrzebował badań, niezależnie od używanej biblioteki.
W każdym razie proponuję użyć SVM (maszyn wektorowych wspierających). Używałem go w pythonie w tym celu, i to jest niesamowite. Musisz jednak znaleźć implementację C#. Chodzi o to, aby odwzorować cechy tekstu (np. "Słowa kończące się na .Net") na wymiary, a następnie użyć tych funkcji, aby utworzyć regiony w utworzonej przestrzeni do oznaczania (cokolwiek w podprzestrzeni X zostanie oznaczone jako Y).
To naprawdę skomplikowany temat, a moje wyjaśnienie może tylko sprawić, że będzie on mniej czytelny, więc pozostawię to, jeśli zechcesz, przeczytasz i wykorzystasz.
Oto coś, byś mógł zacząć od Wikipedia - Support Vector machine (SVM)
Edit: Wydaje się, że LibSVM (biblioteka Pracowałem z Pythona) jest również dostępny dla C# od jego HomePage. Powodzenia
To zakłada, że pytanie będzie zawierało odpowiednie znaczniki osadzone w tekście. Na twoje pytanie algorytm może wymyślić ".Net" i "uczyć się", ale nie ma C#. –
@Noel: Ale czy teraz pytanie "poprawnie" zostało oznaczone? Rozumiem, co masz na myśli, ale szczerze mówiąc, treść pytania dotyczy tylko .NET i uczenia maszynowego - może być napisana w języku F #, VB lub zarządzanym C++ (jeśli była przechowywana tylko dla .NET) –
@Noel Abrahams: gdzie jest to założenie? Kto powiedział, że tagi zostaną wyjęte z tekstu? –