Rechtschreibung Suggestor in ASP.NET
Frage
Ich brauche eine Rechtschreibung Suggestor in ASP.NET zu bauen ... Die unten meine Anforderung ist.
Fall 1: Meine Liste der Wörter sind nicht nur Englist Worte, sondern werden auch einige Codes wie AACD, ESSA, BIMER etc ... ich solche (neu) Wörter aus der Datenbank bereitstellen
.Fall 2: Ich brauche auch eine ähnliche Schreibweise Suggestor für nicht englische Sprache, auch hier habe ich eine Liste von Wörtern aus einer Datenbank zur Verfügung stellen kann
.Nun, irgendwelche Vorschläge, wie ich das gleiche implementieren ist willkommen.
Außerdem fand ich den folgenden Python-Code, von einer Website, die es den wahrscheinlichste Vorschlag heißt es gibt (in Englisch natürlich). Wenn jemand es in C # übersetzen kann, die wirklich hilfreich sein würden.
import re, collections def words(text): return re.findall('[a-z]+', text.lower()) def train(features): model = collections.defaultdict(lambda: 1) for f in features: model[f] += 1 return model NWORDS = train(words(file('big.txt').read())) alphabet = 'abcdefghijklmnopqrstuvwxyz' def edits1(word): s = [(word[:i], word[i:]) for i in range(len(word) + 1)] deletes = [a + b[1:] for a, b in s if b] transposes = [a + b[1] + b[0] + b[2:] for a, b in s if len(b)>1] replaces = [a + c + b[1:] for a, b in s for c in alphabet if b] inserts = [a + c + b for a, b in s for c in alphabet] return set(deletes + transposes + replaces + inserts) def known_edits2(word): return set(e2 for e1 in edits1(word) for e2 in edits1(e1) if e2 in NWORDS) def known(words): return set(w for w in words if w in NWORDS) def correct(word): candidates = known([word]) or known(edits1(word)) or known_edits2(word) or [word] return max(candidates, key=NWORDS.get)
Danke - Raja
Lösung
Das kommerzielle Produkt, das ich auf Anwendungen arbeiten NETSpell Spell Checker , hat es ein Wörterbuch-Tool, das Sie benutzerdefinierten Wörterbücher und Worte hinzufügen kann.
Andere Tipps
Eine weitere Alternative ist NHunspel
NHunspell ist ein kostenloser Open-Source-Zauber Checker für .NET Framework. C # und Visual Basic-Beispielcode ist verfügbar für die Rechtschreibprüfung, Silbentrennung und sysnonym Lookup über Thesaurus.
using (Hunspell hunspell = new Hunspell("en_us.aff", "en_us.dic"))
{
bool correct = hunspell.Spell("Recommendation");
var suggestions = hunspell.Suggest("Recommendatio");
foreach (string suggestion in suggestions)
{
Console.WriteLine("Suggestion is: " + suggestion );
}
}
Free .NET Rechtschreibprüfung auf Basis einer WPF-Textfeld, das verwendet werden kann Client- oder Server-Seite können hier zu sehen . Dies kann eine Liste von Worten übergeben werden, ignorieren (das Benutzerwörterbuch)
Vollständige Offenlegung ... geschrieben von Ihnen wirklich mit etwas Hilfe von Stack-Überlauf natürlich:)