Ich möchte eine gute Möglichkeit zur Termextraktion auf Freeform-Consumer-Textdaten durchführen. In einem idealen Szenario könnte ich Nominalphrasen von mindestens zwei Wörtern extrahieren, die eine Art Kontext ihrer Verwendung einschließen. Dies sind meine idealen Anforderungen.Extrahieren von Begriffen mit Kontextrelevanz (Nominalphrasen) aus Text in einem .NET-Projekt
- Nominalphrase Extraktion
- Einfache Integration in einem .NET-Projekt
- keine 3rd-Party-Service-Integration
ich einige der Forschung bereits getan habe und ich habe einige Anmerkungen unten enthalten.
Es gibt viele verschiedene NLP-Bibliotheken da draußen. Die großen Konkurrenten scheinen NLTK und OpenNLP zu sein. Beide unterstützen das Token von Textdaten und extrahieren unter anderem Nominalphrasen. Beide sind jedoch nicht in .NET implementiert und eine Art IPC-Schicht wäre erforderlich. Sie haben beide auch ziemlich hohe Lernkurven.
SharperNLP ist ein C# -Port von OpenNLP. Es hatte eine kurze Aktivität im Jahr 2006, aber nicht viel seitdem.
Hier sind einige Notizen von jemandem, der versucht hat, NLTK in eine .NET-Implementierung mit IronPython zu integrieren.
Open Source NLP in C# 3.5 using NLTK.
Die einfachste Lösung, die ich bisher gefunden habe, ist die SQL Server Integration Services Term Extraction Transformation. Es war sehr einfach zu konfigurieren und in Betrieb zu nehmen. Es konnte aussagekräftige Nominalphrasen mit hoher Genauigkeit extrahieren. Es hat jedoch eine Reihe von Einschränkungen.
Um zu schließen, merke ich, dass meine Anforderungen ein wenig zu streng sein können, also zögern Sie bitte nicht, mit jeder Art von Lösung zu antworten, die mindestens Nominalphrasensatzfragmente extrahiert.
haupt nicht der gleiche Algorithmus ist aber C# Algorithmus ergeben. http://tartarus.org/~martin/PorterStemer/csharp2.txt Eine Nominalphrase ist deutlich komplexer – Paparazzi