問題タブ [n-gram]
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.
nlp - バイグラムやトライグラムだけではなく、n-gram (n>3) が重要なのはいつですか?
それらを計算する際の計算オーバーヘッドを考慮して、nグラム(n> 3)(およびそれらの発生頻度)の使用は何なのか疑問に思っています。バイグラムやトライグラムでは不十分なアプリケーションはありますか?
もしそうなら、n-gram抽出の最先端は何ですか? 助言がありますか?私は次のことを認識しています。
java-me - j2meで頻度に基づいて検索辞書の結果をソートする方法
これは私の辞書形式です:
単語の頻度
ゴーン 60
10になる
30 に行く
これまでのところ、システムは「g」で始まる単語を go30、gos10、gon60 としてリストとして返します。(アルファベット順)。検索結果が頻度に基づくように、システムの精度を高めたい。頻度の高い単語が最初に表示されます。親切に助けてください。
これは、辞書を 1 行ずつ読み取る Text midlet クラスです。
SortListModel クラスには、テキスト フィールド datachangeLister からプレフィックスを取得するフィルター メソッドがあります。
linux - Linux 辞書
利用可能なすべての言語の単語リストを含むファイルが必要です。それを検索したところ、多くの辞書を含むftp.gnu.orgホストaspell
ディレクトリが見つかりましたが、それらを抽出したときに、単語データを含む生のファイルは見つかりませんでした。nグラムを生成するためにこれが必要で、特定のテキストの言語を認識する可能性があります。
solr - SOLR での完全一致
NGramFilterFactory を使用しています。私のスキーマは以下のとおりです
data_s フィールドで「Hello World」などの正確なフレーズ検索をしたいのですが、できません。data_s
:hello worldを指定
すると、hello または world またはその両方を持つすべてのレコードが返されます。data_s
:"hello world"を指定
すると、何も返されません。
これで正確なフレーズ検索を行うにはどうすればよいですか。また、「ello」などの部分的なテキストを検索する必要があるため、NGramFilterFactory を使用しています。
したがって、私の要件は、正確なフレーズと部分的なテキストも検索することです。
mysql - uni/bi/trigrams ngramsをRDBMSに保存する正しい方法は?
大量のドキュメントから取り出したユニグラム (1 つの単語)、バイグラム (2 つの単語)、およびトライグラム (3 つの単語) のリストがあります。私の目標は、レポートを静的に分析することと、これらのドキュメントで使用できる検索を行うことです。
ngram は、日付とドキュメントによってタグ付けされます。たとえば、バイグラム間の関係と、それらのフレーズが最初に出現した時期、およびドキュメント間の関係を見つけることができます。これらの X 個の un/bi/trigram フレーズを含むドキュメントも検索できます。
したがって、私の質問は、これらの検索を最適化するためにそれらを保存する方法です。
最も単純なアプローチは、フレーズごとに単純な文字列列を作成し、ドキュメント内でその単語/フレーズを見つけるたびに document_ngram テーブルにリレーションを追加することです。
ただし、これは、トリグラムを検索して単一の単語を検索する場合、文字列検索を使用する必要があることを意味します。たとえば、「夏」という単語を含むすべてのトライグラムが必要だとしましょう。
したがって、ngram に格納されるのは 1 つの単語だけになるように単語を分割し、1、2、および 3 つの単語チェーンがすべて収まるように 3 つの列を追加すると、document_ngram
?
これは正しい方法ですか?彼らのより良い方法はありますか?私は現在 PostgreSQL と MySQL を使用していますが、これは一般的な SQL の質問だと思います。
python - NLTK を使用してトライグラムを見つける
私はNLTkと python にあまり詳しくありません。プログラムで次のタスクを実行する必要があります。
- 入力テキストをトークン化して小文字にする1
- 入力テキストをトークン化する2
- 入力テキスト内のすべてのトライグラムを見つける1
誰でも私を助けることができますか?
python - nltk.ngram.NgramModelの結果を保存する
nltk.ngram.NgramModelを使用して、ブラウンコーパスでn-gramモデルをトレーニングしています。それは基本的に永遠にかかり、多くのシステムメモリを使用しています。コードを実行するたびにモデルを再度トレーニングする必要がないように、モデルを保存する方法があるかどうか疑問に思いました。私はpickleとBerkeleyDBへの言及を見てきましたが、どちらがどのように機能するかを完全には理解していません。
ありがとう!
*** ETA:ここで説明する変更を実装し、さまざまなピクルスプロトコルオプションをすべて試したにもかかわらず、モデルを正常にピクルス化できませんでした。私はsimplejson(運がない)とYAML(永遠にかかり、私の記憶をすべて食い尽くす)にだまされました。
c++ - Ngram の実装
C++ で ngram を実装するにはどうすればよいですか?
例えば;
文章
バイグラム: T、TE、EX、XT、T トライグラム: TE、TEX、EXT、XT、T__
ありがとうございました
java - Elasticsearch - EdgeNgram + ハイライト + term_vector = 悪いハイライト
edgengram (min=3, max=7, front) + term_vector=with_positions_offsets でアナライザーを使用する場合
text = "CouchDB" を持つドキュメントの場合
「クック」で検索すると
私のハイライトは「couc」ではなく「cou」にあります
私のハイライトは、一致する最小のトークン「cou」のみにあるようですが、正確なトークン(可能であれば)または少なくとも見つかった最長のトークンにあると予想されます。
term_vector=with_positions_offsets でテキストを分析しなくても問題なく動作します
パフォーマンスの term_vector=with_positions_offsets を削除すると、どのような影響がありますか?
java - パターンからn-gramを抽出する
テキストドキュメントから抽出されたパターンからngramを抽出しようとしましたが、パターンには用語の数が異なります。
例:パターンp = {t1、t2、t3}の場合
ngram3を抽出する必要があります
こんな感じになります
私はいくつかのコードを書きましたが、うまく機能しません。
助けてください、