問題タブ [collocation]

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 投票する
1 に答える
1892 参照

python - ドキュメントの境界を尊重するために BigramCollocationFinder (nltk) を取得できますか?

私は NLTK を使用して、多数の個別のドキュメントの分析を行っています。これらのドキュメントの内容は、それらがすべて同じトークンで終了および開始する傾向があることを意味します。

ドキュメントをリストのリストにトークン化し、BigramCollocationFinder.from_documents を使用してファインダーを作成します。生の頻度で ngram をスコア付けすると、最も一般的な出現は終了文字/開始文字であることがわかります。これは、すべてのドキュメントを 1 つに実行し、全体で不要な ngram を見つけていることを示唆しています。

コードのサンプル:

これにより、次の出力が得られます。

ngram }{ はリストに表示されますが、 } が隣り合って表示されることはありません。

} がリストに表示されないようにするために、この問題にアプローチする別の方法はありますか?

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

python - NLTK コロケーションを使用してトライグラムの PMI スコアを取得するには? パイソン

NLTK を使用してバイグラムとトライグラムのコロケーションを取得する方法を知っており、それらを自分のコーパスに適用しています。コードは以下です。

私の唯一の問題は、PMI 値でバーグラムを出力する方法ですか? NLTK ドキュメントを何度も検索します。何かが足りないか、そこにないかのどちらかです。

0 投票する
10 に答える
94610 参照

python - Python を使用して文のリスト内の単語のバイグラムを形成する

私は文のリストを持っています:

バイグラムのペアを形成し、それらを変数に格納する必要があります。問題は、これを行うと、単語ではなく文のペアが得られることです。これが私がしたことです:

利回り

鉄道駅とシタデル ホテルが 1 つのバイグラムを形成することはできません。私が欲しいのは

最初の文の最後の単語は、2 番目の文の最初の単語と結合してはなりません。機能させるにはどうすればよいですか?

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

python - NLTK: 単語のサイズが 2k のコンテキストを見つける

私にはコーパスがあり、単語があります。コーパス内の単語の出現ごとに、その単語の前の k 単語と後の k 単語を含むリストを取得したいと考えています。私はこれをアルゴリズム的に問題なく実行していますが (以下を参照)、NLTK が私が見逃したニーズに対応する機能を提供しているかどうか疑問に思いました。

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

view - CouchDB: コロケーションされたビューとキー

私のソファには、次のようなドキュメント ペアがあります。

著者の場合、これらのペアがいくつか存在する可能性があります。

authorここで、が を伴うという方法で結合された情報を提供するビューが必要ですinfo

ビューのコロケーションを使用して、次のビューを作成しました。

そして、次のような結果が得られます。

最初に、reduce 関数を使用して両方を 1 つに統合しましたが、タイミングを合わせた後、それらをローカルにグループ化する方がはるかに高速です。

ただし、現状では、このビューを「作成者名」で照会することはできません。特にinfo著者名が付いていないため、そうではありません。

したがって、これにはいくつかの解決策があると思います:

  1. グループ化でreduce関数を使用し、キーを操作して作成者を表示します(グループ化されたキーの操作が可能かどうかさえわかりません)
  2. すべての行を取得し、それらをローカルにグループ化し、探している作成者をフィルタリングします (不要なオーバーヘッドが多すぎる可能性があります)。
  3. 複数のビューを持ち、2 つのクエリを実行します。1 つは DOCID を取得し、次に DOCID をクエリします。
  4. 連結されたビューをスマートにクエリします。効率的な方法で Authorname をキーと種類のクエリに含めますが、 Authorname のクエリでは実際のinfo.

では、これについて何を続けることをお勧めしますか? はい、情報が分離されているのには理由があります (複数のFinalドキュメントが同じドキュメントに関連している可能性があるTaskため、同じ情報を持っている可能性があります)。

一番

編集 提供されたソリューションは私の質問に答えますが、ビューを使用してコード (Django ビュー) で結果をグループ化すると、非常に高速であることがわかりました!

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

python - nltk quadgram コロケーションファインダー

NLTK コロケーションは 2 グラムと 3 グラムを超えて実行できないという質問と回答が複数見られます。

この例 - Python nltkでnグラムのコロケーションと関連付けを取得する方法は?

と呼ばれるものがあることがわかりました

nltk.QuadgramCollocationFinder

に似ている

nltk.BigramCollocationFinder および nltk.TrigramCollocationFinder

しかし同時に、次のようなものを見ることはできません

nltk.collocations.QuadgramAssocMeasures()

nltk.collocations.BigramAssocMeasures() および nltk.collocations.TrigramAssocMeasures() と同様

nltk.QuadgramCollocationFinder の目的は、bi および tri グラムを超える n-gram を (ハックなしで) 見つけることができない場合です。

多分私は何かが欠けています。

ありがとう、

コードを追加し、Alvas からの入力に従って質問を更新すると、これが機能するようになりました