2017-06-04 13 views
0

私は自分のモデルでNLTK Stanford Pos Taggerを使ってテキストファイルの文章にタグを付ける。私の鬼の出力は次のようである:処理NLTKスタンフォードPOSタガー出力

sentences = [((Word,WordTag),....(Word,WordTag)] 

イムイムは、POSタグを行った後、2ステップをやって、インドネシア語を処理:私は「

  1. ストップワードを除去

をステミング

  • テキストファイル(stopword.txt)にストップワードのリストがあり、そのステムに文章があります。 これまでタグ付けを行っています。私はsentences内の単語をフィルタリングし、彼ら場合stopword.txtで単語を削除し、これまでのところsentences

    に言葉を食い止めるためにどのように任意のアイデアを持っていけない、私は単語を削除するには、このコードを試してみましたが、それでも言葉を削除していませんでしたし、その単語のタグ:

    stopWords = getStopWordList('id_stopword.txt') 
    filtered_sentences = [w for w in sentences if not w in stopWords] 
        filtered_sentences = [] 
        for w in sentences: 
         if w not in stopWords: 
          filtered_sentences.append(w) 
    
  • 答えて

    0

    は、私はあなたの関数getStopWordList()が正しく文字列のリストを返すことを想定しなければなりません。 (それを確認しましたか?)

    インデントエラーがあるため投稿したコードは実行されません。しかし、あなたがそれを必要としないので、インデントされたビットは重要ではありません。それは明らかに、その前の行の論理を繰り返すだけです。だから私はそれを無視しました。これに

    filtered_sentences = [w for w in sentences if not w in stopWords] 
    

    filtered_sentences = [(w,t) for (w,t) in sentences if not w in stopWords] 
    
    +0

    はい、getStopWordList()は文字列のリストを返しますが、これを変更する必要がフィルタリングを行うには

    。ありがとうございました。残りの問題はステミングです。 filtered_sentencesを削除するために次のコードを使用できますか? – Fregy

    +0

    ステミングに関する別の質問を投稿してください。あなたのコードはあなたのコメントには反映されませんでした。おそらく長すぎます。 – BoarGules

    関連する問題