public LingvisticsResult ProcessText(LingvisticsTextInput input) { //System.Diagnostics.Debugger.Break(); if (input == null) { throw (new ArgumentNullException("input")); } if (input.Options == LingvisticsResultOptions.None) { return(null); } var rdfXml = _LinguisticsKernelConroller.GetRDF_New(input.Text, input.AfterSpellChecking, input.BaseDate, (int)input.Mode); var coreference = _CoreferenceResolver?.Process(rdfXml); var result = GetResultFromRDF(rdfXml, coreference, input.Options, input.GenerateAllSubthemes); #if WITH_OM_TM if ((input.Options & LingvisticsResultOptions.OpinionMiningWithTonality) == LingvisticsResultOptions.OpinionMiningWithTonality) { DigestOutputResult opinionMiningWithTonalityResult = CreateOpinionMiningWithTonalityResult(rdfXml, coreference, input.ObjectAllocateMethod); return(new LingvisticsResult(input.Options, result.RDF, result.ThemeList, result.LinkList, opinionMiningWithTonalityResult)); } else if ((input.Options & LingvisticsResultOptions.Tonality) == LingvisticsResultOptions.Tonality) { TonalityMarkingOutputResult tonalityResult = CreateTonalityResult(rdfXml, coreference, input.ObjectAllocateMethod, input.TonalityMarkingInput); return(new LingvisticsResult(input.Options, result.RDF, result.ThemeList, result.LinkList, tonalityResult)); } #endif return(result); }
public LingvisticsResult ProcessRDF(LingvisticsRDFInput input) { if (input == null) { throw (new ArgumentNullException("input")); } if (input.Options == LingvisticsResultOptions.None || input.Options == LingvisticsResultOptions.RDF) { return(null); } var rdfXml = XElement.Parse(input.Rdf); var coreference = _CoreferenceResolver?.ReadFromRdf(rdfXml); var result = GetResultFromRDF(rdfXml, coreference, input.Options, input.GenerateAllSubthemes); #if WITH_OM_TM if ((input.Options & LingvisticsResultOptions.OpinionMiningWithTonality) == LingvisticsResultOptions.OpinionMiningWithTonality) { DigestOutputResult opinionMiningWithTonalityResult = CreateOpinionMiningWithTonalityResult(rdfXml, coreference, input.ObjectAllocateMethod); return(new LingvisticsResult(input.Options, result.RDF, result.ThemeList, result.LinkList, opinionMiningWithTonalityResult)); } else if ((input.Options & LingvisticsResultOptions.Tonality) == LingvisticsResultOptions.Tonality) { TonalityMarkingOutputResult tonalityResult = CreateTonalityResult(rdfXml, coreference, input.ObjectAllocateMethod, input.TonalityMarkingInput); return(new LingvisticsResult(input.Options, result.RDF, result.ThemeList, result.LinkList, tonalityResult)); } #endif return(result); }
public LingvisticsResult(LingvisticsResultOptions options , string rdf , ThemeItem[] themeList , LinkItem[] linkList , DigestOutputResult opinionMiningWithTonalityResult ) : this(options, rdf, themeList, linkList) { OpinionMiningWithTonalityResult = opinionMiningWithTonalityResult; }
private static string ConvertToHtml(HttpContext context, DigestOutputResult result) { const string ANYTHING_ISNT_PRESENT = "<span style='color: maroon; font-size: x-small;'>[Ничего нет.]</span>"; const string TABLE_START = "<table border='1' style='font-size: x-small;'><tr><th>#</th><th>SUBJECT</th><th>OBJECT</th><th>SENTENCE</th></tr>"; const string TABLE_END = "</table>"; const string TABLE_ROW_FORMAT = "<tr valign='top'><td>{0}</td><td> {1}</td><td> {2}</td><td style='padding: 3px;'>{3}</td></tr>"; if (!result.Tuples.Any()) { return(ANYTHING_ISNT_PRESENT); } const string XSLT_FILENAME = "FinalTonality.Digest.test.xslt"; var xslt = new XslCompiledTransform(false); xslt.Load(context.Server.MapPath("~/App_Data/" + XSLT_FILENAME)); var tmp = new StringBuilder(); var sb = new StringBuilder(TABLE_START); var number = 0; foreach (var tuple in result.Tuples) { sb.AppendFormat ( TABLE_ROW_FORMAT, (++number), tuple.Subject.ToHtml(), tuple.Object.ToHtml(), tuple.GetSentence().Transform(xslt, tmp) ); } sb.Append(TABLE_END); return(sb.ToString()); }