2017-06-26 8 views
0

私はスキップグラムモデルのために訓練したいと思う私のテキストファイルのデータの巨大なコーパスを持っています。 私はファイルからデータをリスト に分割しました。出現回数のある単語を数えて辞書にし、その単語を辞書のキーとして与え、頻度をvalue.hereにしたいのですが、私のコードのスニペットはword2vecモデルのリストから辞書への変換

です
with open("enwik8","r") as data: 
    words=data.read().split() 

vocabulary_size = 5000 


    count = [['UNK', -1]] 
    count.extend(collections.Counter(words).most_common(vocabulary_size - 1)) 
count.extend(collections.Counter(words).most_common(vocabulary_size - 1)) 

私は正常に今私は、辞書にFREQとして単語や値などのキーをそれらを養うために必要がある、最初の最も一般的な50000の言葉件まで単語とその頻度でリストを作ってきました。

dictionary = dict() 
for word, _ in count: 

誰でも私を助けることができますか?ここで、あなたはすでに単語のリストを持っていると仮定すると

+0

「カウント」とは何ですか? – Goyo

+0

@Goyo srry、私はcode.itの1行が欠けているリストです。 –

+1

'dict(count)'が必要です。 – Goyo

答えて

1

は、あなたがあなたの必要性に従ってそれから辞書を引く方法です:

word_dict = dict() 
for word_count in words: 
    if word_count[0] not in word_dict: 
     word_dict[word_count[0]] = word_count[1] 

あなたのリストはタプル、そうword_dict[word_count[0]]が含まれているので、私はタプルの最初の項目を配置していますそれは辞書の中にkeyという単語であり、2番目のアイテムword_count[1]はタプルでvalueとなります。key

+0

私はリスト内の洗練された言葉を[( '単語'、 'いいえ、それがコーパスに入っている回数')の形にしているので、リスト 'カウント'でのみ行う必要があります] –

+0

あなたのリスト形式 –

+0

エラーは何ですか? –

関連する問題