2017-02-21 6 views
2

私は最近、Stanford NLPパーサーを発見しました。私は現在、私たちのプロジェクトで動作しているが、下記の2つの問題に直面している実際のインスタンスを持っています。Java、Stanford NLP:パーサーから特定の音声ラベルを抽出する

  1. がどのように私は、テキストを解析し、解析されたデータからのみ、特定の音声ラベルを抽出することができ、例えば、どのように私は、文からだけNNPSPRP抽出することができます。
  2. 私たちのプラットフォームは英語とドイツ語の両方で動作しますので、テキストは英語またはドイツ語のいずれかである可能性が常にあります。このシナリオにはどのように対応できますか。ありがとうございました。

コード:

private final String PCG_MODEL = "edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz"; 

    private final TokenizerFactory<CoreLabel> tokenizerFactory = PTBTokenizer.factory(new CoreLabelTokenFactory(), "invertible=true"); 

public void testParser() { 
    LexicalizedParser lp = LexicalizedParser.loadModel(PCG_MODEL); 
     String sent="Complete Howto guide to install EC2 Linux server in Amazon Web services cloud."; 
     Tree parse; 
     parse = lp.parse(sent); 

     List taggedWords = parse.taggedYield(); 
     System.out.println(taggedWords); 
} 

上記の例は動作しますが、あなたは私が英語のデータをロードしています見ることができますように。ありがとうございました。

+0

ここで参照してください - http://nlp.stanford.edu/software/pos-tagger-faq.shtml –

+0

@SrikanthA:ポイント-24から、ありがとう、私は理解していること言語が間違っている場合、代替メカニズムがあります。最初の問題についての考え方。ありがとうございました。 –

答えて

0

クエリ1では、stanford-nlpに特定のPOSタグを抽出するオプションがないと思います。

しかし、カスタムトレーニングされたモデルを使用して、同じことを達成できます。私はNER - 名エンティティ認識カスタムモデルのために同様の要件を試みました。

+0

ありがとうございます。 Query-2について、ドイツ語にフォールバックするか、最初に言語検出を行う必要がありますか? –

+0

クエリ-2では、これを見なければならないかもしれません - http://stackoverflow.com/questions/29290107/detecting-language-using-stanford-nlpおよびhttp://nlp.stanford.edu/software/corenlp- faq.shtml#languages。 注 - 私は多言語を試していませんが、上記のリンクが役立つかどうかを確認してください –

1

これを試してみてください:

for (Tree subTree: parse) // traversing the sentence's parse tree 
    { 
     if(subTree.label().value().equals("NNPS")) //If the word's label is NNPS 
     { //Do what you want } 
    } 
関連する問題