問題タブ [term-document-matrix]

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 に答える
708 参照

r - R: TermDocumentMatrix - 作成中のエラー

Twitter データを取得してワードクラウドを作成しようとしていますが、TermDocumentMatrix の作成中にコードでエラーが発生しています。私のコードは以下の通りです

TermDocumentMatrix を作成する前にエラーはありません。私が得るエラーは以下の通りです

mclapply(x$content[i], function(d) tm_reduce(d, x$lazy$maps)) での警告: スケジュールされたコア 1 でユーザー コードでエラーが発生しました。ジョブのすべての値が影響を受けます mclapply(unname( content(x)), termFreq, control) : スケジュールされたコア 1 でユーザー コードでエラーが発生しました。ジョブのすべての値が影響を受けます警告: UseMethod のエラー: クラス「try-エラー」スタック トレース (最も内側から): 74: FUN
73: lapply
72: setNames
71: as.list.VCorpus
70: as.list
69: lapply
68: meta.VCorpus
67: meta
66: TermDocumentMatrix.VCorpus
65: TermDocumentMatrix
64 : as.matrix
63:observeEventHandler
1:runApp

すでに追加lazy = TRUEしましcontent_transformer(tolower)たが、それでもエラーが発生します。

0 投票する
0 に答える
1056 参照

r - R: termDocumentMatrix() オブジェクトの作成中にエラーが発生しました

トレーニング データの termdocumentmatrix オブジェクトを作成するために使用したコードは次のとおりです。

そしてそれは動作します!機械からの苦情はありません。

ただし、同じ手法を使用して検証データセットを作成すると、マシンが文句を言います!

検証セットの termdocumentmatrix オブジェクトを作成するために使用したコードを次に示します。唯一の違いは、「辞書」引数をコントロールに追加したことです。

ただし、次のエラー メッセージが引き続き表示されます。

simple_triplet_matrix(i = i, j = j, v = as.numeric(v), nrow = length(allTerms), : 'i, j, v' の異なる長さのエラー

次のような多くの投稿を読みました。

  1. DocumentTermMatrix が奇妙なエラーで失敗するのは、用語数が 3000 を超える場合のみです。
  2. Twitter データ分析 - Term Document Matrix のエラー
  3. Twitter データ <- termdocumentmatrix のエラー
  4. Twitter データ分析 - Term Document Matrix のエラー

提案された解決策をすべて試しましたが、どれも機能しません。

1 つ付け加えておきたいのは、この問題が発生するのは、約 2000 を超えるツイートを使用した場合のみであるということです。

入力データに関する注意:

入力データは 2 つの列を持つデータ テーブルで、そのうちの 1 つは "SentimentText" という名前です (上記のコードで確認できます)。

この列では、各行が 1 つのツイートであり、各ツイートはテキスト文字列、別名 character() です。

ツイートの例 (行データとも呼ばれます) は、次のようになります。

どんな助けでも大歓迎です!

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

text-mining - TermDocumentMatrix を R にインポートする

私は R の tm パッケージで定性分析プロジェクトに取り組んでいます。コーパスを構築し、用語ドキュメント マトリックスを作成しました。簡単に言うと、用語ドキュメント マトリックスを編集し、その行の一部を統合する必要があります。これを行うために、使用してRからエクスポートしました

次に、csvファイルをRにインポートしましたが、RにTermDocumentMatrixまたはDocumentTermMatrix.

次のコード例の提案を使用してみましたが、役に立ちませんでした。

あたかもそれがコーパスであり、各セルが単一のドキュメントであるかのように、マトリックスを読み続けているようです。

termdocumentmatrix各セルがドキュメントであるかdocumenttermmatrixのように R に csv を読み取らせずに、として読み取られる csv マトリックスにインポートする方法はありますか?

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

r - 空の用語ドキュメント マトリックス

周波数を検査しようとすると、問題が発生するようです。言葉と連想。

tdm を作成すると、次の情報が表示されます: TermDocumentMatrix

多くのドキュメントで、使用する用語がたくさんあることがわかります。でも!

「tdm」の内容を検査しようとすると、次の情報が表示されます: Inspecting the TDM

tdm が突然空になるのはなぜですか?

誰かが助けてくれることを願っています

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

r - R: mgsub 後の DocumentTermMatrix の間違った頻度

DocumentTermMatrix があり、このドキュメントの特定の用語を置き換えて度数分布表を作成したいと考えています。

出発点は、次のような元のドキュメントです。

元のドキュメントの頻度表を作成すると、正しい結果が得られます。

ここまでは順調ですね。ただし、ドキュメント内のいくつかの用語を置き換えると、新しい度数分布表は間違った結果になります。

用語のカウント中に同じ用語であっても同一とは見なされないため、明らかに、またはおそらくドキュメント内のインデックス付けが間違っています。

この結果は理想的なケースです。

誰でも問題を解決するのを手伝ってもらえますか?

事前にThx

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

r - Rによるテキストマイニング:subの利用

私はRを使用したプロジェクトに参加しており、手を汚し始めています。

最初の部分では、ベクトル msg のデータをクリーンアップしようとします。しかし、後で をビルドするとtermdocumentmatrix、これらの文字がまだ表示されます。4 文字未満の単語と句読点を削除したい

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

r - quanteda を使用して段階的に dfm を作成する

大きな (n=500,000) ドキュメントのコーパスを分析したい。fromよりも高速になることをquanteda期待して 使用しています。で自動化された方法を使用する代わりに、段階的に進めたい。これには理由があります。ある場合には、ストップワードを削除する前にトークン化したくありません。これは、多くの役に立たないバイグラムが発生するためです。別の場合には、言語固有の手順でテキストを前処理する必要があります。tm_map()tmdfm()

このシーケンスを実装してほしい:
1) 句読点と数字を
削除する 2) ストップワードを削除する (つまり、無駄なトークンを避けるためにトークン化する前に)
3) ユニグラムとバイグラムを使用してトークン化する
4) dfm を作成する

私の試み:

おまけの質問 でスパース トークンを削除するにはどうすればよいquantedaですか? (つまり、 in に相当removeSparseTerms()tmます。


更新@Ken の回答に照らして、次のコードを段階的に進めるコードを次に示しますquanteda

1) カスタムの句読点と数字を削除します。たとえば、ie2010 コーパスの「\n」に注意してください。

前処理を好む理由についての追加のメモ。私の現在のコーパスはイタリア語で書かれており、冠詞がアポストロフィで単語に接続されています。したがって、ストレートdfm()は不正確なトークン化につながる可能性があります。例えば:

は、同じ単語に対して 2 つの別個のトークン ("un'abile" と "l'abile") を生成するため、gsub()ここで追加の手順が必要になります。

2)quantedaトークン化の前に、テキスト内のストップワードを直接削除することはできません。前の例では、誤解を招くバイグラムを生成しないように、「l」と「un」を削除する必要があります。これは で処理できtmますtm_map(..., removeWords)

3) トークン化

4) dfm を作成します。

5) まばらな特徴を取り除く