public DependencyInstance CreateInstance(StreamReader reader)
{
string[][] lines = ReadLines(reader);
if (lines == null) return null;
string[] toks = lines[0];
string[] pos = lines[1];
string[] labs = lines[2];
string[] deps = lines[3];
var deps1 = new int[deps.Length];
for (int i = 0; i < deps.Length; i++)
deps1[i] = int.Parse(deps[i]);
FeatureVector fv = CreateFeatureVector(toks, pos, labs, deps1);
var pti = new DependencyInstance(toks, pos, labs, fv);
string spans = "";
for (int i = 1; i < deps.Length; i++)
{
spans += deps[i] + "|" + i + ":" + TypeAlphabet.LookupIndex(labs[i]) + " ";
}
pti.ActParseTree = spans.Trim();
return pti;
}