ResearchMath-14kデータセットを用いたセマンティック検索エンジンとオープンステータス分類器の構築
本チュートリアルでは、研究レベルの数学問題に対する完全なNLPパイプラインを解説します。ResearchMath-14kデータセットを使用し、TF-IDFによる分野別キーワード抽出、文埋め込み生成、UMAPによる可視化、K-Meansクラスタリング、セマンティック検索エンジンの構築、そして各問題のオープンステータスを予測する分類器の訓練を行い、類似問題の検出まで行います。
本チュートリアルでは、amphora/ResearchMath-14kデータセットを使用して、研究レベルの数学問題に対するNLPパイプラインを構築する方法を紹介します。このデータセットはarXivから収集された約14,000件の数学問題から構成され、各問題には数学分野と開放状態(未解決または解決済み)がラベル付けされています。
まず、データセットを読み込み、その構造を確認します。問題の数学分野と開放状態の分布を可視化し、分野ごとに開放状態の割合が異なることを確認します。また、問題の長さを調べ、分析に適したテキストのみを抽出します。
次に、TF-IDFを使用して各数学分野に特徴的なキーワードを抽出します。これにより、各研究領域でどのようなトピックや用語が支配的かを理解できます。例えば、数論の分野では「素数」や「楕円曲線」といった用語がよく現れます。
その後、SentenceTransformerモデルを用いて各問題を意味埋め込みベクトルに変換します。UMAPを使って高次元の埋め込みを2次元に削減し、K-Meansクラスタリングを適用します。調整ランド指数(ARI)と正規化相互情報量(NMI)を用いて、クラスタリング結果が人間によるラベルとどの程度一致するかを評価します。
セマンティック検索エンジンを構築します。ユーザーがクエリを入力すると、クエリの埋め込みと全問題の埋め込みとのコサイン類似度を計算し、最も類似した問題を返します。また、ロジスティック回帰を用いて埋め込みから各問題の開放状態を予測する分類器を訓練し、高い精度を達成します。
最後に、全問題間のコサイン類似度を計算し、最も類似した問題のペアを特定します。これにより、近似重複や密接に関連する研究課題を見つけることができます。
このワークフローは、現代のNLP技術が数学研究の探索、状態予測、重複発見にどのように活用できるかを示しています。完全なコードはオンラインで入手可能です。