問題タブ [tm]
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.
r - r パッケージ tm() を使用したテキスト マイニング: "if (vectorized && (length <= 0)) でエラーが発生しました"
テキストを含むデータ フレームで tm() を使用しようとしていますが、このエラーが表示され続けます。"Error in if (vectorized && (length <= 0)) stop("vectorized sources must have positive length") :
missing value where TRUE/FALSE needed"
次のようなデータフレームがあります。
私はこれらのコードのみを使用します:
ここで何がうまくいかないのか、誰かが考えを持っていますか? よろしくお願いします!
r - txt ファイルは、R パッケージ tm で NA を生成します (テキストマイニング)
txt ファイルを読み込んで、テキスト マイニング アプローチを実行したいと考えています。R で tm パッケージを使用したときに、大量のエラー メッセージが表示されました。たとえば、最も頻繁に使用される単語を関連付けたい場合は、NA のみを取得します。これまでに使用したコードは次のとおりです。
その後、次のエラーメッセージが表示されました。
調査のために、次のコードを使用しました。これは、findAssocs() の段階的なアプローチです。
ただし、次の出力が得られました。
私の見解では、テキストに何か問題がありますが、この奇妙な動作については説明がありません。私の質問は、誰かがこの問題の解決策を持っているかどうかです。私の R (2.15.2) は Mac システム (x86_64-apple-darwin9.8.0/x86_64 (64 ビット)) で実行されています。
どうもありがとう!
r - PlainTextDocuments のベクトルを作成
これは、メタデータを転送および拡張しながら、 1 つPlainTextDocument
を複数の子に解析することを目的としています。PlainTextDocument
次のように使用できます。
質問
- ベクトルに配置すると、オブジェクトから文字ベクトルに
sec
変換されるのはなぜですか?PlainTextDocument
- どうすればオブジェクトを
sectioner
返すことができますか?Corpus
(PlainTextDocument
s のベクトルでも問題ありません)。
のドキュメントを読みましたtm
。はい、全部です。これはそれほど難しいことではありません。私が使用すべき別のアプローチはありますか?
r - トピックモデルを使用するために DocumentTermMatrix から単語を削除しようとしています
topicmodels
そのため、パッケージを使用しようとしていますR
(それぞれが 1000 単語である ~6400 のドキュメントのコーパスで 100 のトピック)。プロセスが実行されてから終了します。メモリが不足しているためだと思います。
lda()
そこで、関数が入力として受け取るドキュメント ターム マトリックスのサイズを縮小しようとしました。minDocFreq
ドキュメント用語マトリックスを生成するときに、関数を使用してそれを行うことができると思います。でも使ってみると、特に違和感はありません。ここにいくつかのコードがあります:
関連するコードは次のとおりです。
同じ次元、同じ列数 (つまり、同じ数の項)。
私が間違っていることは何ですか?ありがとう。
r - リストのリストをフラット化する方法は?
このtm
パッケージはc
、一連のPlainTextDocument
s が与えられた場合、自動的にCorpus
. 残念ながら、それぞれPlainTextDocument
を個別に指定する必要があるようです。
たとえば、私が持っていた場合:
を取得するためにこれを行いますCorpus
:
'PlainTextDocument
次のような s のリストのリストがあります。
したがって、すべてPlainTextDocument
の を にするには、次のようにしCorpus
ます。
誰でも簡単な方法を提案できますか?
ETA: foo<-unlist(foolist, recursive=FALSE)
PlainTextDocuments のフラット リストを生成しますが、リスト要素を要素ごとにフィードするという問題が残っています。c
r - 新しい (テスト) データで同じ DocumentTermMatrix を再作成する方法
テキストベースのトレーニング データとテスト データがあるとします。より具体的に言うと、トレーニングとテストの 2 つのデータ セットがあり、どちらにも、テキストを含む 1 つの列があり、目前の仕事に関心があります。
R の tm パッケージを使用して、トレーニング データ セットのテキスト列を処理しました。空白、句読点、ストップ ワードを削除した後、コーパスをステミングし、最終的に各ドキュメント内の単語の頻度/カウントを含む 1 グラムのドキュメント用語マトリックスを作成しました。次に、たとえば 50 の事前定義されたカットオフを取り、50 を超えるカウントを持つ用語のみを保持しました。
これに続いて、DTM と従属変数 (トレーニング データに存在していた) を使用して、たとえば GLMNET モデルをトレーニングします。これまでのところ、すべてがスムーズかつ簡単に実行されます。
ただし、テスト データまたは将来発生する可能性のある新しいデータでモデルをスコアリング/予測したい場合は、どうすればよいですか?
具体的には、新しいデータで正確な DTM を作成するにはどうすればよいですか?
新しいデータ セットに元のトレーニング データと同様の単語がない場合は、すべての用語のカウントが 0 になるはずです (これで問題ありません)。しかし、新しいコーパスで (構造に関して) まったく同じ DTM を複製できるようにしたいと考えています。
アイデア/考えはありますか?
database - R tm: 'PCorpus' バックエンド ファイルハッシュ データベースをコーパスとしてリロードします (たとえば、再起動されたセッション/スクリプトで)
このサイトの回答から多くのことを学んだので (ありがとう!)、ついに私自身の質問をする時が来ました。
私は R (tm および lsa パッケージ) を使用して、約 15,000 のテキスト ドキュメントのコーパスを作成、クリーンアップ、簡素化し、LSA (潜在意味解析) を実行しています。Mac OS X 10.6 の R 3.0.0 でこれを行っています。
効率性のために (そして RAM が少なすぎることに対処するために)、tm の「PCorpus」(「filehash」パッケージでサポートされるバックエンド データベース サポート) オプション、または新しい「tm.plugin.dc」のいずれかを使用しようとしました。 ' いわゆる「分散型」コーパス処理のオプション)。しかし、ボンネットの下でどちらがどのように機能するかはよくわかりません。
tm_map で DCorpus を使用する明らかなバグ (現在は関係ありません) により、代わりに PCorpus オプションを使用して前処理作業の一部を行うようになりました。しかも何時間もかかります。そこで、R CMD BATCH を使用して、次のようなスクリプトを実行します。
ここで、この時点の直後にスクリプトがクラッシュしたとします。または、コーパスを別の形式でエクスポートするのを忘れて、R を再起動したとします。データベースはまだ私のハード ドライブにあり、適切に整理されたデータでいっぱいです。コーパス処理を続行するために、最初からやり直すのではなく、新しい R セッションに再読み込みできますか?
それはヌードルの質問のように感じます...しかし、dbInit()またはdbLoad()または「PCorpus()」関数のバリエーションの量は機能していないようです。誰か正しい呪文を知っていますか?
私はすべての関連ドキュメント、および見つけられるすべての紙と Web フォーラムを精査しましたが、完全に空白です - 誰もそれを行っていないようです. それとも私はそれを逃しましたか?