SoftMatcha: 大規模コーパス検索のための
柔らかくも高速なパターンマッチャー

出口祥之1 鴨田豪2 松下祐介3 田口智大4 末永幸平3 和賀正樹3 横井祥5,2,6

1NAIST 2東北大学 3京都大学 4ノートルダム大学 5国立国語研究所 6理化学研究所

TL;DR 自然言語に内在する類義語や形態素の変化に対して
柔軟に対応でき,かつ,
10 億語規模の巨大なコーパスに対しても
高速に検索できる,柔らかくも高速なパターンマッチャー

SoftMatcha overview
Abstract

パターンマッチングは、テキスト中の特定のパターンが出現する箇所を検索する技術であり、 マッチした行を抽出するgrepコマンドや、コーパス言語学の観点で用例検索を行う keyword in context (KWIC) のように、広く応用されている。 最近では、大規模言語モデルの性質を学習事例に帰着させて分析するなど、 テキスト検索のニーズが高まっている。既存技術の問題点として、表層的な文字一致に基づいているため、 自然言語に顕著な表記揺れや同義語への言い換えに対応できない。一方で、 密ベクトル検索は意味的な比較ができるものの、似たトピックの全く異なる文まで粗く検出することがある。 本研究では、単語埋め込みを用いて、高速な文字列探索アルゴリズムを連続的に拡張し、 柔らかい上に高速な単語列マッチングを実現する。

BibTeX
@inproceedings{
  deguchi-iclr-2025-softmatcha,
  title={SoftMatcha: A Soft and Fast Pattern Matcher for Billion-Scale Corpus Searches},
  author={Deguchi, Hiroyuki and Kamoda, Go and Matsushita, Yusuke and Taguchi, Chihiro and Waga, Masaki and Suenaga, Kohei and Yokoi, Sho},
  booktitle={The Thirteenth International Conference on Learning Representations (ICLR 2025)},
  year={2025},
  url={https://openreview.net/forum?id=Q6PAnqYVpo}
}