12

RでNLPを使用してステミングでルートワードの代わりにベースワードを取得する方法はありますか?

コード:

> #Loading libraries
> library(tm)
> library(slam)
> 
> #Vector
> Vec=c("happyness happies happys","sky skies")
> 
> #Creating Corpus
> Txt=Corpus(VectorSource(Vec))
> 
> #Stemming
> Txt=tm_map(Txt, stemDocument)
> 
> #Checking result
> inspect(Txt)
A corpus with 2 text documents

The metadata consists of 2 tag-value pairs and a data frame
Available tags are:
  create_date creator 
Available variables in the data frame are:
  MetaID 

[[1]]
happi happi happi

[[2]]
sky sky

> 

Rを使用して、「happyness happieshappys」の「happi」(ルートワード)の代わりに「happy」(ベースワード)を取得できますか?

4

4 に答える 4

2

おそらくステマーを探しているのでしょう。CRAN Task View: Natural Language Processingからのいくつかのステマーを次に示します。

  • RWekaは、Java で書かれたデータ マイニング タスク用の機械学習アルゴリズムのコレクションである Weka へのインターフェイスです。自然言語処理のコンテキストで特に役立つのは、トークン化とステミングの機能です。

  • Snowballは、Porter ステマーとさまざまな言語用の他のいくつかのステマーを含む Snowball ステマーを提供します。詳細については、Snowball の Web ページを参照してください。

  • Rstemは、Porter の単語ステミング アルゴリズムの C バージョンの代替インターフェイスです。

于 2011-10-12T16:09:10.110 に答える
0

stemCompletionここで使用できます。それは最高のものではありませんが、扱いやすいです。

Stemm = tm_map(Txt, stemCompletion, dictionary=Txtt)
inspect(Stemm)

A corpus with 2 text documents

The metadata consists of 2 tag-value pairs and a data frame
Available tags are:
  create_date creator 
Available variables in the data frame are:
  MetaID 

[[1]]
happyness happies happies

[[2]]
sky sky
于 2011-12-29T18:13:10.640 に答える
-1

同様のことをする必要があるときは、単語のリストをテキストファイルに書き出し、それをEnglish Lexicon ProjectのWebクエリツールにフィードして、結果をRに戻しました。少し不格好ですが、多くの優れたデータがあります。 ELPから入手できます。ELPのMorphSPをチェックしてください。幸せのために、それは{幸せ}>ネス>を与えます

http://elexicon.wustl.edu/query14/query14.asp

于 2011-11-11T18:05:10.993 に答える