Exemple #1
0
 private void WriteWordVector(WordVector wv)
 {
     Writer.Write(wv.Word);
     Writer.Write(' ');
     Writer.Write(string.Join(" ", wv.Vector));
     Writer.Write('\n');
 }
        public WordVector ReadVector()
        {
            if (CurrentIndex == Words)
            {
                return(null);
            }
            WordVector result = null;

            using (var br = GetReader())
            {
                var word = ReadString(br);

                float[] vector = new float[Size];

                for (int j = 0; j < Size; j++)
                {
                    vector[j] = br.ReadSingle();
                }

                result = new WordVector(word, vector);

                if (LineBreaks)
                {
                    br.ReadByte(); // consume line break
                }
            }
            CurrentIndex++;
            return(result);
        }
        public WordVector ReadVector()
        {
            if (CurrentIndex == Words)
                return null;
            WordVector result = null;
            using (var br = GetReader())
            {
                var word = ReadString(br);

                float[] vector = new float[Size];

                for (int j = 0; j < Size; j++)
                {
                    vector[j] = br.ReadSingle();
                }

                result = new WordVector(word, vector);

                if (LineBreaks)
                {
                    br.ReadByte(); // consume line break
                }
            }
            CurrentIndex++;
            return result;
        }
 private void WriteWordVector(WordVector wv)
 {
     Writer.Write(wv.Word);
     Writer.Write(' ');
     Writer.Write(string.Join(" ", wv.Vector));
     Writer.Write('\n');
 }
 private void WriteWordVector(WordVector wv)
 {
     WriteString(wv.Word);
     WriteString(" ");
     foreach (var f in wv.Vector)
     {
         Writer.Write(f);
     }
 }
 private void WriteWordVector(WordVector wv)
 {
     WriteString(wv.Word);
     WriteString(" ");
     foreach (var f in wv.Vector)
     {
         Writer.Write(f);
     }
 }
        public Model Open()
        {
            using (var reader = new StreamReader(this.Stream, Encoding.UTF8, true, 4 * 1024))
            {
                var header = ReadHeader(reader);
                var words  = header[0];
                var size   = header[1];

                var        vectors = new List <WordVector>();
                WordVector vector  = null;
                while (null != (vector = ReadVector(reader)))
                {
                    vectors.Add(vector);
                }
                return(new Model(words == 0 ? vectors.Count : words, size == 0 ? (int)this.Stream.Length : size, vectors));
            }
        }
Exemple #8
0
        public WordVector ReadVector(BinaryReader br, int words, int size)
        {
            var word = ReadString(br);

            var vector = new float[size];

            for (int j = 0; j < size; j++)
            {
                vector[j] = br.ReadSingle();
            }

            var result = new WordVector(word, vector);

            if (LineBreaks)
            {
                br.ReadByte();             // consume line break
            }
            return(result);
        }
 public static float[] Subtract(this float[] word1, WordVector word2)
 {
     return word1.Subtract(word2.Vector);
 }
 public static double Distance(this float[] word1, WordVector word2)
 {
     return(word1.Distance(word2.Vector));
 }
 public static float[] Subtract(this float[] word1, WordVector word2)
 {
     return(word1.Subtract(word2.Vector));
 }
 public static float[] Add(this float[] word1, WordVector word2)
 {
     return(word1.Add(word2.Vector));
 }
Exemple #13
0
 protected void AddVector(WordVector vector)
 {
     this.vectors.Add(vector);
 }
Exemple #14
0
 protected void AddVector(WordVector vector)
 {
     this.vectors.Add(vector);
 }
 public static double Distance(this float[] word1, WordVector word2)
 {
     return word1.Distance(word2.Vector);
 }
 public static float[] Add(this float[] word1, WordVector word2)
 {
     return word1.Add(word2.Vector);
 }
Exemple #17
0
 public List <WordDistance> GetWordDistances(WordVector word)
 {
     return(vectors.DistanceList(word));
 }
        public static List <WordDistance> DistanceList(this List <WordVector> wordList, WordVector currentWord)
        {
            var distanceList = new List <WordDistance>();

            foreach (WordVector word in wordList)
            {
                distanceList.Add(new WordDistance(word.Word, word.Distance(currentWord), currentWord.Word));
            }
            return(distanceList);
        }