Beispiel #1
0
        public List <ConversationSubject> GetSubjects(AnalyzedChat response)
        {
            var subjects = new List <ConversationSubject>();

            if (response.naturalLanguageData.sentences == null)
            {
                return(subjects);
            }

            foreach (var sentence in response.naturalLanguageData.sentences)
            {
                var token = sentence.Subject;
                if (token != null && !string.IsNullOrWhiteSpace(token.Lemmas))
                {
                    var index = subjects.FindIndex(s => s.Lemmas == token.Lemmas);
                    if (index >= 0)
                    {
                        subjects[index].OccurenceCount++;
                    }
                    else
                    {
                        var subject = new ConversationSubject
                        {
                            OccurenceCount = 1,
                            Lemmas         = token.Lemmas
                        };
                        subjects.Add(subject);
                    }
                }
            }

            return(subjects);
        }
        public List <ConversationSubject> GetSubjects(AnalyzedChat response)
        {
            var subjects = new List <ConversationSubject>();

            foreach (var sentence in response.naturalLanguageData.sentences)
            {
                foreach (var token in sentence.tokens)
                {
                    if (token.POSTag == "NN" || token.POSTag == "NNP" || token.POSTag == "NNS" || token.POSTag == "NNPS")
                    {
                        var index = subjects.FindIndex(s => s.subjectWords.Contains(token.Stem));
                        if (index >= 0)
                        {
                            subjects[index].occurenceCount++;
                        }
                        else
                        {
                            var subject = new ConversationSubject();
                            subject.occurenceCount = 1;
                            subject.subjectWords   = new List <string>();
                            subject.subjectWords.Add(token.Stem);
                            subjects.Add(subject);
                        }
                    }
                }
            }

            return(subjects);
        }