問題タブ [latent-semantic-indexing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
11226 参照

python - Gensimを介して見えないドキュメントのトピックを見つける

私はGensimを使って大規模なトピックモデリングを行っています。見えない(インデックス付けされていない)ドキュメントの予測トピックを決定する方法を理解するのに苦労しています。例:LSA(およびLDA)空間でベクトルに変換した2500万のドキュメントがあります。新しいドキュメントのトピックを理解したいので、xと呼びましょう。

Gensimのドキュメントによると、私は次のものを使用できます。

ここで、doc(x)は、xをベクトルに変換する関数です。

ただし、問題は、上記の変数topicsがベクトルを返すことです。このベクトルは、xを追加のドキュメントと比較する場合に役立ちます。これにより、ドキュメント間の余弦の類似性を見つけることができますが、x自体に関連付けられている特定の単語を実際に返すことはできません。

私は何かが足りないのですか、それともGensimにはこの機能がありませんか?

ありがとうございました、

編集

Larsmansが答えを持っています。

以下を使用してトピックを表示することができました。

0 投票する
3 に答える
14263 参照

python - 類似した意味またはセマンティクスを持つフレーズを照合するために使用する NLP ツール

フレーズまたはキーワードを一連の類似キーワードと一致させる必要があるプロジェクトに取り組んでいます。同じ意味分析を実行する必要があります。

例:

関連 QT
安価な健康保険
手頃な価格の健康保険
低コストの医療保険より 安価な健康保険
の健康保険プラン

一般的な意味

低コストの健康保険

ここで、一般的な意味列の下の単語は、関連する QT 列の下に一致する必要があります。同じことを行うためのツールやテクニックをたくさん調べました。S-Match は非常に有望に思えましたが、Java ではなく Python で作業する必要があります。また、Latent Semantic Analysis も良さそうに見えますが、キーワード マッチングよりもキーワードに基づくドキュメント分類の方が適していると思います。私はNLTKにある程度精通しています。どの方向に進むべきか、同じためにどのツールを使用する必要があるかについて、誰かが洞察を提供できますか?

0 投票する
2 に答える
599 参照

python - トピックベースのレコメンダーシステムのユーザープロファイリング

関連するテキストドキュメントをユーザーに提案するために、トピックベースのレコメンダーシステムを考え出そうとしています。

ウィキペディアのコーパスで、gensimを使用して潜在意味索引付けモデルをトレーニングしました。これにより、ドキュメントをLSIトピックディストリビューションに簡単に変換できます。私の考えは、ユーザーを同じように表現することです。ただし、もちろん、ユーザーには記事の閲覧履歴と記事の評価があります。

だから私の質問は:ユーザーをどのように表現するのですか?

私が持っていたアイデアは次のとおりです。表示されたすべてのドキュメントの集合体としてユーザーを表します。しかし、どのように評価を考慮に入れるのですか?

何か案は?

ありがとう

0 投票する
1 に答える
669 参照

analysis - 潜在意味解析(LSA)単一値分解(SVD)の理解

LSI(機械工学のバックグラウンド)についての私の控えめな理解を通して私と一緒に耐えてください:

LSIでSVDを実行すると、次の3つの行列ができます。

U、S、およびVの転置。

Uは単語とトピックを比較し、Sは各機能の強さの一種の尺度です。Vtはトピックとドキュメントを比較します。

SVDの前の元のマトリックスを返します。あまり(なし)詳細な代数を実行しないと、次のようになります。

用語ごとのマトリックスを返します。これは、用語間の比較を提供します。つまり、ある用語が他の用語とどの程度関連しているか、コンポーネントではなく単語を比較する種類のDSM(設計構造マトリックス)です。私は完全に間違っている可能性がありますが、サンプルデータセットで試してみたところ、結果は理にかなっているようでした。しかし、それはバイアスかもしれません(私はそれを機能させたかったので、私が望むものを見ました)。ドキュメントが保護されているため、結果を投稿できません。

私の質問は、これは意味がありますか?論理的に?数学的に?

時間/応答をありがとう。

0 投票する
1 に答える
704 参照

mahout - mahout での SVD 出力の解釈

mahout で SVD ジョブを実行しようとしています。サイズ 372053 x 21338 (21338 個の一意の単語は N、372053 個のドキュメントは M) のマトリックス (たとえば A) を作成しました (ドキュメント x ターム)。したがって、私の行列 A のサイズは (M*N) です。mahout を使用して svd を実行し、きれいな固有ベクトルを取得しました (200 が R と言うように期待されるランクを与えました)。これで、サイズ R*N の固有ベクトル行列が作成されました。

SVD方程式の記述

A = U * S * V' (V' は V の転置)

ドキュメントの圧縮されたベクトルを取得するには、行列 A を新しい空間に変換する必要があります (LSI を実装しようとしています)。

mahout SVD から得られる出力は何ですか? (上記の式について知りたいです)生成された固有ベクトル行列の NamedVectors から固有値を取得できるというメーリング リストを読みました。

ここから新しい空間 (サイズ M*R) で文書用語行列 A を生成する方法を教えてください。

どんな助けでも大歓迎です:)

0 投票する
1 に答える
1411 参照

python - GensimのLSIモデルでトピックスコアを取得するには?

gensim で LsiModel を使用して、10000 通のメールのコーパスからトピックをモデル化しています。各トピックの単語と単語スコアを取得してファイルに保存できます。print_topics()show_topics( )を使用してみましたが、どちらもそれらの単語に関連付けられた単語とスコアのみを返します。しかし、ログ ファイルに出力するトピック スコアも必要です。それらの値を変数に入れたいのです。以下のログ出力例のように:

これらのスコアが変数に必要です。

パッケージにこれらの出力を取得する方法はありますか? 助けてください。

0 投票する
1 に答える
1104 参照

machine-learning - LSA - 機能選択

ドキュメントのこのSVD分解があります

SVD分解

このページを読みましたが、ドキュメントの分離に最適な機能を計算する方法がわかりません。

そんなこと知ってる:

S x Vt でドキュメントと機能の関係がわかります

U x S は、用語と機能の関係を教えてくれます

しかし、最適な機能を選択するための鍵は何でしょうか?

0 投票する
2 に答える
1979 参照

topic-modeling - 潜在的セマンティック インデックス作成トピックの数

gensim のパッケージを使用してコーパスに LSI を実装しています。私の目標は、コーパスに表示される最も頻繁に発生する個別のトピックを見つけることです。

コーパスに含まれるトピックの数がわからない場合 (5 から 20 と推定します)、LSI が検索するトピックの数を設定する最善の方法は何ですか? 多数のトピック (20 ~ 30) を探すのと、少数のトピック (~5) を探すのとではどちらが良いですか?

0 投票する
1 に答える
1173 参照

document-classification - ドキュメント分類のための LSA/LSI と Naive Bayes の組み合わせ

私はgensimパッケージとベクトル空間モデル全般に不慣れで、LSA 出力を正確にどうすればよいかわかりません。

私の目標の概要を簡単に説明すると、トピック モデリングを使用して Naive Bayes Classifier を拡張し、レビュー (肯定的または否定的) の分類を改善したいと思います。これは私が読んでいる素晴らしい論文で、私のアイデアを形作っていますが、実装についてはまだ少し混乱しています..

Naive Bayes の作業コードは既に取得しています。現在、機能とラベルが正または負のいずれかであるため、ユニグラム バッグ オブ ワードを使用しています。

これが私のgensimコードです

ここに出力があります

提案や一般的なコメントをいただければ幸いです。