public virtual bool Match(Context env, Concept check, GetValue propfunc, params object[] args) { // Apply propfunc now, and save for later object value = propfunc(check, args); bool matched = false; if (value is Concept) { matched = IsMatch((Concept)value); } else if (value is IParsedPhrase) { matched = IsMatch((IParsedPhrase)value); } if (matched) { object propogate = new ThreeTuple <GetValue, object, object[]>(propfunc, check, args); Propogate(env, propogate, 1.0); return(true); } return(false); }
static void Main(string[] args) { var personDetails = Console.ReadLine().Split(); string personName = personDetails[0] + " " + personDetails[1]; string personAdress = personDetails[2]; string town = personDetails[3]; ThreeTuple <string, string, string> personTuple = new ThreeTuple <string, string, string>(personName, personAdress, town); var drunkInput = Console.ReadLine().Split(); string name = drunkInput[0]; int beer = int.Parse(drunkInput[1]); bool drunkOrNot = drunkInput[2] == "drunk"; ThreeTuple <string, int, bool> drunkTuple = new ThreeTuple <string, int, bool>(name, beer, drunkOrNot); var bankBalance = Console.ReadLine().Split(); string accountName = bankBalance[0]; double accountBalance = double.Parse(bankBalance[1]); string bankName = bankBalance[2]; ThreeTuple <string, double, string> numTuple = new ThreeTuple <string, double, string>(accountName, accountBalance, bankName); Console.WriteLine(personTuple); Console.WriteLine(drunkTuple); Console.WriteLine(numTuple); }
ImputeEmotionalContentFromFile(string filename, uint column, uint repeats, string imputesave) { MemorySource <string, ThreeTuple <ContinuousDistribution, ContinuousDistribution, ContinuousDistribution> > imputed = new MemorySource <string, ThreeTuple <ContinuousDistribution, ContinuousDistribution, ContinuousDistribution> >(); ComboSource <string, ThreeTuple <ContinuousDistribution, ContinuousDistribution, ContinuousDistribution> > combo = new ComboSource <string, ThreeTuple <ContinuousDistribution, ContinuousDistribution, ContinuousDistribution> >(source, imputed); // Check for existing imputed file DataReader imputereader = new DataReader(imputesave); uint kk = 0; for (string[] row = imputereader.ReadRow(); row != null; row = imputereader.ReadRow()) { kk++; if (kk % 1000 == 0) { Console.WriteLine("#" + kk); } double meanv = double.Parse(row[1]), varv = double.Parse(row[2]), meana = double.Parse(row[3]), vara = double.Parse(row[4]), meand = double.Parse(row[5]), vard = double.Parse(row[6]); ContinuousDistribution valence = new ClippedGaussianDistribution(meanv, varv, 0, 1); ContinuousDistribution arousal = new ClippedGaussianDistribution(meana, vara, 0, 1); ContinuousDistribution dominance = new ClippedGaussianDistribution(meand, vard, 0, 1); imputed[row[0]] = new ThreeTuple <ContinuousDistribution, ContinuousDistribution, ContinuousDistribution>(valence, arousal, dominance); } imputereader.Close(); for (uint ii = 0; ii < repeats; ii++) { Dictionary <string, List <KeyValuePair <double, double> > > sentencesV = new Dictionary <string, List <KeyValuePair <double, double> > >(), sentencesA = new Dictionary <string, List <KeyValuePair <double, double> > >(), sentencesD = new Dictionary <string, List <KeyValuePair <double, double> > >(); DataReader reader = new DataReader(filename); uint jj = 0; for (string[] row = reader.ReadRow(); row != null; row = reader.ReadRow()) { jj++; if (jj % 1000 == 0) { Console.WriteLine("#" + jj + ": " + sentencesV.Count + ", " + imputed.Count); } List <string> words = TwitterUtilities.SplitWords(row[column].ToLower()); AnalyzeWords(words, combo, sentencesV, sentencesA, sentencesD); } reader.Close(); AnalyzeSentences(imputed, sentencesV, sentencesA, sentencesD, imputesave); } source = combo; return(imputed); }
public bool TryGetWordOrStem(IDataSource <string, ThreeTuple <ContinuousDistribution, ContinuousDistribution, ContinuousDistribution> > source, string word, out ThreeTuple <ContinuousDistribution, ContinuousDistribution, ContinuousDistribution> vad) { if (!source.TryGetValue(word, out vad)) { // try stemmed word string stem = stemmer.stemTerm(word); if (stem == word || !source.TryGetValue(stem, out vad)) { return(false); } } return(true); }
static void Main() { string[] inputRow1 = Console.ReadLine().Split(); ThreeTuple<string, string, string> t1= new ThreeTuple<string, string, string>(inputRow1[0]+" "+inputRow1[1],inputRow1[2],inputRow1[3]); string[] inputRow2 = Console.ReadLine().Split(); bool arg = false; if (inputRow2[2] == "drunk") { arg = true; } ThreeTuple<string, int, bool> t2 = new ThreeTuple<string, int, bool>(inputRow2[0], int.Parse(inputRow2[1]), arg ); string[] inputRow3 = Console.ReadLine().Split(); ThreeTuple<string, double, string> t3 = new ThreeTuple<string, double, string>(inputRow3[0], double.Parse(inputRow3[1]), inputRow3[2]); Console.WriteLine($"{t1.Key} -> {t1.FirstValue} -> {t1.SecondValue}"); Console.WriteLine($"{t2.Key} -> {t2.FirstValue} -> {t2.SecondValue}"); Console.WriteLine("{0} -> {1:f1} -> {2}",t3.Key,t3.FirstValue,t3.SecondValue); }
public void AnalyzeSentences(MemorySource <string, ThreeTuple <ContinuousDistribution, ContinuousDistribution, ContinuousDistribution> > inputed, Dictionary <string, List <KeyValuePair <double, double> > > sentencesV, Dictionary <string, List <KeyValuePair <double, double> > > sentencesA, Dictionary <string, List <KeyValuePair <double, double> > > sentencesD, string imputesave) { using (var stream = File.CreateText(imputesave)) { foreach (string stem in sentencesV.Keys) { double vmean = WeightedStatistics.Mean(sentencesV[stem]), amean = WeightedStatistics.Mean(sentencesA[stem]), dmean = WeightedStatistics.Mean(sentencesD[stem]); ClippedGaussianDistribution valence = new ClippedGaussianDistribution(vmean, WeightedStatistics.Variance(sentencesV[stem], vmean, true), 0, 1); ClippedGaussianDistribution arousal = new ClippedGaussianDistribution(amean, WeightedStatistics.Variance(sentencesA[stem], amean, true), 0, 1); ClippedGaussianDistribution dominance = new ClippedGaussianDistribution(dmean, WeightedStatistics.Variance(sentencesD[stem], dmean, true), 0, 1); inputed[stem] = new ThreeTuple <ContinuousDistribution, ContinuousDistribution, ContinuousDistribution>(valence, arousal, dominance); stream.WriteLine(stem + "," + valence.InternalMean + "," + valence.InternalVariance + "," + arousal.InternalMean + "," + arousal.InternalVariance + "," + dominance.InternalMean + "," + dominance.InternalVariance); } } }
public virtual bool Match(Context env, Concept check, GetValue propfunc, params object[] args) { // Apply propfunc now, and save for later object value = propfunc(check, args); bool matched = false; if (value is Concept) matched = IsMatch((Concept) value); else if (value is IParsedPhrase) matched = IsMatch((IParsedPhrase) value); if (matched) { object propogate = new ThreeTuple<GetValue, object, object[]>(propfunc, check, args); Propogate(env, propogate, 1.0); return true; } return false; }
public virtual IParsedPhrase Produce(Context env, POSTagger tagger, GrammarParser parser) { object var = env.LookupDefaulted <object>("$p$" + name, null); if (var is ThreeTuple <GetValue, object, object[]> ) { ThreeTuple <GetValue, object, object[]> tuple = (ThreeTuple <GetValue, object, object[]>)var; var = tuple.one(tuple.two, tuple.three); } if (var is IParsedPhrase) { return((IParsedPhrase)var); } else if (var is Concept) { return(ConceptToPhrase(env, (Concept)var, tagger, parser)); } return(null); // don't produce anything! }
public ScatterDataPoint(ThreeTuple <float> coords, float value) { this.Coords = coords; this.Value = value; }
public void Populate() { #region Types of Keywords FieldPublicDynamic = new { PropPublic1 = "A", PropPublic2 = 1, PropPublic3 = "B", PropPublic4 = "B", PropPublic5 = "B", PropPublic6 = "B", PropPublic7 = "B", PropPublic8 = "B", PropPublic9 = "B", PropPublic10 = "B", PropPublic11 = "B", PropPublic12 = new { PropSubPublic1 = 0, PropSubPublic2 = 1, PropSubPublic3 = 2 } }; FieldPublicObject = new StringBuilder("Object - StringBuilder"); FieldPublicInt32 = int.MaxValue; FieldPublicInt64 = long.MaxValue; FieldPublicULong = ulong.MaxValue; FieldPublicUInt = uint.MaxValue; FieldPublicDecimal = 100000.999999m; FieldPublicDouble = 100000.999999d; FieldPublicChar = 'A'; FieldPublicByte = byte.MaxValue; FieldPublicBoolean = true; FieldPublicSByte = sbyte.MaxValue; FieldPublicShort = short.MaxValue; FieldPublicUShort = ushort.MaxValue; FieldPublicFloat = 100000.675555f; FieldPublicInt32Nullable = int.MaxValue; FieldPublicInt64Nullable = 2; FieldPublicULongNullable = ulong.MaxValue; FieldPublicUIntNullable = uint.MaxValue; FieldPublicDecimalNullable = 100000.999999m; FieldPublicDoubleNullable = 100000.999999d; FieldPublicCharNullable = 'A'; FieldPublicByteNullable = byte.MaxValue; FieldPublicBooleanNullable = true; FieldPublicSByteNullable = sbyte.MaxValue; FieldPublicShortNullable = short.MaxValue; FieldPublicUShortNullable = ushort.MaxValue; FieldPublicFloatNullable = 100000.675555f; #endregion #region System FieldPublicDateTime = new DateTime(2000, 1, 1, 1, 1, 1); FieldPublicTimeSpan = new TimeSpan(1, 10, 40); FieldPublicEnumDateTimeKind = DateTimeKind.Local; // Instantiate date and time using Persian calendar with years, // months, days, hours, minutes, seconds, and milliseconds FieldPublicDateTimeOffset = new DateTimeOffset(1387, 2, 12, 8, 6, 32, 545, new System.Globalization.PersianCalendar(), new TimeSpan(1, 0, 0)); FieldPublicIntPtr = new IntPtr(100); FieldPublicTimeZone = TimeZone.CurrentTimeZone; FieldPublicTimeZoneInfo = TimeZoneInfo.Utc; FieldPublicTuple = Tuple.Create <string, int, decimal>("T-string\"", 1, 1.1m); FieldPublicType = typeof(object); FieldPublicUIntPtr = new UIntPtr(100); FieldPublicUri = new Uri("http://www.site.com"); FieldPublicVersion = new Version(1, 0, 100, 1); FieldPublicGuid = new Guid("d5010f5b-0cd1-44ca-aacb-5678b9947e6c"); FieldPublicSingle = Single.MaxValue; FieldPublicException = new Exception("Test error", new Exception("inner exception")); FieldPublicEnumNonGeneric = EnumTest.ValueA; FieldPublicAction = () => true.Equals(true); FieldPublicAction2 = (a, b) => true.Equals(true); FieldPublicFunc = () => true; FieldPublicFunc2 = (a, b) => true; #endregion #region Arrays and Collections FieldPublicArrayUni = new string[2]; FieldPublicArrayUni[0] = "[0]"; FieldPublicArrayUni[1] = "[1]"; FieldPublicArrayTwo = new string[2, 2]; FieldPublicArrayTwo[0, 0] = "[0, 0]"; FieldPublicArrayTwo[0, 1] = "[0, 1]"; FieldPublicArrayTwo[1, 0] = "[1, 0]"; FieldPublicArrayTwo[1, 1] = "[1, 1]"; FieldPublicArrayThree = new string[1, 1, 2]; FieldPublicArrayThree[0, 0, 0] = "[0, 0, 0]"; FieldPublicArrayThree[0, 0, 1] = "[0, 0, 1]"; FieldPublicJaggedArrayTwo = new string[2][]; FieldPublicJaggedArrayTwo[0] = new string[5] { "a", "b", "c", "d", "e" }; FieldPublicJaggedArrayTwo[1] = new string[4] { "a1", "b1", "c1", "d1" }; FieldPublicJaggedArrayThree = new string[1][][]; FieldPublicJaggedArrayThree[0] = new string[1][]; FieldPublicJaggedArrayThree[0][0] = new string[2]; FieldPublicJaggedArrayThree[0][0][0] = "[0][0][0]"; FieldPublicJaggedArrayThree[0][0][1] = "[0][0][1]"; FieldPublicMixedArrayAndJagged = new int[3][, ] { new int[, ] { { 1, 3 }, { 5, 7 } }, new int[, ] { { 0, 2 }, { 4, 6 }, { 8, 10 } }, new int[, ] { { 11, 22 }, { 99, 88 }, { 0, 9 } } }; FieldPublicDictionary = new System.Collections.Generic.Dictionary <string, string>(); FieldPublicDictionary.Add("Key1", "Value1"); FieldPublicDictionary.Add("Key2", "Value2"); FieldPublicDictionary.Add("Key3", "Value3"); FieldPublicDictionary.Add("Key4", "Value4"); FieldPublicList = new System.Collections.Generic.List <int>(); FieldPublicList.Add(0); FieldPublicList.Add(1); FieldPublicList.Add(2); FieldPublicQueue = new System.Collections.Generic.Queue <int>(); FieldPublicQueue.Enqueue(10); FieldPublicQueue.Enqueue(11); FieldPublicQueue.Enqueue(12); FieldPublicHashSet = new System.Collections.Generic.HashSet <string>(); FieldPublicHashSet.Add("HashSet1"); FieldPublicHashSet.Add("HashSet2"); FieldPublicSortedSet = new System.Collections.Generic.SortedSet <string>(); FieldPublicSortedSet.Add("SortedSet1"); FieldPublicSortedSet.Add("SortedSet2"); FieldPublicSortedSet.Add("SortedSet3"); FieldPublicStack = new System.Collections.Generic.Stack <string>(); FieldPublicStack.Push("Stack1"); FieldPublicStack.Push("Stack2"); FieldPublicStack.Push("Stack3"); FieldPublicLinkedList = new System.Collections.Generic.LinkedList <string>(); FieldPublicLinkedList.AddFirst("LinkedList1"); FieldPublicLinkedList.AddLast("LinkedList2"); FieldPublicLinkedList.AddAfter(FieldPublicLinkedList.Find("LinkedList1"), "LinkedList1.1"); FieldPublicObservableCollection = new System.Collections.ObjectModel.ObservableCollection <string>(); FieldPublicObservableCollection.Add("ObservableCollection1"); FieldPublicObservableCollection.Add("ObservableCollection2"); FieldPublicKeyedCollection = new MyDataKeyedCollection(); FieldPublicKeyedCollection.Add(new MyData() { Data = "data1", Id = 0 }); FieldPublicKeyedCollection.Add(new MyData() { Data = "data2", Id = 1 }); var list = new List <string>(); list.Add("list1"); list.Add("list2"); list.Add("list3"); FieldPublicReadOnlyCollection = new ReadOnlyCollection <string>(list); FieldPublicReadOnlyDictionary = new ReadOnlyDictionary <string, string>(FieldPublicDictionary); FieldPublicReadOnlyObservableCollection = new ReadOnlyObservableCollection <string>(FieldPublicObservableCollection); FieldPublicCollection = new Collection <string>(); FieldPublicCollection.Add("collection1"); FieldPublicCollection.Add("collection2"); FieldPublicCollection.Add("collection3"); FieldPublicArrayListNonGeneric = new System.Collections.ArrayList(); FieldPublicArrayListNonGeneric.Add(1); FieldPublicArrayListNonGeneric.Add("a"); FieldPublicArrayListNonGeneric.Add(10.0m); FieldPublicArrayListNonGeneric.Add(new DateTime(2000, 01, 01)); FieldPublicBitArray = new System.Collections.BitArray(3); FieldPublicBitArray[2] = true; FieldPublicSortedList = new System.Collections.SortedList(); FieldPublicSortedList.Add("key1", 1); FieldPublicSortedList.Add("key2", 2); FieldPublicSortedList.Add("key3", 3); FieldPublicSortedList.Add("key4", 4); FieldPublicHashtableNonGeneric = new System.Collections.Hashtable(); FieldPublicHashtableNonGeneric.Add("key1", 1); FieldPublicHashtableNonGeneric.Add("key2", 2); FieldPublicHashtableNonGeneric.Add("key3", 3); FieldPublicHashtableNonGeneric.Add("key4", 4); FieldPublicQueueNonGeneric = new System.Collections.Queue(); FieldPublicQueueNonGeneric.Enqueue("QueueNonGeneric1"); FieldPublicQueueNonGeneric.Enqueue("QueueNonGeneric2"); FieldPublicQueueNonGeneric.Enqueue("QueueNonGeneric3"); FieldPublicStackNonGeneric = new System.Collections.Stack(); FieldPublicStackNonGeneric.Push("StackNonGeneric1"); FieldPublicStackNonGeneric.Push("StackNonGeneric2"); FieldPublicIEnumerable = FieldPublicSortedList; FieldPublicBlockingCollection = new System.Collections.Concurrent.BlockingCollection <string>(); FieldPublicBlockingCollection.Add("BlockingCollection1"); FieldPublicBlockingCollection.Add("BlockingCollection2"); FieldPublicConcurrentBag = new System.Collections.Concurrent.ConcurrentBag <string>(); FieldPublicConcurrentBag.Add("ConcurrentBag1"); FieldPublicConcurrentBag.Add("ConcurrentBag2"); FieldPublicConcurrentBag.Add("ConcurrentBag3"); FieldPublicConcurrentDictionary = new System.Collections.Concurrent.ConcurrentDictionary <string, int>(); FieldPublicConcurrentDictionary.GetOrAdd("ConcurrentDictionary1", 0); FieldPublicConcurrentDictionary.GetOrAdd("ConcurrentDictionary2", 0); FieldPublicConcurrentQueue = new System.Collections.Concurrent.ConcurrentQueue <string>(); FieldPublicConcurrentQueue.Enqueue("ConcurrentQueue1"); FieldPublicConcurrentQueue.Enqueue("ConcurrentQueue2"); FieldPublicConcurrentStack = new System.Collections.Concurrent.ConcurrentStack <string>(); FieldPublicConcurrentStack.Push("ConcurrentStack1"); FieldPublicConcurrentStack.Push("ConcurrentStack2"); // FieldPublicOrderablePartitioner = new OrderablePartitioner(); // FieldPublicPartitioner; // FieldPublicPartitionerNonGeneric; FieldPublicHybridDictionary = new System.Collections.Specialized.HybridDictionary(); FieldPublicHybridDictionary.Add("HybridDictionaryKey1", "HybridDictionary1"); FieldPublicHybridDictionary.Add("HybridDictionaryKey2", "HybridDictionary2"); FieldPublicListDictionary = new System.Collections.Specialized.ListDictionary(); FieldPublicListDictionary.Add("ListDictionaryKey1", "ListDictionary1"); FieldPublicListDictionary.Add("ListDictionaryKey2", "ListDictionary2"); FieldPublicNameValueCollection = new System.Collections.Specialized.NameValueCollection(); FieldPublicNameValueCollection.Add("Key1", "Value1"); FieldPublicNameValueCollection.Add("Key2", "Value2"); FieldPublicOrderedDictionary = new System.Collections.Specialized.OrderedDictionary(); FieldPublicOrderedDictionary.Add(1, "OrderedDictionary1"); FieldPublicOrderedDictionary.Add(2, "OrderedDictionary1"); FieldPublicOrderedDictionary.Add("OrderedDictionaryKey2", "OrderedDictionary2"); FieldPublicStringCollection = new System.Collections.Specialized.StringCollection(); FieldPublicStringCollection.Add("StringCollection1"); FieldPublicStringCollection.Add("StringCollection2"); #endregion #region Several PropXmlDocument = new XmlDocument(); PropXmlDocument.LoadXml("<xml>something</xml>"); var tr = new StringReader("<Root>Content</Root>"); PropXDocument = XDocument.Load(tr); PropStream = GenerateStreamFromString("Stream"); PropBigInteger = new System.Numerics.BigInteger(100); PropStringBuilder = new StringBuilder("StringBuilder"); FieldPublicIQueryable = new List <string>() { "IQueryable" }.AsQueryable(); #endregion #region Custom FieldPublicMyCollectionPublicGetEnumerator = new MyCollectionPublicGetEnumerator("a b c", new char[] { ' ' }); FieldPublicMyCollectionInheritsPublicGetEnumerator = new MyCollectionInheritsPublicGetEnumerator("a b c", new char[] { ' ' }); FieldPublicMyCollectionExplicitGetEnumerator = new MyCollectionExplicitGetEnumerator("a b c", new char[] { ' ' }); FieldPublicMyCollectionInheritsExplicitGetEnumerator = new MyCollectionInheritsExplicitGetEnumerator("a b c", new char[] { ' ' }); FieldPublicMyCollectionInheritsTooIEnumerable = new MyCollectionInheritsTooIEnumerable("a b c", new char[] { ' ' }); FieldPublicEnumSpecific = EnumTest.ValueB; MyDelegate = MethodDelegate; EmptyClass = new EmptyClass(); StructGeneric = new ThreeTuple <int>(0, 1, 2); StructGenericNullable = new ThreeTuple <int>(0, 1, 2); FieldPublicNullable = new Nullable <ThreeTuple <int> >(StructGeneric); #endregion }
public bool TryGetWordOrStem(IDataSource<string, ThreeTuple<ContinuousDistribution, ContinuousDistribution, ContinuousDistribution>> source, string word, out ThreeTuple<ContinuousDistribution, ContinuousDistribution, ContinuousDistribution> vad) { if (!source.TryGetValue(word, out vad)) { // try stemmed word string stem = stemmer.stemTerm(word); if (stem == word || !source.TryGetValue(stem, out vad)) return false; } return true; }
public IDataSource<string, ThreeTuple<ContinuousDistribution, ContinuousDistribution, ContinuousDistribution>> ImputeEmotionalContentFromFile(string filename, uint column, uint repeats, string imputesave) { MemorySource<string, ThreeTuple<ContinuousDistribution, ContinuousDistribution, ContinuousDistribution>> imputed = new MemorySource<string, ThreeTuple<ContinuousDistribution, ContinuousDistribution, ContinuousDistribution>>(); ComboSource<string, ThreeTuple<ContinuousDistribution, ContinuousDistribution, ContinuousDistribution>> combo = new ComboSource<string, ThreeTuple<ContinuousDistribution, ContinuousDistribution, ContinuousDistribution>>(source, imputed); // Check for existing imputed file DataReader imputereader = new DataReader(imputesave); uint kk = 0; for (string[] row = imputereader.ReadRow(); row != null; row = imputereader.ReadRow()) { kk++; if (kk % 1000 == 0) Console.WriteLine("#" + kk); double meanv = double.Parse(row[1]), varv = double.Parse(row[2]), meana = double.Parse(row[3]), vara = double.Parse(row[4]), meand = double.Parse(row[5]), vard = double.Parse(row[6]); ContinuousDistribution valence = new ClippedGaussianDistribution(meanv, varv, 0, 1); ContinuousDistribution arousal = new ClippedGaussianDistribution(meana, vara, 0, 1); ContinuousDistribution dominance = new ClippedGaussianDistribution(meand, vard, 0, 1); imputed[row[0]] = new ThreeTuple<ContinuousDistribution, ContinuousDistribution, ContinuousDistribution>(valence, arousal, dominance); } imputereader.Close(); for (uint ii = 0; ii < repeats; ii++) { Dictionary<string, List<KeyValuePair<double, double>>> sentencesV = new Dictionary<string, List<KeyValuePair<double, double>>>(), sentencesA = new Dictionary<string, List<KeyValuePair<double, double>>>(), sentencesD = new Dictionary<string, List<KeyValuePair<double, double>>>(); DataReader reader = new DataReader(filename); uint jj = 0; for (string[] row = reader.ReadRow(); row != null; row = reader.ReadRow()) { jj++; if (jj % 1000 == 0) Console.WriteLine("#" + jj + ": " + sentencesV.Count + ", " + imputed.Count); List<string> words = TwitterUtilities.SplitWords(row[column].ToLower()); AnalyzeWords(words, combo, sentencesV, sentencesA, sentencesD); } reader.Close(); AnalyzeSentences(imputed, sentencesV, sentencesA, sentencesD, imputesave); } source = combo; return imputed; }
public void AnalyzeSentences(MemorySource<string, ThreeTuple<ContinuousDistribution, ContinuousDistribution, ContinuousDistribution>> inputed, Dictionary<string, List<KeyValuePair<double, double>>> sentencesV, Dictionary<string, List<KeyValuePair<double, double>>> sentencesA, Dictionary<string, List<KeyValuePair<double, double>>> sentencesD, string imputesave) { using (var stream = File.CreateText(imputesave)) { foreach (string stem in sentencesV.Keys) { double vmean = WeightedStatistics.Mean(sentencesV[stem]), amean = WeightedStatistics.Mean(sentencesA[stem]), dmean = WeightedStatistics.Mean(sentencesD[stem]); ClippedGaussianDistribution valence = new ClippedGaussianDistribution(vmean, WeightedStatistics.Variance(sentencesV[stem], vmean, true), 0, 1); ClippedGaussianDistribution arousal = new ClippedGaussianDistribution(amean, WeightedStatistics.Variance(sentencesA[stem], amean, true), 0, 1); ClippedGaussianDistribution dominance = new ClippedGaussianDistribution(dmean, WeightedStatistics.Variance(sentencesD[stem], dmean, true), 0, 1); inputed[stem] = new ThreeTuple<ContinuousDistribution, ContinuousDistribution, ContinuousDistribution>(valence, arousal, dominance); stream.WriteLine(stem + "," + valence.InternalMean + "," + valence.InternalVariance + "," + arousal.InternalMean + "," + arousal.InternalVariance + "," + dominance.InternalMean + "," + dominance.InternalVariance); } } }