/// <summary> /// <see cref="ITextIndexes"/>の内容をtsvとして出力します。 /// </summary> /// <param name="indexes"></param> /// <param name="outputFilePath"></param> private void WriteWordIndexStore(ITextIndexes indexes, string outputFilePath) { using (var stream = new StreamWriter(outputFilePath, append: false, encoding: Encoding.UTF8)) { foreach (var entry in indexes.AllEntries()) { stream.Write(entry.Text); stream.Write("\t"); stream.Write(entry.Index); stream.WriteLine(); } stream.Flush(); } }
public void Export(CntkTrainDataSet trainData) { // trainning_data.tsv this.WriteTranInputData(trainData.Sentences); // label Console.WriteLine("creating label_index.tsv in folder : Data"); string labelFile = @"Data\labels_index.tsv"; this.WriteWordIndexStore(trainData.LabelIndexes, labelFile); // words Console.WriteLine("creating words_index.tsv in folder: Data"); ITextIndexes indexes = (trainData.WordSpace).WordIndexes; if (indexes != null) { string wordsFilePath = @"Data\words_index.tsv"; WriteWordIndexStore(indexes, wordsFilePath); } }
/// <summary> /// 単語インデックス辞書を用いて<see cref="OneHotWordVectorSpace"/>を構成します。 /// </summary> /// <param name="wordIndexes"></param> public static OneHotWordVectorSpace Load(ITextIndexes wordIndexes) { return(new OneHotWordVectorSpace(wordIndexes)); }
private OneHotWordVectorSpace(ITextIndexes wordIndexes) { this.WordIndexes = wordIndexes; this.DimensionSize = this.WordIndexes.Count; this.Zero = new ZeroWordVector(this.DimensionSize); }