Chatbot NER は、テキスト メッセージ内のエンティティ認識をサポートするためにカスタム構築されたオープン ソース フレームワークです。既存の NER システムを徹底的に調査した後、Haptik のチームは、会話型 AI に合わせてインドの言語もサポートするフレームワークを構築する必要性を強く感じました。現在、Chatbot-ner は英語、ヒンディー語、グジャラート語、マラーティー語、ベンガル語、タミル語、およびそれらの混合形式のコードをサポートしています。現在、このフレームワークは、一般的なパターンといくつかの NLP 手法を使用して、スパース データを持つ言語から必要なエンティティを抽出します。 Chatbot ner の API 構造は、会話型 AI アプリケーションでの使いやすさを考慮して設計されています。 Haptik のチームは、このフレームワークをすべてのインドの言語とそれぞれの地域の方言に移植することに継続的に取り組んでいます。
Docker を使用してシステムに Chatbot NER をセットアップする方法に関する詳細なドキュメントは、ここから入手できます。
エンティティの種類 | コードリファレンス | 説明 | 例 | サポートされている言語 - ISO 639-1コード |
---|---|---|---|---|
時間 | 時間検出器 | 与えられたテキストから時間を検出します。 | 明日の朝5時、कल सुबह ५ बजे、kal subah 5 baje | 「エン」、「ハイ」、「グ」、「ビー」、「ミスター」、「タ」 |
日付 | DateAdvancedDetector | 指定されたテキストから日付を検出する | 来週の月曜日、agle somvar、अगलेसोमवार | 「エン」、「ハイ」、「グ」、「ビー」、「ミスター」、「タ」 |
番号 | ナンバーディテクタ | 指定されたテキスト内の数値とそれぞれの単位を検出します | 1 人あたり 50 RS、特別料金。 | 「エン」、「ハイ」、「グ」、「ビー」、「ミスター」、「タ」 |
電話番号 | 電話探知機 | 指定されたテキスト内の電話番号を検出します | 9833530536、+91 9833530536、電話番号 | 「エン」、「ハイ」、「グ」、「ビー」、「ミスター」、「タ」 |
電子メール | 電子メール検出器 | テキスト内の電子メールを検出する | [email protected] | 「えん」 |
文章 | テキスト検出器 | データストアでの全文検索を使用するか、コンテキスト モデルに基づいて、テキスト文字列内のカスタム エンティティを検出します。 | ピザを注文してください。 | 検索は「en」、「hi」、「gu」、「bn」、「mr」、「ta」でサポートされます。コンテキスト モデルは「en」のみでサポートされます |
PNR | PNR検出器 | 指定されたテキスト内の PNR (シリアル) コードを検出します。 | 私のフライトの PNR は 4SGX3E です | 「えん」 |
正規表現 | 正規表現検出器 | カスタム正規表現パターンを使用してエンティティを検出する | 私のフライトの PNR は 4SGX3E です | NA |
上記のプライマリ検出器から派生した都市、予算の買い物サイズなどのカスタム検出器は他にもありますが、現在サポートされているのは英語のみで、インドのユーザーのみに限定されています。現在、言語や地域を超えて拡張できるように再構築中ですが、現在のバージョンは将来非推奨になる可能性があります。したがって、すでに運用されているアプリケーションの場合は、上の表に記載されているプライマリ ディテクタのみを使用することをお勧めします。
すべてのエンティティ タイプの API の詳細なドキュメントは、ここから入手できます。現在の API 構造は、会話型 AI アプリケーションから簡単にアクセスできるように構築されています。ただし、他のアプリケーションにも使用できます。
会話型 AI アプリケーションでは、識別されるエンティティがいくつかあり、あるエンティティの検出ロジックが他のエンティティとは異なる場合があります。このリポジトリは以下のように構成されています
私たちはエンティティを 4 つの主要なタイプ (数値、パターン、時間的、テキスト)に分類しました。
numeral: このタイプには、数字を扱うすべてのエンティティが含まれます。たとえば、数の検出、予算の検出、サイズの検出などです。
pattern: これには、パターンまたは正規表現を使用して識別を行うことができるすべての検出ロジックが含まれます。たとえば、電子メール、電話番号、PNR などです。
Temporal: 時刻と日付を検出するための検出ロジックが含まれます。
textual: 辞書を参照してエンティティを識別します。この検出には主に、テキスト (料理、皿、レストランなど)、都市名、ユーザーの位置などの検出が含まれます。
数値、時間、およびパターンは、より柔軟な検出ロジックを備えた言語の移植性のために ner_v2 に移動されました。 ner_v1 では、現在テキストエンティティのみが言語をサポートしています。 API に大きな変更は加えずに ner_v2 に移行する予定です。
現在、チャットボット NER の ner_v2 に貢献するには、トレーニング データを追加するか、正規表現の形式で検出パターンを提供するかのいずれかが必要です。私たちは、将来的にML モデルと新しいエンティティを追加するプロセスを容易にするために、いくつかのアーキテクチャ上の制限を取り除くことに取り組んでいきます。
ここで説明されている投稿、承認、およびコーディングのガイドラインの一般的な手順を参照してください。