2012-02-28 12 views
6

私はステーミングを実行するためにluceneの雪球アナライザーを使用します。結果は意味のある言葉ではありません。私はこれを参照しましたquestionステミングの逆のプロセス

解決策の1つは、単語のステムバージョンと単語の安定バージョンの間のマップを含むデータベースを使用することです。 (コミュニティーからコミュニティーへの例(コミュニティ/その他の単語))

このような機能を実行するデータベースがあるかどうかを知りたい。

答えて

4

理論的には、幹から特定の単語を回復することは不可能です。 。 1つの可能性は、アプリケーションに応じて、それぞれが複数の単語の配列にマップされたステムのデータベースを構築することです。しかし、あなたはそれらの言葉のどれが再変換するための茎を与えられたのかを予測する必要があります。この問題に非常に単純な解決策として

あなたはワードタグを知っていれば、あなたは、データベース内のタグで単語を格納してみてくださいは:

run: 
    NN:  runner 
    VBG: running 
    VBZ: runs 

その後、幹「実行」とタグ与えられました"NN"では、その文脈で "ランナー"が最も可能性の高い単語であると判断できます。もちろん、その解決策は完璧ではありません。注目すべきは、同じ言葉の書式が異なる文脈で異なってタグ付けされるかもしれないという事実を扱う必要があることです。しかし、この問題を解決しようとする試みは、せいぜい近似であることを忘れないでください。

編集:以下のコメントから、ステミングの代わりに文字化を使用したいと思われるようです。ステマと実行作業罰金などの

import java.util.*; 

import edu.stanford.nlp.pipeline.*; 
import edu.stanford.nlp.ling.*; 
import edu.stanford.nlp.ling.CoreAnnotations.*; 

Properties props = new Properties(); 

props.put("annotators", "tokenize, ssplit, pos, lemma"); 
pipeline = new StanfordCoreNLP(props, false); 
String text = "Hello, world!"; 
Annotation document = pipeline.process(text); 

for(CoreMap sentence: document.get(SentencesAnnotation.class)) { 
    for(CoreLabel token: sentence.get(TokensAnnotation.class)) { 
     String word = token.get(TextAnnotation.class); 
     String lemma = token.get(LemmaAnnotation.class); 
    } 
} 
+0

言葉:ここStanford Core NLP tools使用した単語の見出し語を取得する方法です。私は効率性のような言葉を話している。茎形成の効率は意味を持たない効率となる。私が同行しようとしているのは効率をどのようにしても効率を効率的に変換することです(効率的な/他の言葉) – CTsiddharth

+0

おそらく字形化(単語の "基本" 、ステミング(単語の "根"を見つける)ではありません。ステムは多くの基本語を持つことができます - 「効率的」→「効率」→「効率」は理にかなっていません。 1つの補助定理は、「効率的」→「効率的」→「効率的」→「効率」→「効率」→「効率」のように正確に1つの基本語に対応します。ステミングでは、あなたは語彙と基本単語の両方を失います。類別化では、あなたは変態を失うだけです。ポストに追加したばかりのコードは、Stanfordの字形化ツールを使い始めることができます。 – user2398029

+0

こんにちは..私のこの[質問](http://stackoverflow.com/questions/9528080/error-in-stanford-nlp-core#comment12070615_9528080)を見て、私を助けてください! – CTsiddharth

1

NCI Metathesaurusは本質的には生物医学的なものですが、自然言語処理の例や、Javaのコードを参照することで役立ついくつかのオープンソースツールセットを提供しています。

2

あなたが参照している質問には、よく見落とされる重要な情報が含まれています。あなたが必要とするものは、 "lemmatisation"として知られています - 屈辱的な言葉の正規形への減少。それは、関連しているが、種子採取とは異なり、依然としてオープンな研究課題です。より複雑な形態(英語はそれほど難しくありません)の言語では特に難しいです。 Wikipediaにはあなたが試すことができるソフトウェアのリストがあります。私が使用したもう一つのツールはTreeTaggerです - それは主な目的は品詞タグ付けであり、字形付けは単なるボーナスですが、それは本当に速く合理的に正確です。 "統計的訓練(statistical lemmatisation)"のためにグーグルを試してください。(はい、私は統計的対ルールベースのNLPについて強い感情を持っています)

関連する問題