pythonリードワードベクトルファイル

810 ワード

    # String embedFile
    def readEmbedFile(embedFile):
        embedId = {}
        input = open(embedFile,'r')
        lines= []
        for line in input:
            lines.append(line)
        nwords = len(lines)-1
        splits = lines[1].split(' ') #          ,      
        dim = len(splits)-1
        embeddings = [[0 for col in range(dim)] for row in range(nwords)]

        for lineId in range(len(lines)):
            splits = lines[lineId].split(' ')
            if len(splits) > 2 :
                #embedId  
                embedId[splits[0]] = lineId
                #embeddings  
                emb = [splits[i] for i in range(1, 201)]
                embeddings.append(emb)
        return embedId, embeddings
注目点は、2 D配列の初期化および2 D配列値の充填にある