Chatbot NER ist ein Open-Source-Framework, das speziell zur Unterstützung der Entitätserkennung in Textnachrichten entwickelt wurde. Nach gründlicher Recherche zu bestehenden NER-Systemen verspürte das Team von Haptik den dringenden Bedarf, ein Framework zu entwickeln, das auf Conversational AI zugeschnitten ist und auch indische Sprachen unterstützt. Derzeit unterstützt Chatbot-ner Englisch, Hindi, Gujarati, Marathi, Bengali und Tamil sowie deren Code-Mischform. Derzeit verwendet dieses Framework gängige Muster zusammen mit einigen NLP-Techniken, um notwendige Entitäten aus Sprachen mit spärlichen Daten zu extrahieren. Die API-Struktur von Chatbot ner ist unter Berücksichtigung der Benutzerfreundlichkeit für Conversational AI-Anwendungen konzipiert. Das Team von Haptik arbeitet kontinuierlich daran, dieses Framework für alle indischen Sprachen und ihre jeweiligen lokalen Dialekte zu portieren.
Eine ausführliche Dokumentation zur Einrichtung von Chatbot NER auf Ihrem System mithilfe von Docker finden Sie hier.
Entitätstyp | Code-Referenz | Beschreibung | Beispiel | Unterstützte Sprachen – ISO 639-1- Code |
---|---|---|---|---|
Zeit | TimeDetector | Ermitteln Sie die Zeit anhand des angegebenen Textes. | morgen früh um 5, कल सुबह ५ बजे, kal subah 5 baje | 'en', 'hi', 'gu', 'bn', 'mr', 'ta' |
Datum | DateAdvancedDetector | Ermitteln Sie das Datum aus dem angegebenen Text | Nächsten Montag, Agle Somvar, अगले सोमवार | 'en', 'hi', 'gu', 'bn', 'mr', 'ta' |
Nummer | NumberDetector | Erkennen Sie Zahlen und entsprechende Einheiten im angegebenen Text | 50 rs pro Person, किलो चावल, मुझे एक लीटर ऑइल चाहिए | 'en', 'hi', 'gu', 'bn', 'mr', 'ta' |
Telefonnummer | PhoneDetector | Erkennen Sie die Telefonnummer im angegebenen Text | 9833530536, +91 9833530536, ९८३३४३०५३५ | 'en', 'hi', 'gu', 'bn', 'mr', 'ta' |
EmailDetector | E-Mail im Text erkennen | [email protected] | 'en' | |
Text | TextDetector | Erkennen Sie benutzerdefinierte Entitäten in Textzeichenfolgen mithilfe der Volltextsuche im Datenspeicher oder basierend auf einem Kontextmodell | Bestellen Sie mir eine Pizza | Suche wird unterstützt für „en“, „hi“, „gu“, „bn“, „mr“, „ta“, Kontextmodell wird nur für „en“ unterstützt |
PNR | PNRDetector | Erkennen Sie PNR-Codes (Seriencodes) im angegebenen Text. | Mein Flug-PNR ist 4SGX3E | 'en' |
Regex | RegexDetector | Erkennen Sie Entitäten mithilfe benutzerdefinierter Regex-Muster | Mein Flug-PNR ist 4SGX3E | N / A |
Es gibt andere benutzerdefinierte Detektoren wie „Stadt“ und „Budget-Einkaufsgröße“, die von den oben genannten primären Detektoren abgeleitet sind, aber derzeit nur auf Englisch unterstützt werden und nur auf indische Benutzer beschränkt sind. Wir sind derzeit dabei, sie umzustrukturieren, um sie sprach- und geografisch skalierbar zu machen. Ihre aktuellen Versionen könnten in Zukunft veraltet sein. Für Anwendungen, die sich bereits in der Produktion befinden , empfehlen wir Ihnen daher , nur die in der obigen Tabelle aufgeführten Primärdetektoren zu verwenden .
Eine ausführliche Dokumentation der APIs für alle Entitätstypen finden Sie hier. Die aktuelle API-Struktur ist so aufgebaut, dass sie über Konversations-KI-Anwendungen leicht zugänglich ist. Es kann jedoch auch für andere Anwendungen verwendet werden.
In jeder Konversations-KI-Anwendung müssen mehrere Entitäten identifiziert werden, und die Erkennungslogik für eine Entität kann sich von der anderen unterscheiden. Wir haben dieses Repository wie unten gezeigt organisiert
Wir haben Entitäten in vier Haupttypen eingeteilt, nämlich Zahlen , Muster , Zeit und Text .
Zahl: Dieser Typ enthält alle Entitäten, die sich mit der Zahl oder den Zahlen befassen. Zum Beispiel Zahlenerkennung, Budgeterkennung, Größenerkennung usw.
Muster: Dies enthält alle Erkennungslogiken, bei denen die Identifizierung mithilfe von Mustern oder regulären Ausdrücken erfolgen kann. Zum Beispiel E-Mail, Telefonnummer, PNR usw.
temporal: Es enthält Erkennungslogiken zur Erkennung von Uhrzeit und Datum.
textuell: Es identifiziert Entitäten durch einen Blick auf das Wörterbuch. Diese Erkennung umfasst hauptsächlich die Erkennung von Text (wie Küche, Gericht, Restaurants usw.), dem Namen von Städten, dem Standort eines Benutzers usw.
Ziffern, Zeitangaben und Muster wurden zur Sprachportabilität mit flexiblerer Erkennungslogik nach ner_v2 verschoben. In ner_v1 verfügt derzeit nur Textentität über Sprachunterstützung. Wir werden es ohne größere API-Änderungen auf ner_v2 verschieben.
Derzeit können Sie zu ner_v2 in Chatbot NER beitragen, indem Sie entweder Trainingsdaten hinzufügen oder Erkennungsmuster in Form von Regex beisteuern. Wir werden daran arbeiten, einige architektonische Einschränkungen zu beseitigen, die das Hinzufügen von ML-Modellen und neuen Entitäten in Zukunft erleichtern werden.
Bitte beachten Sie die hier genannten allgemeinen Beitragsschritte, Genehmigungs- und Kodierungsrichtlinien.