2017-10-09 15 views
-3

私はタプルのリストのリストとして読み込まれた文書を持っています。 各タプルのすべての要素が(word, label)のペアです。タプルのリストのリストを作成する方法は?

基本的に、ドキュメントは、各文がタプルのリストであるセンテンスのリストです。

私は10未満の出現数を持つ単語を無視して、以前の書式に従った新しい書類を作成しようとしています。

 i=0; 
    j=0; 
    dictWords=dict() 
    for sentence in ldata: 
     for word in sentence: 
     j=j+1 
     if word[0] not in dictWords: 
      dictWords[word[0]]=1 
      i=i+1 
     else: 
      dictWords[word[0]]=1+dictWords[word[0]] 

    ldata=[[("the","det"),("boy","noun"),("is",'verb'),("ugly","adj")], [("I","Pronoun"), ("am","verb") ("here" ,"Place")] 
    lnewdata = [] 

    i = 0 
    for sentence in ldata: 
     newSent = [] 
     for word in sentence: 
     if dictWords[word[0]] < 10: 
      newSent.append(("unk","unk")) 
      #dictWords is a dictionnary containing each word's occurences 
     else: 
      newSent.append(word) 
      i = i + 1 
lnewdata.extend(newSent) 

私の問題は、この形式の下になって下lnewdataがあるということです::

[["the" "det" "boy" "noun" "is" "verb" "ugly" "adj"] ["I" "noun" "am" "verb" "here" "Place" ]

あなたがこの問題を解決することをお勧めしますか?つまり、私はこのコードを使用していますについては

+0

未定義の変数のためにインデントが壊れていて、コードが実行可能ではありません。誰かがあなたの質問に答える機会を望むなら、改善してください。 – Guillaume

答えて

0

あなたの質問を理解しようとすると、私はほとんど次のことがわかります。

  1. あなたは、あなたがその発生10以上で、新しいリストを作成単語を持ちたい(ワード、ラベル)のようなタプルの数を持っている文書

  2. を持っています。

私はあなたがその発生これは私が把握することができますコードである10未満

あるタプルを追加しようとしている理由を理解しません。

lnewdata=[] 
    i=0; 
    for sentence in ldata: 
     newSent=[] 
     for word in sentence: 
     if dictWords.count(word[0])>10: 
      newSent.append((word[0],word[1])) 
    lnewdata = list(newSent) 
関連する問題