19 using System.Collections.Generic;
21 using System.Reflection;
22 using TraceLab.Components.DevelopmentKit.IO;
23 using TraceLab.Components.RPlugin.Properties;
24 using TraceLab.Components.Types.Tracers.InformationRetrieval;
25 using TraceLabSDK.Types;
27 namespace TraceLab.Components.DevelopmentKit.Tracers.InformationRetrieval
34 private readonly
string _baseScript = Settings.Default.Resources +
"GibbsLDA.R";
35 private readonly
string[] _requiredPackages =
new string[] {
"slam",
"tm",
"topicmodels" };
37 private TLArtifactsCollection _source;
38 private TLArtifactsCollection _target;
40 private string _outputFile;
45 public override string BaseScript
56 public override string[] RequiredPackages
60 return _requiredPackages;
83 DirectoryInfo sourceInfo = SaveArtifactsToCache(_source,
"GibbsLDA.source");
84 DirectoryInfo targetInfo = SaveArtifactsToCache(_target,
"GibbsLDA.target");
86 _arguments =
new List<object>();
87 _arguments.Add(sourceInfo.FullName);
88 _arguments.Add(targetInfo.FullName);
89 _arguments.Add(_outputFile);
90 _arguments.Add(_config.NumTopics);
91 _arguments.Add(_config.GibbsIterations);
92 _arguments.Add(_config.Alpha);
93 _arguments.Add(_config.Beta);
94 _arguments.Add(_config.Seed);
112 private DirectoryInfo SaveArtifactsToCache(TLArtifactsCollection artifacts,
string name)
115 foreach (TLArtifact artifact
in artifacts.Values)
117 TextWriter tw =
new StreamWriter(Path.Combine(info.FullName, artifact.Id));
118 tw.Write(artifact.Text);