0

テーブル ルックアップ メソッドを使用して機能する新しいステマーを追加しようとしています。h がステミング操作を含むハッシュの場合、次のようにエンコードされます: ステミング前の単語としてのキーとステミング後の単語としての値。

理想的には、次のことを可能にするカスタム ハッシュを追加したいと思います

myCorpus = tm_map(myCorpus, replaceWords, h)

replaceWords 関数が myCorpus 内の各ドキュメントに適用され、ハッシュを使用してドキュメントの内容を抽出します

私のreplaceWords関数のサンプルコードは次のとおりです

$hash_replace <- function(x,h) {
if (length(h[[x]])>0) {
    return(h[[x]])
} else {
    return(x)
}
}

replaceWords <- function(x,h) {
y = tolower(unlist(strsplit(x," ")))
y=y[which(as.logical(nchar(y)))]
z = unlist(lapply(y,hash_replace,h))
return(paste(unlist(z),collapse=' '))
}

これは機能しますが、変換されたコーパスには、タイプ「TextDocument」または「PlainTextDocument」ではなくタイプ「character」のコンテンツが含まれなくなりました

使ってみた

return(as.PlainTextDocument(paste(unlist(z),collapse=' ')))

しかし、実行しようとするとエラーが発生します。

R の tm パッケージの以前のバージョンでは、同義語と WORDNET ベースの置換を可能にする replaceWords 関数を確認しました。しかし、現在のバージョンの tm パッケージでは表示されなくなりました (特に関数 getTransformations() を呼び出す場合)。

これを実現する方法についてアイデアを持っている人はいますか?

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

乾杯、シヴァニ

ありがとう、シヴァニ・ラオ

4

1 に答える 1

1

PlainTextDocumentの代わりに関数を使用するだけですas.PlainTextDocument。R は関数の最後のステートメントを自動的に返すため、最後の行を作成するだけで機能します

PlainTextDocument(paste(unlist(z),collapse=' '))
于 2012-04-06T17:48:54.603 に答える