質問概要
複数の文章をデータベースとして,文字列の検索エンジンを作ろうとしています.
その手法としてn-gram法を採用しようと考えています.
その際,索引をリレーショナルデータベースで構築しようとした場合,その構造について調べても分からなかったため,質問させていただきます.
n-gramの簡単な説明
n-gram法では文章をn文字ごとに区切り,その文字列が出現する文章番号をまとめたデータベースを作る手法です.(詳しい内容はこちら)
例えばn=2として分割したトークンのうち,"明日"というトークンが文章1と文章2に出現し,"食事"というトークンが文章2と文章4と文章5に出現するとします.すると索引情報は次の様になります.
トークン | doc_IDs |
---|---|
明日 | 1, 2 |
食事 | 2, 4, 5 |
わからないところ
上の索引情報のdoc_IDs
は要素数が冗長であるため,リレーショナルデータベースの構築方法に悩んでいます.このような場合のリレーショナルデータベースの構造をどのようにすべきなのか,もしくはリレーショナルデータベースではなく階層型のデータベースを使用すべきなのか,教えていただけると幸いです.
もし説明に不十分な点がありましたら教えてください.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/03 08:46