『Pythonではじめる情報検索プログラミング』(佐藤 達也著、森北出版、2020年12月18日発行)

単語

文字Nグラムとは、長さNの部分文字列のこと。N=1はユニグラム、N=2はバイグラムという。文字Nグラムの頻度分布でテキスト中の良く使われている部分文字列を調べたり、隣り合う確率の高い文字を調べることができる。

Physonの形態素解析モジュールにはMeCabjanomeがある。形態素解析で品詞の推定もできる。

bag-of-words:形態素の多重集合で文書を表す。

特徴語:文書の中で内容を表す語のこと。

不要語(stop word):どのような文書でも特徴語になりえない語。日本語の不要語リストにはSlothLibで提供されているものがある。

文書dの特徴語wの条件:

①wはdに高頻度に出現する:単語出現頻度 TF(d,w)、Term Frequency

②wは特定の文書だけに出現する。文書集合D(コーパス)の要素数|D|とする。D中でwが出現する頻度をDF(D,w)とする。wの珍しさは |D|/DF(D,w)

TF・IDF=TF(d,w)・log2(|D|/DF(D,w)) によって語の特徴語らしさを計算する。

文書のランキングの方法

文書の類似性による方法:クエリXと検索対象文書Yとの関連度を求めてランキングする。

①Jaccard係数 |X∩Y|/|X∪Y|。他にDice係数、Simpson係数もある。

例)XとYの特徴語のリストを比較する。

ベクトル空間モデル 文書ベクトルとは文書に現れる特徴語のウエィトを要素とするベクトルのこと。コサイン類似度は文書の類似度として文書ベクトルの角度の類似を計算する。

検索システムの評価。文書集合Uで、検索結果S、正しい検索結果の集合A

①適合度(精度)P=|S∩A|/|S|

②再現率 R=|S∩A|/|A|

F値=2/(1/P+1/R)=2PR/(P+R)で評価する。

適合率・再現率曲線の面積で評価する。平均適合率

テストコレクション:TREC(NIST)、BMIR-J1、BMIR-J2、NICTIR(NICT

文書クラスタリング

検索結果のグループ化。距離データ(類似度の逆)が小さいもの同志をまとめる。

①k平均法 あらかじめ決めておいた数のクラスタに分ける。

②凝集型階層的クラスタリング  個々のデータを要素とするクラスタを作り、順番にマージする。距離の測り方に群平均法とウオード法などがある。

クラス分類

正しい分類を導く。

学習用データには正解が分類基準として付属する。教師あり学習

機械学習では訓練データから汎化を行う。

分類器の評価では、訓練用データと評価用データを分ける。

ナイーブベイズとはデータの特徴とクラスの関係を条件付き確率で表す機械学習アルゴリズムの一種。

サポートベクトルマシンはマージン最大化を特徴とする分類器。

分類器の評価には交差検証を用いることができる。

クエリの修正:適合性フィードバック。その手法でRocchioのアルゴリズム

クエリ拡張:Web検索では検索エンジンの検索履歴などから。シソーラスを利用することもできる。Wikidata、Wikidata Query Service(問い合わせ言語:SPARQL)

トピック:潜在的意味インデキシング(LSI)は特異値分解による次元削減を応用する。

文書単語行列とは文書ベクトルを並べた行列、これを特異値分解する。特異値分解は単語文書行列を3つの行列の積に分解する。

非負値行列因子分解によるトピック抽出。非負値行列分解は単語文書行列を要素が負でない2つの行列の積に分解する。

潜在的ディリクレ配分法。文書をある確率分布でトピックを生み出すものと考え、トピックに固有の確率分布で語を生み出し、その結果、bags-of-wordが作成される。確率分布はDireclet分布から作り出せると想定する。

語の関連性

埋め込みとは集合の要素を何らかの空間上に、要素相互の関係と整合するように対応付ける。2次元平面への埋め込みで可視化できる。語のベクトル表現は語彙数の要素をもつ行列で該当する箇所をONにする。次元削減する。

コーパスから語の埋め込みを得る方法としてWord2vecがある。語の特徴を表現するベクトルを機械学習によって導出することを表現学習と呼ぶ。