文書-用語マトリックス

文書-用語行列は、文書コレクション内の各文書に出現する用語の頻度を表す数学行列です。文書-用語行列では、行は文書コレクション内の文書に対応し、列は用語に対応します。この行列は、文書-特徴行列の特定の例であり、「特徴」は用語以外の文書の特性を指す場合もあります。[ 1 ]また、文書が列、用語が行となる転置行列、または用語-文書行列もよく使用されます。これらは自然言語処理計算テキスト分析の分野で有用です。[ 2 ]

セルの値は、通常、特定の用語の生のカウントですが、行の正規化 (相対頻度/割合など) やtf-idfなど、生のカウントに重み付けするさまざまなスキームがあります。

用語は通常、両側に空白または句読点(ユニグラム)で区切られた単一の単語です。このような場合、個々の単語の数は保持されますが、文書内の単語の順序は保持されないため、「bag of words」表現とも呼ばれます。

一般的な概念

文書コーパスに出現する用語のデータセットを作成する場合、文書-用語行列には、文書に対応する行と用語に対応する列が含まれます。各ijセルは、文書iにおける単語jの出現回数を表します。したがって、各行は、その行に対応する文書の内容を表す用語カウントのベクトルです。例えば、次の2つの(短い)文書があるとします。

  • D1 = 「データベースが好きです」
  • D2 = 「データベースが嫌い」

文書-用語マトリックスは次のようになります。

のように嫌いデータベース
D11101
D21011

これは、どの文書にどの用語が含まれ、それらが何回出現するかを示します。文書を単なるトークンカウントリストとして表現するのとは異なり、文書-用語マトリックスにはコーパス(つまりコーパス語彙)内のすべての用語が含まれることに注意してください。そのため、特定の文書には出現しないコーパス内の用語には、ゼロカウントが存在します。このため、文書-用語マトリックスは通常、スパースマトリックス形式で保存されます。

ほぼすべてのコーパスにおいてトークンはべき乗分布を示すため(ジップの法則を参照)、カウントに重み付けするのが一般的です。これは、カウントを文書内のトークンの総数で割る(相対頻度または割合と呼ばれる)、各文書の最大頻度で割る(プロップマックスと呼ばれる)、頻度の対数を取る(ログカウントと呼ばれる)といった単純な方法でも可能です。コーパス全体と比較して、個々の文書に最も固有の単語に重み付けしたい場合は、tf-idfを使用するのが一般的です。これは、用語の頻度をその用語の文書頻度で割ります。

コンセプトの歴史

文書-用語マトリックスは、テキストのコンピュータ化が始まった初期に登場しました。文書の保存容量の増加に伴い、特定の文書を効率的に検索することが困難になりました。以前は分類と索引付けの作業は手作業で行われていましたが、研究者たちは単語の頻度情報を用いてこれを自動的に行う可能性を模索しました。

最初に公開された文書用語マトリックスの一つは、ハロルド・ボルコの1962年の論文「経験に基づく数学的に導出された分類システムの構築」(282ページ、1965年の論文[ 3 ]も参照)に掲載されている。ボルコは、システム開発会社のジョン・C・オルニーが開発した「FEAT」(「Frequency of Every Allowable Term」の略)と、同じくシステム開発会社のアイリーン・ストーンが開発した「Descriptor Word Index Program」という2つのコンピュータプログラムに言及している。

実験ライブラリを構成する文書を選定した後、次のステップは、コンピュータ処理の準備として、テキスト全体をキーパンチで入力することでした。この分析に使用されたプログラムはFEAT(Frequency of Every Allowable Term)です。これはシステム開発会社のジョン・C・オルニーによって開発され、個々の単語と単語のペアの出現頻度と要約をカウントするように設計されています。このプログラムの出力は、テキストに出現するすべての単語の種類を出現頻度順にアルファベット順に並べたリストです。and、the、at、aなどの特定の機能語は「禁止語リスト」テーブルに登録され、これらの単語の出現頻度は別のリストに記録されました。…この情報を提供し、因子分析プログラムへの入力に適した形式で文書-用語マトリックスを作成するために、記述語索引プログラムと呼ばれる特別なコンピュータプログラムが開発されました。記述語索引プログラムは、システム開発会社のアイリーン・ストーンによって開発されました。[ 4 ]

その後まもなく、ジェラルド・サルトンは1963年に「自動文書検索のための階層的モデル」を発表し、文書-用語マトリックスの視覚的描写も含まれていました。[ 5 ]サルトンは当時ハーバード大学に在籍しており、彼の研究は空軍ケンブリッジ研究所とシルバニア・エレクトリック・プロダクツ社の支援を受けていました。この論文でサルトンは、単語間の類似性を測定するために使用される一種の用語-文脈マトリックスと比較しながら、文書-用語マトリックスを紹介しています。

