2012-01-27 7 views
5

Rの初心者とテキストマイニング。現在tmパッケージを使用しています。Rテキストマイニング - 文章を混ぜることなく、段落を1つにまとめる。

2つの異なる文書のテキストを一緒にコーパスに追加しようとしています。 私は

c(corpus.doc[[1]],corpus.doc[[2]]) 

またはペースト文の

paste(corpus.doc[[1]],corpus.doc[[2]]) 

のようなステートメントを使用する場合、私はすべての行の組み合わせテキストの結果を取得します。例えば

He visits very often She also 
and stays 
sometimes more 

がどのように私はそれを防ぐため、代わりに

He visits very often 
and 
sometimes more 
She also 
stays 

かありますを取得することができますように

> corpus.doc[[1]] 

He visits very often 
and 
sometimes more 

> corpus.doc[[2]]) 

She also 
stays 

は、私はこれらのステートメントを取得することは何かである場合R tmパッケージ内のドキュメントを簡単に結合する方法は?前もって感謝します!


追加情報


Iは
を使用< - C(corpus.doc [[1]]、corpus.doc [[2]]、再帰= TRUE)

私はaが2つの文書を持つコーパスになるので、これらの文書のそれぞれのテキストはまだ結合されていません。私は

a[[1]] 

は私にcorpus.docの組み合わせテキストを与えるということをしたいと思います[[1]]とcorpus.doc [[2]]。 PKGのヘルプを

str(corpus.doc) 

この

List of 4270 
$ CREC-2011-01-05-pt1-PgE1-2.htm :Classes  'PlainTextDocument', 'TextDocument', 
     'character' atomic [1:74] html head titlecongression record volume issue 
head ... 
.. ..- attr(*, "Author")= chr(0) 
.. ..- attr(*, "DateTimeStamp")= POSIXlt[1:1], format: "2009-01-17 15:45:25" 
.. ..- attr(*, "Description")= chr(0) 
. . ..- attr(, "Heading")= chr(0) .. ..- attr(, "ID")= chr "CREC-2011-01-05-pt1-PgE1- 2.htm" 

のようなものを示し、それは上のいっている...

+0

テキストエディタを使用して、ある文書のテキストをコピーして別の文書のテキストに貼り付けるのはいかがですか? 2つのドキュメントが '' PlainTextDocument 'と' TextDocument 'の例であれば、テキストエディタで編集しても問題ありません。その新しいdocをtmパッケージの入力として使用します。純粋なRソリューションではありませんが、少数のドキュメントしか持たない場合は迅速です。 – Ben

+0

はい...私は知っています:)それは7000以上のこれらのファイル(音声ファイルです)であり、それらが同じスピーカーであるかどうかに基づいてテキストを結合したいと考えています。 – appletree

答えて

2

:TMは、そのデフォルトの「再帰の設定c.Corpus機能があると言います'はFALSEですが、TRUEに設定されていると、「インテリジェントな」合併につながる可能性があります。

c(corpus.doc[[1]], corpus.doc[[2]], recursive=TRUE) 

を...あなたが本当に「コーパス」級のオブジェクトを持っていることは明らかではありません:あなたはcopus.docはコーパスクラスのオブジェクトのリストであると思われる場合は、試してみてください。

str(corpus.doc) # see above 

だから、非常に長いリストの最初の要素はないコーパスに分類オブジェクトではなく、PlaintextDocumentです。

+0

これは、2つのテキスト文書を持つ別のコーパスを作成します。私が望むのは、コーパス内の単一の文書です。 – appletree

+0

申し訳ありませんが、私が推測するほどの評判がないため、意味のある対応ができません。私は元の質問を編集してあなたの質問に答えました。 – appletree

+0

私は、コメントにコードセクションを使用することはできません。私はこのボードの初心者ですが、機能は限定されています。 – appletree

1

私のコメントに加えて、コーパスを作成する前に平文文書をRにまとめるとどうでしょうか?1.txt2.txt3.txtは、プレーンテキストファイルがある場合たとえば、あなたはとても

a <- readLines(file("C:/Users/X/Desktop/1.txt")) 
b <- readLines(file("C:/Users/X/Desktop/2.txt")) 
c <- readLines(file("C:/Users/X/Desktop/3.txt")) 

ようRにそれらを読むことができ、その後、あなたはそれらを組み合わせることができ、

abc <- c(a, b, c) 

上記のあなたの例と同様にその意志ドキュメントを順番にスタックし、1つのデータオブジェクトに1行ずつ書式を保存します。しかし、あなたがして、あなたはあなたが望むもののような音はありませんライン、できるだけ多くの文書でコーパスを得るでしょう

​​

とコーパスにこれを行う場合。代わりに、あなたは何をする必要があるかは、得られabc.pasteオブジェクトは1行であるように、この

abc.paste <- paste(a,b,c, collapse=' ') # this is what you want 

のようなテキストオブジェクトを組み合わせています。あなたは

abc.corpus <- Corpus(VectorSource(abc.paste)) 

を使用してコーパスを作るとき、その結果は、あなたが、その後tmパッケージの機能と分析することができA corpus with 1 text documentになります。

これを関数に拡張して、7000 +プレーンテキスト文書を効率的に連結し、結果のデータオブジェクトからコーパスを作成するのは簡単です。それはあなたがしたいことにあなたを近づけますか?

関連する問題