2017-06-10 11 views
2

私は、次のコードのようにフランス語の文が英語の文章のために使用されているpos_tagへの道を探しています:フランス語の文章をPOS_TAGするには?

def pos_tagging(sentence): 
    var = sentence 
    exampleArray = [var] 
    for item in exampleArray: 
     tokenized = nltk.word_tokenize(item) 
     tagged = nltk.pos_tag(tokenized) 
     return tagged 
+0

のために非常によく ダウンロードリンク働く完全なコードのソースです。 'sentence'が文字列の場合、' nltk.word_tokenize(sentence) 'を呼び出してその結果を' nltk.pos_tag() 'に渡します。 – alexis

+0

https://stackoverflow.com/questions/27513185/simplifying-the-french-pos-tag-set-with-nltk –

答えて

3

NLTKはフランス語のため事前に構築されたリソースが付属していません。フランス語の訓練を受けたモデルのStanford taggerを使用することをおすすめします。 This codeは、スタンフォードのフランス語POSタガーで使用するためにnltkを設定する方法を示しています。コードは古くなっています(Python 2の場合)が、これを出発点として使用することができます。

また、NLTKを使用すると、タグ付きコーパスに独自のPOSタグを訓練し、後で使用するために保存するのが非常に簡単になります。 (十分に大きい)フランス語コーパスにアクセスできる場合は、the nltk bookの指示に従い、茶色のコーパスの代わりにコーパスを使用します。特定のドメインのタガーを訓練することができない限り、スタンフォード・タガーのパフォーマンスと一致する可能性は低いですが、何もインストールする必要はありません。

+0

アレクシス助けてくれてありがとう –

3

はここにあなたのループが何もしません、それはところでスタンフォードNLP https://nlp.stanford.edu/software/tagger.shtml#About

from nltk.tag import StanfordPOSTagger 
jar = 'C:/Users/m.ferhat/Desktop/stanford-postagger-full-2016-10-31/stanford-postagger-3.7.0.jar' 
model = 'C:/Users/m.ferhat/Desktop/stanford-postagger-full-2016-10-31/models/french.tagger' 
import os 
java_path = "C:/Program Files/Java/jdk1.8.0_121/bin/java.exe" 
os.environ['JAVAHOME'] = java_path 

pos_tagger = StanfordPOSTagger(model, jar, encoding='utf8') 
res = pos_tagger.tag('je suis libre'.split()) 
print (res) 
関連する問題