Exemplo n.º 1
0
Arquivo: Aline.cs Projeto: rmunn/cog
        public Aline(SegmentPool segmentPool, IEnumerable<SymbolicFeature> relevantVowelFeatures, IEnumerable<SymbolicFeature> relevantConsFeatures,
			IDictionary<SymbolicFeature, int> featureWeights, IDictionary<FeatureSymbol, int> valueMetrics, AlineSettings settings)
            : base(settings)
        {
            _settings = settings;
            _scorer = new AlineScorer(segmentPool, relevantVowelFeatures, relevantConsFeatures, featureWeights, valueMetrics,
                settings.ContextualSoundClasses, settings.SoundChangeScoringEnabled, settings.SyllablePositionCostEnabled);
        }
Exemplo n.º 2
0
        public void Delta_VowelAndConsonant_ReturnsCorrectDelta()
        {
            AlineScorer scorer = CreateScorer(false, false);
            var         fs1    = FeatureStruct.New(_featSys).Symbol(CogFeatureSystem.VowelType).Symbol("close").Symbol("front").Symbol("round+").Symbol("voice+").Symbol("velar").Symbol("close-vowel").Value;
            var         fs2    = FeatureStruct.New(_featSys).Symbol(CogFeatureSystem.ConsonantType).Symbol("velar").Symbol("stop").Symbol("voice+").Value;

            Assert.That(scorer.Delta(fs1, fs2), Is.EqualTo(3500));
        }
Exemplo n.º 3
0
        public void Delta_SameVowels_ReturnsZero()
        {
            AlineScorer scorer = CreateScorer(false, false);
            var         fs1    = FeatureStruct.New(_featSys).Symbol(CogFeatureSystem.VowelType).Symbol("close").Symbol("front").Symbol("round+").Symbol("voice+").Symbol("velar").Symbol("close-vowel").Value;
            var         fs2    = FeatureStruct.New(_featSys).Symbol(CogFeatureSystem.VowelType).Symbol("close").Symbol("front").Symbol("round+").Symbol("voice+").Symbol("velar").Symbol("close-vowel").Value;

            Assert.That(scorer.Delta(fs1, fs2), Is.EqualTo(0));
        }
Exemplo n.º 4
0
        public void Delta_ConsonantClustersDifferByOneFeature_ReturnsCorrectDelta()
        {
            AlineScorer scorer = CreateScorer(false, false);
            var         fs1    = FeatureStruct.New(_featSys).Symbol(CogFeatureSystem.ConsonantType).Symbol("bilabial", "alveolar").Symbol("stop", "trill").Symbol("voice-").Value;
            var         fs2    = FeatureStruct.New(_featSys).Symbol(CogFeatureSystem.ConsonantType).Symbol("bilabial", "palatal").Symbol("stop", "trill").Symbol("voice-").Value;

            Assert.That(scorer.Delta(fs1, fs2), Is.EqualTo(600));
        }
Exemplo n.º 5
0
        public void Delta_SameConsonantClusters_ReturnsZero()
        {
            AlineScorer scorer = CreateScorer(false, false);
            var         fs1    = FeatureStruct.New(_featSys).Symbol(CogFeatureSystem.ConsonantType).Symbol("bilabial", "alveolar").Symbol("stop", "trill").Symbol("voice+").Value;
            var         fs2    = FeatureStruct.New(_featSys).Symbol(CogFeatureSystem.ConsonantType).Symbol("bilabial", "alveolar").Symbol("stop", "trill").Symbol("voice+").Value;

            Assert.That(scorer.Delta(fs1, fs2), Is.EqualTo(0));
        }
Exemplo n.º 6
0
        public void Delta_ConsonantsDifferByTwoFeatures_ReturnsCorrectDelta()
        {
            AlineScorer scorer = CreateScorer(false, false);
            var         fs1    = FeatureStruct.New(_featSys).Symbol(CogFeatureSystem.ConsonantType).Symbol("bilabial").Symbol("stop").Symbol("voice+").Value;
            var         fs2    = FeatureStruct.New(_featSys).Symbol(CogFeatureSystem.ConsonantType).Symbol("labiodental").Symbol("fricative").Symbol("voice+").Value;

            Assert.That(scorer.Delta(fs1, fs2), Is.EqualTo(900));
        }
Exemplo n.º 7
0
        public void GetMaxScore2_SoundChangeScoringDisabled_ReturnsCorrectScore()
        {
            AlineScorer scorer = CreateScorer(false, false);

            Assert.That(scorer.GetMaxScore2(_word1, _word2, _word2.Shape.First), Is.EqualTo(3500));
        }
Exemplo n.º 8
0
        public void GetMaxScore1_SoundChangeScoringEnabled_ReturnsCorrectScore()
        {
            AlineScorer scorer = CreateScorer(true, false);

            Assert.That(scorer.GetMaxScore1(_word1, _word1.Shape.First, _word2), Is.EqualTo(4300));
        }
Exemplo n.º 9
0
        public void GetSubstitutionScore_SyllablePositionCostDisabled_ReturnsCorrectScore()
        {
            AlineScorer scorer = CreateScorer(false, false);

            Assert.That(scorer.GetSubstitutionScore(_word1, _word1.Shape.First, _word2, _word2.Shape.Last), Is.EqualTo(-200));
        }
Exemplo n.º 10
0
        public void GetSubstitutionScore_SoundChangeScoringDisabled_ReturnsCorrectScore()
        {
            AlineScorer scorer = CreateScorer(false, false);

            Assert.That(scorer.GetSubstitutionScore(_word1, _word1.Shape.First, _word2, _word2.Shape.First), Is.EqualTo(600));
        }