示例#1
0
        protected IEnumerable <string> GetUnknownPhrases(BeamGenerator generator)
        {
            var allInputPhrases = GetMany <InputPhraseEvent>();

            var currentBuffer = new List <InputPhraseEvent>();

            foreach (var inputPhrase in allInputPhrases)
            {
                var phrase = inputPhrase;
                var isPhraseDisconnected = currentBuffer.Count > 0 && phrase.InputId - currentBuffer.Last().InputId != 1;

                if (generator.IsInputUsed(phrase) || isDelimiter(inputPhrase) || isPhraseDisconnected)
                {
                    if (currentBuffer.Count > 0)
                    {
                        yield return(composeUnknownPhrase(currentBuffer));
                    }

                    currentBuffer.Clear();
                    continue;
                }
                currentBuffer.Add(phrase);
            }

            if (currentBuffer.Count > 0)
            {
                yield return(composeUnknownPhrase(currentBuffer));
            }
        }