単語の関連付けの代わりに、文書の関連付けや文書クラスターを生成したい場合は、少し変更を加えて同じ手順を使用できます。単語-文行列Cから始める代わりに、文書 D jにおける単語 W iの出現頻度をリストした単語-文書行列Fを作成すると便利です。文書の類似性は、行のペアを比較し、指定された文書に含まれるコンテンツ語の共起頻度に基づいて類似度係数を取得することで、これまでと同様に計算できます。この手順により、文書-文書類似度行列が生成され、これを文書クラスターの生成に使用できます... [ 5 ]

ボルコとサルトンに加え、1964年にはFW・ランカスターが自動索引作成と検索に関する包括的なレビューを発表しました。この研究はワシントンD.C.のヘルナー・アンド・カンパニーで勤務していた時期に発表されましたが、論文執筆当時は「アスリブのアスリブ・クランフィールド・プロジェクトに研究員として従事していた」時期でした。[ 6 ]ランカスターは、文書用語マトリックスの考案者としてボルコを挙げています。

システム開発会社のハロルド・ボルコ氏は、この操作をもう少し進めました。実験的な語彙集の語彙から、重要な手がかり語のグループが選択されます。これらは、各文書における各用語の出現頻度を示すために、文書/用語マトリックスに配置されます。…次に、文書セットにおける共起に基づいて、各単語ペアの相関係数が計算されます。結果として得られた用語/用語マトリックス…は因子分析され、一連の因子が分離されます。これらの因子は、各因子に出現する高負荷の用語に基づいて解釈および命名されると、経験的分類のクラスになります。各因子に高負荷の用語は、手がかり語、つまりカテゴリーの予測子です。

用語の選択

マトリックスの観点では、各行が文書を表すということになります。通常、文書-用語マトリックスの計算に使用されるベクトル意味モデルでは、文書のトピックを意味的に重要な用語の頻度で表すことが目標です。用語は文書の意味単位です。インド・ヨーロッパ語族では、名詞、動詞、形容詞がより重要なカテゴリであり、これらのカテゴリに属する​​単語は用語として保持されるべきであるとよく考えられています。コロケーションを用語として追加すると、特に文書間の類似性を計算する際に、ベクトルの品質が向上します。

アプリケーション

検索結果の改善

潜在的意味解析(LSA、文書-用語行列の特異値分解)は、多義語の曖昧性を解消し、クエリの同義語を検索することで検索結果を向上させることができます。しかし、高次元連続空間での検索は、検索エンジンの標準的なトライデータ構造での検索よりもはるかに遅くなります。

トピックを見つける

文書-用語行列の多変量解析により、コーパスのトピック/テーマを明らかにすることができます。具体的には、潜在意味解析データクラスタリングが用いられますが、最近では、確率的潜在意味解析とその一般化である潜在ディリクレ分布、および非負値行列因子分解が、このタスクにおいて優れた性能を示すことが分かっています。

参照

実装

  • Gensim : ベクトル空間モデリングのためのオープンソースのPythonフレームワーク。テキストから用語-文書行列を構築するためのメモリ効率の高いアルゴリズムと、一般的な変換(tf-idfLSALDA)が含まれています。

参考文献

  1. ^ 「ドキュメント特徴マトリックス::quantedaのチュートリアル」 . tutorials.quanteda.io . 2021年1月2日閲覧
  2. ^ 「Rでドキュメント-用語マトリックスを作成する15の方法」ダスティン・S・ストルツ。 2021年1月2日閲覧
  3. ^ Borko, Harold (1965). 「心理報告書のための因子分析に基づく分類システム」 .知覚と運動技能. 20 (2): 393– 406. doi : 10.2466/pms.1965.20.2.393 . ISSN 0031-5125 . PMID 14279310. S2CID 34230652 .   
  4. ^ Borko, Harold (1962). 「経験的に基づく数学的に導出された分類システムの構築」. 1962年5月1日~3日開催の春季合同コンピュータ会議 - AIEE-IRE '62 (Spring) の議事録. ニューヨーク州ニューヨーク: ACM Press. pp.  279– 289. doi : 10.1145/1460833.1460865 . ISBN 9781450378758. S2CID  6483337 .{{cite book}}: ISBN / Date incompatibility (help)
  5. ^ a b Salton, Gerard (1963年7月). 「自動文書検索のためのいくつかの階層モデル」 . American Documentation . 14 (3): 213– 222. doi : 10.1002/asi.5090140307 . ISSN 0096-946X . 
  6. ^ LANCASTER, FW (1964-01-01). 「機械化された文書管理:最近の研究のレビュー」 . ASLIB Proceedings . 16 (4): 132– 152. doi : 10.1108/eb049960 . ISSN 0001-253X .