大きなコーパス (英語や任意の言語など) があり、それに対してセマンティック検索を実行したいとします。たとえば、次のクエリがあります。
「気をつけて: [sg] の [art] 艦隊が [do sg] にやってくるぞ!」
そして、コーパスには次の文が含まれています。
「気をつけてください: エイリアン船の艦隊が私たちの惑星を破壊しようとしています!」
私のクエリ文字列には、次のような「セマンティックプレースホルダー」が含まれていることがわかります。
- [art] - 記事のプレースホルダー (英語の a / an など)
- [sg], [do sg] - NP と VP のプレースホルダー (主語と述語)
これらのクエリを効率的に処理できるライブラリを開発したいと考えています。テキストの解析にはある種の POS タグが必要になると思いますが、既存の全文検索エンジンを完全に再実装して機能させたくないため、これをどのように統合できるかを検討しています。 Lucene のような検索エンジンへの動作は?
場合によっては同様に動作する可能性のある SpanQueries があることは知っていますが、ご覧のとおり、Lucene は保存されたテキストに対してセマンティックな処理を行いません。
このような動作を実装することは可能ですか? または、独自の検索エンジンを作成する必要がありますか?