public NotenizerDependency(TypedDependency typedDependency) { _dependent = new NotenizerWord(typedDependency.dep()); _governor = new NotenizerWord(typedDependency.gov()); _relation = new NotenizerRelation(typedDependency.reln()); _originalDependency = typedDependency; }
public NotenizerDependency( NotenizerWord governor, NotenizerWord dependent, NotenizerRelation relation, int position, ComparisonType comparisonType, TokenType tokenType) { _governor = governor; _dependent = dependent; _relation = relation; _position = position; _comparisonType = comparisonType; _tokenType = tokenType; }
/// <summary> /// Create dependencies from deocument. /// </summary> /// <param name="dbEntry"></param> /// <param name="noteFieldName"></param> /// <returns></returns> private static NotenizerDependencies ParseDependencies(BsonDocument dbEntry, String noteFieldName) { int position; TokenType tokenType; NotenizerWord governor; NotenizerWord dependent; BsonDocument governorDoc; BsonDocument dependantDoc; NotenizerRelation relation; ComparisonType comparisonType; NotenizerDependency dependency; NotenizerDependencies dependencies = new NotenizerDependencies(); // foreach note dependency foreach (BsonDocument documentLoop in dbEntry[noteFieldName].AsBsonArray) { relation = new NotenizerRelation(documentLoop[DBConstants.RelationNameFieldName].AsString); // foreach dependency in array of dependencies with same relation name foreach (BsonDocument dependencyDocLoop in documentLoop[DBConstants.DependenciesFieldName].AsBsonArray) { governorDoc = dependencyDocLoop[DBConstants.GovernorFieldName].AsBsonDocument; dependantDoc = dependencyDocLoop[DBConstants.DependentFieldName].AsBsonDocument; position = dependencyDocLoop[DBConstants.PositionFieldName].AsInt32; comparisonType = dependencyDocLoop.GetValue(DBConstants.ComparisonTypeFieldName, ComparisonType.Unidentified).AsInt32.ToEnum<ComparisonType>(); tokenType = dependencyDocLoop.GetValue(DBConstants.TokenTypeFieldName, TokenType.Unidentified).AsInt32.ToEnum<TokenType>(); governor = new NotenizerWord( governorDoc[DBConstants.POSFieldName].AsString, governorDoc[DBConstants.IndexFieldName].AsInt32, governorDoc[DBConstants.LemmaFieldName].AsString, governorDoc[DBConstants.NERFieldName].AsString); dependent = new NotenizerWord( dependantDoc[DBConstants.POSFieldName].AsString, dependantDoc[DBConstants.IndexFieldName].AsInt32, dependantDoc[DBConstants.LemmaFieldName].AsString, dependantDoc[DBConstants.NERFieldName].AsString); dependency = new NotenizerDependency(governor, dependent, relation, position, comparisonType, tokenType); dependencies.Add(dependency); } } return dependencies; }
/// <summary> /// Create word with considering special relations. /// </summary> /// <param name="noteWord"></param> /// <param name="relation"></param> /// <returns></returns> private String MakeWordConsiderRelation(NotenizerWord noteWord, NotenizerRelation relation) { String word = String.Empty; if (relation.ShortName == GrammaticalConstants.NominalModifier) word = relation.AdjustedSpecific + NotenizerConstants.WordDelimeter + noteWord.Word; else word = noteWord.Word; return word; }