//License:
See LICENSE.txt for copy of source license (AGPLv3)
//Copyright:
Author: Richard Bruce Baxter Copyright (c) 2005-2013 Baxter AI (baxterai.com)
//Release Notes:
For best performance, GIA requires specification of -lrpfolder (even if not using -lrp). This is used to perform a look up of WikipediaIrregularVerbs.txt in order to detect irregular verbs where they have not been pos tagged correctly by NLP. This is only applicable for releases >= 12 Nov 2012.
//Change Record:
Release-30July2012:
OpenGIA 29-July-2012 - first public release
OpenGIA 30-July-2012 - get GIA to compile with CS
OpenGIA 31-July-2012 - get GIA to compile without GIA_USE_NLG, and without GIA_USE_ADVANCED_REFERENCING
OpenGIA 31-July-2012 - retest and fix GIA with semanticNetWikiExampleInputText.txt
OpenGIA 31-July-2012 - fix bug in advanced referencing (fill in temporary sentence word arrays with dummy prepositional data to prevent memory access failure upon assignment of preposition based references)
OpenGIA 03-August-2012 - continued NLG peformance - support noun plurality (replace indefinite articles 'a' -> 'some') and first letter vowels (modify indefinite articles 'a' -> 'an' [INCOMPLETE])
OpenGIA 03-August-2012 - improve stanford multi-word preposition reduction (ignore case _prep + _adverb) - remove RELATION_TYPE_ADJECTIVE_ADVMOD from redistributionStanfordRelationsMultiwordPrepositionIntermediaryRelationsTypeB
OpenGIA 03-August-2012 - fix bug in advanced referencing updates - assignment of grammaticalNumber (plural) to properties - remove grammaticalNumberTemp
OpenGIA 04-August-2012 - update NLG - GIA_NLG_SUPPORT_TIME_CONDITIONS
OpenGIA 06-August-2012 - update NLG - improve NLG_INPUTVIEW_THREE_ENTITY_SENTENCES_ADD_SINGLE_PROPERTY_AND_CONDITION_LINKS_DO_NOT_READD_SENTENCES_CONTAINED_THEREIN [INCOMPLETE]
OpenGIA 07-August-2012 - improve who/what query interpretation + remove GIA_COMPILE_FOR_BAI_APP_SERVER_RELEASE
OpenGIA 07-August-2012b - add GIA_USE_REDISTRIBUTE_STANFORD_RELATIONS_PHRASAL_VERB_PARTICLE_AND_OBJECT_OF_PREPOSITION
Release-15August2012:
OpenGIA 09-August-2012a - add GIA_REDISTRIBUTE_RELATIONS_INTERPRET_OF_AS_POSSESSIVE/GIA_REDISTRIBUTE_RELATIONS_SUPPORT_NAME_OF/GIA_REDISTRIBUTE_RELATIONS_SUPPORT_WHAT_IS_THE_NAME_NUMBER_OF_QUERIES - interpret "of" as possessive (property) / "its name is" / "what is the name/number of" queries (complements "how many" queries) [INCOMPLETE: return number of (advanced) references to the comparison variable node within its context found {eg 'A red dog is called max. A red dog is called Sam.' => 2}, instead of just the quantityNumber associated with the newest referenced entity => 1], add GIA_DEFINE_PROPERTIES_BASED_UPON_DETERMINATES_OF_DEFINITION_ENTITIES (improve GIA concept/property assignment performance), add GIA_SUPPORT_NAMES
OpenGIA 10-August-2012a - correct variable naming / bring GIA in line with Aristotle's Categories - replace all instances of 'property' with 'substance'/'instance'/'property' depending upon its precise meaning [INCOMPLETE].
OpenGIA 10-August-2012a - Make GIA support properties of concepts (eg "Bats have pies") - split addOrConnectPropertyToEntity into connectPropertyToEntity and addOrConnectPropertyToEntity
OpenGIA 11-August-2012a - fix bug in redistributeStanfordRelationsInterpretNameOfAsDefinition, replace GIA_REDISTRIBUTE_RELATIONS_INTERPRET_OF_AS_POSSESSIVE with GIA_TRANSLATOR_INTERPRET_OF_AS_POSSESSIVE, resplit addOrConnectPropertyToEntity into addOrConnectPropertyToEntityAddOnlyIfOwnerIsProperty and addOrConnectPropertyToEntity
OpenGIA 12-August-2012a - fixed limitation in advanced referencing (required actions) - removed GIA_USE_ADVANCED_REFERENCING_IDENTIFY_SETS_WITH_SUBJECT_OR_OBJECT_ONLY, added GIA_USE_ADVANCED_REFERENCING_IDENTIFY_DEFINITE_SETS_ONLY_ACCEPT_PROPERNOUNS
OpenGIA 15-August-2012a - add GIA_SUPPORT_ALIASES (with equalities/merging: for definition links between 2 substances), GIA_SUPPORT_WHICH_QUERY_ALIAS_ANSWERS, GIA_SUPPORT_WHO_QUERY_ALIAS_ANSWERS, GIA_SUPPORT_WHAT_IS_THE_TIME_QUERY_ALIAS_ANSWERS, update GIA_DEFINE_SUBSTANCES_BASED_UPON_DETERMINATES_OF_DEFINITION_ENTITIES, disable GIA_QUERY_TRACE_INSTANTIATIONS_DO_NOT_INCREMENT_NUMBER_OF_MATCHED_NODES
OpenGIA 16-August-2012a - fix up issue with yes/no queries (confidence threshold) as resultant of introducing GIA_SUPPORT_ALIASES (ie disabling GIA_QUERY_TRACE_INSTANTIATIONS_DO_NOT_INCREMENT_NUMBER_OF_MATCHED_NODES)
OpenGIA 16-August-2012a - add aliases to XML i/o
OpenGIA 17-August-2012a - add aliases to filesystem database, apply fixes to enable GIA_USE_DATABASE basic test cases to work with GIA_USE_ADVANCED_REFERENCING_SUPPORT_INTRASENTENCE_REFERENCING, GIA_USE_NLG_NO_MORPHOLOGY_GENERATOR, and GIA_SUPPORT_ALIASES: disable database when performing intrasentence reference calculations within createGIACoreferenceInListBasedUponIdentifiedReferenceSets, DBaddBlankString/DBreplaceBlankString with '-' when writing/reading strings from database [incomplete: when referenced nodes are drawn out of the GIA database KB, their connections are not being loaded (and therefore are not being displayed)]
OpenGIA 21-August-2012a - update translator algorithm comments
OpenGIA 22-August-2012a - test basic database i/o with queries - disable database access during query net generation
OpenGIA 22-August-2012b - disable redundant 'that' nodes [disableRedundantNodesStanfordParser / complm]
OpenGIA 22-August-2012b - further constrain by/through having/being conditions [RELATION_TYPE_HAVING_AND_BEING_CONDITIONS_PREPOSITIONS]
OpenGIA 24-August-2012a - add code extension wrapper functions
Release-25September2012:
OpenGIA 5-September-2012a - implement phrasal verb and multiword preposition reduction using new GIA LRP (language reduction preprocessor)
OpenGIA 8-September-2012a - first working test of multi-word preposition reduction
OpenGIA 10-September-2012a - first working test of phrasal verb (multi-word verb) reduction
OpenGIA 12-September-2012a - compatibility updates for GIA code extension
OpenGIA 15-September-2012a - compatibility updates for GIA code extension
OpenGIA 18-September-2012a - support for high level shell script
OpenGIA 19-September-2012a - update GIA to accept multiple txt/NLP files (specify file list boolean)
OpenGIA 21-September-2012a - GIA_FREE_MEMORY1 - delete unused data structures
OpenGIA 21-September-2012a - GIA_FREE_MEMORY2 - handle memory correctly in advanced referencing preliminary round - use entityNodesActiveListCompleteTemp/entityNodesActiveListSubstancesTemp/entityNodesActiveListActionsTemp/entityNodesActiveListConditionsTemp
OpenGIA 21-September-2012a - GIA_APPLY_BUG_WORKAROUND_WHERE_A_CONCEPT_ENTITY_OF_INSTANCE_0_CAN_HAVE_NODE_DEFINING_INSTANCE
OpenGIA 22-September-2012a - STANFORD_CORENLP_DISABLE_INDEPENDENT_POS_TAGGER_WHEN_PARSING_RELATIONS
OpenGIA 22-September-2012a - mitigate effects of wordnet memory leak - WORDNET_CAPI_MEMORY_LEAK/GIA_USE_SYNONYMN_DETECTION_ONLY_DURING_QUERIES
OpenGIA 22-September-2012a - fix bug with GIA_SUPPORT_INCONSISTENCY_BETWEEN_STANFORD_PARSER_AND_STANFORD_CORENLP_PARSING_OF_CONSECUTIVE_FULL_STOPS
OpenGIA 23-September-2012a - GIA_FREE_MEMORY3 - free wordnet memory (use free_syns/free_synset/free_index functions in wn.h)
OpenGIA 23-September-2012a - remove temporary comments / print commands from all BAI code (or re-position inside DEBUG pre-processors)
OpenGIA 23-September-2012a - patch free wordnet memory code
OpenGIA 23-September-2012a - add -dbfolder and -lrpfolder and -syndet (make synonymn detection/Wordnet usage optional via command line parameter) parameters to GIAmain
OpenGIA 23-September-2012a - test consecutive multi-word (phrasal) verb and multi-word preposition
OpenGIA 23-September-2012a - test multiple sentences multi-word (phrasal) verb and multi-word preposition (get -nlprelation 1 to work with LRP)
OpenGIA 24-September-2012a - make LRP usage optional. Ensure initialisation of useDatabase, useLRP, and useSynDet (synonymnDetectionStatus) global variables via standard initialisation function set (initialiseDatabase, initialiseLRP, and initialiseWordNet). Add Optional preprocessor parameter GIA_LRP_DISABLE_REDISTRIBUTE_RELATIONS_POST_NLP_MULTIWORD_PREPOSITION_REDUCTION: disable stanford multiword prepositions when using lrp
OpenGIA 24-September-2012a - patch free wordnet memory code - fix up invocation of free_syns/free_synset
OpenGIA 24-September-2012a - patch free wordnet memory code - fix up another minor issue with clearing memory [add another invocation of free_synset] in checkIfSynsetListContainsSynonymousEntityNamesAndRecordMostPopularSynset()
OpenGIA 24-September-2012a - patch free wordnet memory code - including rework of looping in checkIfSynsetListContainsSynonymousEntityNamesAndRecordMostPopularSynset() function
OpenGIA 24-September-2012a - make lrp work with specified working/temp folders
OpenGIA 24-September-2012a - make sure the entire multiword phrasal verb / preposition is matched (in case currentTagInPlainTextSentenceTemp reaches end of sentence without matching the multiword phrasal verb / preposition in its entirety)
OpenGIA 28-September-2012a - source comments clean up / OpenCS compatibility updates
OpenGIA 28-September-2012a - [last updated / marked in code 26 sept 2012] - source comments clean up / OpenCS compatibility updates
Release-15October2012:
OpenGIA 11-October-2012a - upgrade all svg code to use XMLParserClass
OpenGIA 11-October-2012a - draw nodes for each sentence consecutively (need to record/associate sentenceIndex with each entity node - including concept entity nodes)
OpenGIA 11-October-2012a - start implementation of GIA_TRANSLATOR_PREVENT_DOUBLE_LINKS_ASSIGN_CONFIDENCES; assign weight to new identical connections (don't duplicate properties or definitions)
OpenGIA 11-October-2012a - fix; in GIATranslatorOperations.cpp, restore addOrConnectPropertyToEntityAddOnlyIfOwnerIsProperty to only execute addOrConnectPropertyToEntity when thing entity is not a concept
OpenGIA 12-October-2012a - assign weight to new identical connections (don't duplicate conditions or actions)
OpenGIA 12-October-2012a - fix up draw nodes for each sentence consecutively with advanced referencing; initialise wasReferenceTemp (ie wasReferenceTemp = false) + change new instances of wasReferenceTemp to wasReference (as wasReferenceTemp appears to be reset on a per sentence basis)
OpenGIA 12-October-2012a - get advanced referencing for working in missing cases - change traceInstantiations value in createGIACoreferenceInListBasedUponIdentifiedReferenceSets() traceEntityNode function call
OpenGIA 13-October-2012a - activate GIA_TRANSLATOR_PREVENT_DOUBLE_LINKS_ASSIGN_CONFIDENCES
OpenGIA 14-October-2012a - prepare code for isSubstance being optionally isSubstanceConcept + update GIAXML, GIAdatabase, GIAdraw [, anything else required?] with isSubstanceConcept i/o
OpenGIA 14-October-2012a - update defineSubstancesBasedOnDeterminatesOfDefinitionEntities to support GIA_DEFINE_SUBSTANCES_BASED_UPON_DETERMINATES_OF_DEFINITION_ENTITIES_CASE_8_GOVERNOR_NAME_DEPENDENT_NAME (change 'else if' to 'if')
OpenGIA 14-October-2012a - fix bug in linkEntityDefinitionsAppositiveOfNouns/mergeEntityNodesAddAlias - initialise isNameQuery (ie isNameQuery = false)
OpenGIA 14-October-2012a - update GIATranslatorDefineSubstances.cpp to define isSubstanceConcept
OpenGIA 14-October-2012a - make GIA_SUPPORT_SPECIFIC_CONCEPTS compatible with advanced referencing
OpenGIA 14-October-2012a - fix bug in recent GIAnlg.cpp update - see prepare code for isSubstance being optionally isSubstanceConcept
OpenGIA 19-October-2012a - GIA_USE_DATABASE support Windows
OpenGIA 28-October-2012a - fix up NLG output in the case of actions with only an object attached
OpenGIA 28-October-2012a - query variables attached to conditions-actions(-conditions) were not been generated correctly
OpenGIA 28-October-2012b - add GIA_TRANSLATOR_INTERPRET_OF_AS_OBJECT_FOR_CONTINUOUS_VERBS and GIA_TRANSLATOR_CORRECT_IRREGULAR_VERB_LEMMAS support: interpret prep_of(xing, y) as obj(xing, y) via redistributeStanfordRelationsInterpretOfAsObjectForContinuousVerbs()
OpenGIA 28-October-2012b - restore NLG output (uncomment code) - fix artefact introduced 28-October-2012a
OpenGIA 02-November-2012a - remove appending '/' requirement on user definition of -lrpfolder/-dbfolder parameters [remove appending '/' condition on folder specification]
OpenGIA 02-November-2012b - create a GIA_DATABASE_TEST_MODE_LOAD_ALL_ENTITIES_AND_CONNECTIONS_TO_ACTIVE_LIST_UPON_READ prepocessor option add all nodes to active list when read data base; that way the database i/o functions can be tested exactly/precisely [updated initialiseDatabase to execute DBreadDatabase (which in turn invokes DBreadVectorConnections for each concept entity)]
OpenGIA 02-November-2012b - correct version of DBreadVectorConnections (to allow loop backs from database entities back to active node list entities - see entityNodesActiveListCompleteFastIndexDBactive [+ rename unordered map entityNodesTempActiveListComplete to entityNodesActiveListCompleteFastIndexDBcache])
OpenGIA 02-November-2012b - update linkAdvancedReferencesGIA to only invoke addEntityNodeToActiveLists if referenceSource is not already in active list, ie if(entityInActiveListComplete(referenceSource))
OpenGIA 07-November-2012a - manually assign a correspondence between each irregular verb and how it should be treated when a subject of an 'of' prepositional dependency relation (add a fourth/final column of WikipediaIrregularVerbs.txt)
OpenGIA 07-November-2012a - disable STANFORD_PARSER_USE_POS_TAGS and remove determineIfWordIsVerbContinuousCase() from redistributeStanfordRelationsInterpretOfAsObjectForContinuousVerbs() [this is required else all words ending with ing including "meaning of" will be interpreted as verbs]
OpenGIA 07-November-2012b - change defineToBeAndToDoPropertiesAndConditions() to actually treat todo and subject relation as substance link when GIA_DO_NOT_SUPPORT_SPECIAL_CASE_1C_RELATIONS_TREAT_TODO_AND_SUBJECT_RELATION_AS_SUBSTANCE_LINK is disabled [ie perform as expected]
OpenGIA 07-November-2012b - GIA_DO_NOT_SUPPORT_SPECIAL_CASE_1C_RELATIONS_TREAT_TODO_AND_SUBJECT_RELATION_AS_SUBSTANCE_LINK must be enabled for normalisation of some cases [ie enable GIA_DO_NOT_SUPPORT_SPECIAL_CASE_1C_RELATIONS_TREAT_TODO_AND_SUBJECT_RELATION_AS_SUBSTANCE_LINK to maintain current implementation]
OpenGIA 07-November-2012b - enable setting of partnerTypeObjectSpecialConditionToDoSubstanceFound for both stanford + relex, assuming GIA_DO_NOT_SUPPORT_SPECIAL_CASE_1C_RELATIONS_TREAT_TODO_AND_SUBJECT_RELATION_WITH_BE_AS_DEFINITION_LINK!
OpenGIA 08-November-2012a - GIAdatabase.cpp set newEntityNode's entityName and idInstance before calling addEntityNodesActiveListCompleteFastIndexDBactive() + GIATranslator.cpp fix up typo 'entityNodesActiveListCompleteFastIndexDBactiveOriginal = getDBentityNodesActiveListCompleteFastIndexDBactive();'
OpenGIA 08-November-2012a - set wasReference for all read entities in DBreadDatabase()
OpenGIA 08-November-2012a - add missing addEntityNodesActiveListCompleteFastIndexDBcache(conceptEntityNode) call in DBreadDatabase()
OpenGIA 08-November-2012a - uncomment SetCurrentDirectory(tempFolderCharStar) in GIAmain.cpp before final semanticNet.svg/.ppm/.ldr/etc print routines [required when using database] + add another instance of SetCurrentDirectory(tempFolderCharStar) before final answer.txt print routine
OpenGIA 08-November-2012a - shift declaration of char tempConfidenceStringCharStar[100]; and char tempMaxConfidenceStringCharStar[100]; - C++ issue/corrupt stack?
OpenGIA 12-November-2012a - fix bug in defineSubstanceConcepts() - need to ensure thing is a noun ie (featureArrayTemp[thingIndex]->grammaticalWordType == GRAMMATICAL_WORD_TYPE_NOUN)
OpenGIA 12-November-2012a - need to ensure that pronouns FEATURE_POS_TAG_PERSONAL_PRONOUN "PRP"/FEATURE_POS_TAG_POSSESSIVE_PRONOUN "PP$" are assigned nouns via convertStanfordPOSTagToRelexPOSTypeAndWordnetWordType() - add them to arrays featurePOSTagMinimalArray[]/featurePOSTagCrossReferenceRelexPOSTypeArray[]
OpenGIA 12-November-2012a - fix up assignment of subjObjRelationAlreadyAdded: re-disable use of partnerTypeObjectSpecialConditionToDoSubstanceFound without Relex
OpenGIA 12-November-2012a - extend substance concepts - activate GIA_SUPPORT_SPECIFIC_CONCEPTS_ASSIGN_TO_PRONOUNS_AND_PROPERNOUNS
OpenGIA 12-November-2012b - fix up assignment of subjObjRelationAlreadyAdded: re-enable use of partnerTypeObjectSpecialConditionToDoSubstanceFound without Relex - introduce partnerTypeObjectSpecialConditionToDoSubstanceFoundAssumeUsed
Release-15November2012:
OpenGIA 12-November-2012a - change implementation of nn; nn(shop-6, toy-5) -> toy is a property of shop (not shop is a property of concept toy) - GIA_TRANSLATOR_INTERPRET_PRENOMINAL_MODIFIER_DEPENDENT_AS_PROPERTY_INSTEAD_OF_GOVERNOR
OpenGIA 12-November-2012a - make dogs into a substance with "Red dogs are..." nn(dogs-2, Red-1) - GIA_TRANSLATOR_DEFINE_NOUNS_WITH_PRENOMINAL_MODIFIERS_AS_SUBSTANCES; update and change defineSubstancesNounsWithAdjectives() to defineSubstancesNounsWithAdjectivesOrPrenominalModifiers()
OpenGIA 13-November-2012a - [CHECK THIS] change interpretation of ccomp to action object rather than action property - GIA_TRANSLATOR_INTERPRET_CLAUSAL_COMPLEMENT_AS_ACTION_OBJECT_INSTEAD_OF_ACTION_PROPERTY (eg He says that you like to swim / ccomp(say, like) -> obj(say, like), Moses knew I was angry. / ccomp(knew-2, angry-5) -> obj(knew-2, angry-5)
OpenGIA 13-November-2012a - for Relex parsing only update switchArgumentsAndFunctionsWhereNecessary() to convert RELATION_TYPE_OBJECT_THAT_RELEX_EXPLICIT_PREPOSITION (relation type "that") into RELATION_TYPE_OBJECT_THAT_RELEX (relation type "_that") such that it can be correctly processed by GIATranslatorLinkEntities.h linkSubjectObjectRelationships() (NB relationTypeObjectNameArray[] = {RELATION_TYPE_OBJECT, RELATION_TYPE_OBJECT_THAT_RELEX})
OpenGIA 13-November-2012a - add redistributeStanfordRelationsExpletives()
OpenGIA 13-November-2012a - implement GIA bot - switch first and second person - GIA_USE_BOT / GIA_BOT_SWITCH_FIRST_AND_SECOND_PERSON - switch "you for I" (and vice versa)
OpenGIA 13-November-2012a - Interpret the indefinite plural 'some' determinate (GRAMMATICAL_DETERMINER_INDEFINITE_PLURAL) as a definite determinate for the purposes of GIA (ie like 'the') - ie it implies a plain substance always, and never a subtance concept
OpenGIA 14-November-2012a - fix up assignment of subjObjRelationAlreadyAdded: re-enable use of partnerTypeObjectSpecialConditionToDoSubstanceFound without Relex - introduce partnerTypeObjectSpecialConditionToDoSubstanceFoundAssumeUsed
OpenGIA 18-November-2012a - manually decapitalise first letter of each word in function before abbreviations (ie double capitalisation)
OpenGIA 19-November-2012a - support write of arbitrary svg width/height and viewport parameters
OpenGIA 28-November-2012a - fix to_do relation interpretation - change typo from #ifdef to #ifndef GIA_DO_NOT_SUPPORT_SPECIAL_CASE_1C_RELATIONS_TREAT_TODO_AND_SUBJECT_RELATION_WITH_BE_AS_DEFINITION_LINK
OpenGIA 28-November-2012a - change FEATURE_NER_NAME_CONCATENATION_TOKEN from " " to "_"
OpenGIA 28-November-2012a - with GIA_DATABASE_TEST_MODE_LOAD_ALL_ENTITIES_AND_CONNECTIONS_TO_ACTIVE_LIST_UPON_READ enabled, ensure a) concept nodes are not duplicated, b) concept nodes are added to entityNodesActiveListConcepts and entityNodesActiveListComplete, and c) instances added to entityNodesActiveListComplete
OpenGIA 28-November-2012a - fix GIA_USE_DATABASE record of quantityNumber (plus quantityNumberString, quantityModifier, quantityModifierStrings, hasQuantityMultiplier, and measureType)
OpenGIA 28-November-2012a - update GIAdatabase.cpp to not write connections to disabled nodes - GIA_DATABASE_ONLY_WRITE_CONNECTIONS_TO_ENABLED_ENTITY_NODES
OpenGIA 28-November-2012a - enabled GIA_DATABASE_DO_NOT_WRITE_DISABLED_ENTITY_NODES and GIA_DATABASE_NET_DO_NOT_WRITE_CONNECTIONS_TO_DISABLED_ENTITY_NODES
OpenGIA 28-November-2012a - for consistency, enabled GIA_SEMANTIC_NET_DO_NOT_WRITE_DISABLED_ENTITY_NODES and GIA_SEMANTIC_NET_DO_NOT_WRITE_CONNECTIONS_TO_DISABLED_ENTITY_NODES
OpenGIA 28-November-2012a - update new GIA_SUPPORT_SPECIFIC_CONCEPTS condition in linkEntityDefinitionsAppositiveOfNouns() as specific concepts can be names. Implement isName, ie if((thingEntity->isSubstance || thingEntity->isNameQuery) && (definitionEntity->isSubstance || definitionEntity->isNameQuery))
OpenGIA 28-November-2012a - make mergeEntityNodesAddAlias() unreliant upon idActiveList
OpenGIA 28-November-2012a - update mergeEntityNodesAddAlias() to not merge concept node links of entityNodeToMerge - see multiple use of condition (i == GIA_ENTITY_VECTOR_CONNECTION_TYPE_NODE_DEFINING_INSTANCE)
OpenGIA 28-November-2012a - fix xml file read crash with GIA_SEMANTIC_NET_DO_NOT_WRITE_DISABLED_ENTITY_NODES - update resetIDsForNodeList to not reset idActiveList if entity is disabled
OpenGIA 28-November-2012a - aliasing algorithm reversion mergeEntityNodesAddAlias() including GIA_SUPPORT_MORE_THAN_ONE_NODE_DEFINING_AN_INSTANCE - NB this is required for advanced referencing to work properly with specific cases of aliasing eg; The name of the red dog is Tom. Tom ate a bone near the house.
OpenGIA 28-November-2012a - replace all instances of "instanceEntity->entityVectorConnectionsArray[GIA_ENTITY_VECTOR_CONNECTION_TYPE_NODE_DEFINING_INSTANCE])->back()->entity" with "getPrimaryConceptNodeDefiningInstance(instanceEntity)"
OpenGIA 28-November-2012a - fix getPrimaryConceptNodeDefiningInstance reference in GIATranslator.cpp
OpenGIA 28-November-2012a - disable GIA_USE_RELEX_UPDATE_ADD_PARAGRAPH_TAGS - NB GIA no longer works with BAI Relex <paragraph> tag upgrade - as sentence ID is used exclusively for a variety of purposes (without paragraph id): therefore will need to determine a new method of establishing intra paragraph referencing.
OpenGIA 28-November-2012a - introduce maxNumberSentences instead of relying upon inefficient hard coded MAXIMUM_NUMBER_OF_SENTENCES_IN_INPUT_TEXT (1000000)
OpenGIA 28-November-2012a - introduce thisIsDefinitionAndPreviousNodeWasInstance into GIA draw
OpenGIA 28-November-2012a - update DBreadDatabase for GIA_SUPPORT_MORE_THAN_ONE_NODE_DEFINING_AN_INSTANCE: test if entity has already had its connections loaded (and therefore has already been added to entityNodesActiveListComplete)
OpenGIA 28-November-2012a - properly update (*connectionIter2)->entityName and (*connectionIter2)->idInstance in mergeEntityNodesAddAlias
OpenGIA 28-November-2012a - update new GIA_SUPPORT_SPECIFIC_CONCEPTS condition in testReferencedEntityNodeForExactNameMatch() as specific concepts can be names (check if substances have aliases).
OpenGIA 28-November-2012a - disable GIA_DATABASE_TEST_MODE_LOAD_ALL_ENTITIES_AND_CONNECTIONS_TO_ACTIVE_LIST_UPON_READ for release
OpenGIA 28-November-2012b - GIA_ADVANCED_REFERENCING_DO_NOT_REAPPLY_IS_SUBSTANCE_CONCEPT_TO_REFERENCES - do not utilise mustSetIsSubstanceConceptBasedOnApposRelation when wasReference is set
OpenGIA 28-November-2012b - implement GIA_QUERY_DO_NOT_SEARCH_DISABLED_NODES (should not be required)
OpenGIA 28-November-2012b - in linkAdvancedReferencesGIA() add DBreadVectorConnections(referenceSourceConceptEntity, GIA_ENTITY_VECTOR_CONNECTION_TYPE_ASSOCIATED_INSTANCES); //read the associated instance vector connections from the database for the concept node of the reference node (which has not necessarily already been loaded in the case of GIA_SUPPORT_MORE_THAN_ONE_NODE_DEFINING_AN_INSTANCE) - enabling the reference node to be found linkAdvancedReferencesGIA
OpenGIA 28-November-2012b - in linkAdvancedReferencesGIA() add for all i, DBreadVectorConnections(referenceSource, i); //read all vector connections for the reference (this is required because writeVectorConnection() presumes entityVectorConnectionsReferenceListLoadedArray[i] to be true in all cases - ie, in case the reference is ammended with new connections by GIATranslator which it is very likely to be the case)
OpenGIA 28-November-2012b - update DBwriteEntityNodeFile() to perform a check of string sizes written via fprintf; ie; entityName.c_str(), wordOrig.c_str(), aliasesString.c_str(), quantityNumberString.c_str(), and quantityModifierString.c_str()
Release-13October2013:
OpenGIA 12-April-2013a - Stanford CoreNLP does not consistently tag first words in sentence as proper nouns, eg "ReLex"/"GIA" -> temporarily enable; #define STANFORD_PARSER_USE_POS_TAGS
OpenGIA 12-April-2013a - Stanford CoreNLP converts GIA->gium when it is tagged as NN (instead of NNP) - ie when it is the first word in sentence -> GIA_STANFORD_CORE_NLP_COMPENSATE_FOR_PROPERNOUN_LEMMA_CASE_ASSIGNMENT_BUG_GENERATE_STRANGE_LEMMA / GIA_STANFORD_CORE_NLP_COMPENSATE_FOR_PROPERNOUN_LEMMA_CASE_ASSIGNMENT_BUG_USE_ORIGINAL_WORD regenerate lemmas from original words for known FEATURE_NER_PERSON, FEATURE_NER_LOCATION, FEATURE_NER_ORGANIZATION using featureNERindicatesProperNounTypeArray[FEATURE_NER_INDICATES_PROPER_NOUN_NUMBER_TYPES]
OpenGIA 12-April-2013a - Stanford CoreNLP compensate for discrepancy in assignment of proper noun value, ie when is tagged as NN (instead of NNP) -> GIA_STANFORD_CORE_NLP_COMPENSATE_FOR_PROPERNOUN_ASSIGNMENT_BUG_USE_NER_VALUES assigns propernoun based on known FEATURE_NER_PERSON, FEATURE_NER_LOCATION, FEATURE_NER_ORGANIZATION using featureNERindicatesProperNounTypeArray[FEATURE_NER_INDICATES_PROPER_NOUN_NUMBER_TYPES]
OpenGIA 12-April-2013a - upgrade GIA_STANFORD_CORE_NLP_COMPENSATE_FOR_PROPERNOUN_LEMMA_CASE_ASSIGNMENT_BUG_MAKE_ALL_LEMMAS_LOWER_CASE to deal with cases where a string is semi-capitalised
...
OpenGIA 12-April-2013a - change; isWhichQuery to isWhichOrEquivalentWhatQuery, add REFERENCE_TYPE_QUESTION_QUERY_WHAT to featureQueryWordAcceptedByAlternateMethodNameArray[], update redistributeStanfordRelationsCreateQueryVarsWhat to compensate for isWhichOrEquivalentWhatQuery, correct new GIA_STANFORD_CORE_NLP_COMPENSATE_FOR_PROPERNOUN_LEMMA_CASE_ASSIGNMENT_BUG_MAKE_ALL_LEMMAS_LOWER_CASE implementation
OpenGIA 24-June-2013a - revert 1s1a changes GIA_STANFORD_CORE_NLP_VERSION_2013_04_04_OR_GREATER - Stanford CoreNLP now properly tags first words in sentence as proper nouns (at least if they are accroymns eg "GIA" or names eg "Matthew", but quite possibly all words eg "Freedom") - renable STANFORD_PARSER_USE_POS_TAGS, disable GIA_STANFORD_CORE_NLP_COMPENSATE_FOR_PROPERNOUN_LEMMA_CASE_ASSIGNMENT_BUG_GENERATE_STRANGE_LEMMA, disable GIA_STANFORD_CORE_NLP_COMPENSATE_FOR_PROPERNOUN_LEMMA_CASE_ASSIGNMENT_BUG_USE_ORIGINAL_WORD, disable GIA_STANFORD_CORE_NLP_COMPENSATE_FOR_PROPERNOUN_ASSIGNMENT_BUG_USE_NER_VALUES
OpenGIA 27-June-2013a - [Disabled in OpenGIA 05-July-2013 - look for a more complex solution] - add GIA_TRANSLATOR_INTERPRET_IN_AS_POSSESSIVE_FOR_SUBSTANCES (extends GIA_TRANSLATOR_INTERPRET_OF_AS_POSSESSIVE_FOR_SUBSTANCES)
OpenGIA 28-June-2013a - add defineSubstancesOfPossessivePrepositions()
OpenGIA 28-June-2013a - fix up GIA draw after read from XML file (ignore sentence indices): use entityNode->printCoordsAlreadyDefined
OpenGIA 28-June-2013a - split up main
OpenGIA 29-June-2013a - [Reverted GIA 1s7f]: remove redistributeStanfordRelationsClausalSubject, and directly interpret stanford _csubj as subj - GIA_INTERPRET_CSUBJ_AS_SUBJECT_OF_ACTION, reorder GIAtranslatorOperations.h definitions
OpenGIA 29-June-2013a - update GIA_STANFORD_CORE_NLP_VERSION_2013_04_04_OR_GREATER to support eg dependencies type="basic-dependencies"> instead of; eg <basic-dependencies>
OpenGIA 29-June-2013a - introduce redistributeStanfordRelationsDependencyPreposition() - given x, action the y - make use of dep(x,y) tag
OpenGIA 29-June-2013a - ensure plurality same for adavanced references - GIA_ADVANCED_REFERENCING_ENSURE_PLURALITY_MATCHES
OpenGIA 30-June-2013a - use redistributeStanfordRelationsCorrectPOStagsAndLemmasOfAllContinuousVerbs/correctContinuousVerbPOStagAndLemma to correctly tag all "continuous verbs" as VBG (even those which perhaps should be left as NNP because they appear at the beginning at the sentence eg "Swimming is good exercise."
OpenGIA 30-June-2013a - update determineIfWordIsIrregularVerbContinuousCase: deal with first word in sentence verbs; string wordLowerCase = convertStringToLowerCase(&word);
OpenGIA 30-June-2013a - check that redistributeStanfordRelationsInterpretOfAsObjectForContinuousVerbs / GIA_TRANSLATOR_INTERPRET_OF_AS_OBJECT_FOR_CONTINUOUS_VERBS is only required for stanford - no Relex requires an equivalent function also see 1s7f
OpenGIA 30-June-2013a - [test this] update linkDependentActionsType2 - use dep tag to connect dependent actions (interpret as condition - invent one) - GIA_TRANSLATOR_LINK_DEPENDENT_ACTIONS_TYPE2
OpenGIA 30-June-2013a - linkDependentActionsType1 - GIA_TRANSLATOR_LINK_DEPENDENT_ACTIONS_TYPE1
OpenGIA 30-June-2013a - update all Relex code (executing addOrConnectConditionToEntity/addOrConnectBeingDefinitionConditionToEntity/addOrConnectHavingPropertyConditionToEntity) for use with advanced referencing (GIA_ADVANCED_REFERENCING_CONDITIONS_RELEX_SPECIFIC) - see "update warning: this code was recently updated for Advanced Referencing")
OpenGIA 30-June-2013a - [test this] introduce redistributeRelexRelationsInterpretOfAsObjectForContinuousVerbs - translate prep+dep into prep (redistribute stanford relations) - GIA_REDISTRIBUTE_STANFORD_RELATIONS_DEP_AND_PREP [CHECK THIS does not cause other troubles], rename old GIA_REDISTRIBUTE_STANFORD_RELATIONS_DEP_AND_PREP to GIA_REDISTRIBUTE_STANFORD_RELATIONS_DEP_AND_PREP_WITH_BE
OpenGIA 03-July-2013a - start get aliasing to work with Relex relations - GIA_SUPPORT_ALIASES_RELEX_COMPATIBILITY;
OpenGIA 03-July-2013a - The time is 10pm -> convert from [subj/obj is] to appo relation [GIAtranslatorRedistributeStanfordRelations.h]
OpenGIA 03-July-2013a - get Stanford collapse relatiosn to interpret this as appo; - GIA_TRANSLATOR_REDISTRIBUTE_RELATIONS_WORKAROUND_STANFORD_BUG_SINGLE_DIGIT_TIMES_MARKED_AS_ADJECTIVE
OpenGIA 03-July-2013a - update redistributeStanfordRelationsCreateQueryVarsWhoWhat to parse "what time is it?" (not just "what is the time.")
OpenGIA 03-July-2013a - get aliasing time queries to work with Relex - update redistributeRelexRelationsCollapseSubjectAndObjectGenerateAppos to deal with special case queries (required to support aliasing / consistency with Stanford parser);
OpenGIA 03-July-2013a - update defineSubstanceConcepts split GIA_SUPPORT_SPECIFIC_CONCEPTS_ASSIGN_TO_PRONOUNS_AND_PROPERNOUNS -> GIA_SUPPORT_SPECIFIC_CONCEPTS_ASSIGN_TO_PROPERNOUNS + GIA_SUPPORT_SPECIFIC_CONCEPTS_ASSIGN_TO_PRONOUNS, disable GIA_SUPPORT_SPECIFIC_CONCEPTS_ASSIGN_TO_PRONOUNS (why should pronouns be substance concepts? - check this does not undo advanced referencing/quering... [Wasnt required; as aliasing implmentation is not desired in this case - it is not used by Stanford in this case: GIA_1S8C_LOW_PRI_RELEX_UPDATE_CHECK_THAT_IT_DOESNT_BREAK_STANFORD_OPTIMISATION_APPLY_FIX_TO_IS_NAME_QUERY_PROPOGATION]
OpenGIA 03-July-2013a - found error: addSubstance is not propogating isNameQuery... - assign isNameQuery to $qvar in redistributeRelexRelationsDetectNameQueries() [Wasnt required; as aliasing implmentation is not desired in this case - it is not used by Stanford in this case: GIA_1S8D_LOW_PRI_RELEX_UPDATE_CHECK_THAT_IT_DOESNT_BREAK_STANFORD_OPTIMISATION_APPLY_FIX_TO_IS_NAME_QUERY_PROPOGATION]
OpenGIA 04-July-2013a - disable aliasing for time queries across board (stanford and Relex) - "what is the time" / "what time is it" - GIA_1S8E_LOW_PRI_RELEX_UPDATE_CHECK_THAT_IT_DOESNT_BREAK_STANFORD_OPTIMISATION_REMOVE_TIME_QUERY_ALIAS_ANSWERS
OpenGIA 04-July-2013a - update fillGrammaticalArraysStanford: if condition added 4 July 2013 to ensure only real determiners (the, some, a) are disabled [and not "What" in det(time-2, What-1)]
OpenGIA 04-July-2013a - found errors: a) typo in redistributeRelexRelationsCollapseSubjectAndObjectGenerateAppos; b) typo (minor inconsistency) in redistributeRelexRelationsCollapseSubjectAndObjectGenerateAppos - assign grammaticalIsDefinite to time like in redistributeStanfordRelationsCreateQueryVarsWhoWhat; c) typo in redistributeRelexRelationsDetectNameQueries: isNameQuery was being assigned incorrectly; d) found bug in identifyComparisonVariableAlternateMethod() - assignment of old GIA_REDISTRIBUTE_STANFORD_RELATIONS_QUERY_VARIABLE_DEBUG_DO_NOT_MAKE_FINAL_CHANGES_YET; e) issue in redistributeRelexRelationsCollapseSubjectAndObjectGenerateAppos - cannot use "it" as $qvar for grammatical reasons (use be instead); f) reapply fix to issue in redistributeRelexRelationsCollapseSubjectAndObjectGenerateAppos - use "it" as $qvar - but update grammatical features accordingly
OpenGIA 04-July-2013a - extend GIA_NLP_PARSER_STANFORD_PARSER_DISABLE_ROOT_RELATION to Stanford CoreNLP (GIAnlp.cpp) not just Stanford Parser (GIAparser.cpp) [note this fixed up temp/working directory issue when executing executeGIAonStandardTestScenarios6-GIA1s7f+.sh]
OpenGIA 04-July-2013a - retest standard queries
OpenGIA 04-July-2013a - update disableRedundantNodesStanfordCoreNLP() to correct for: the assignment of NER values implementation appears to have changed in Stanford Core NLP - "Ms. Savata" not being joined in 'Ms. Savata's hand slipped.'
OpenGIA 04-July-2013a - check already implemented in relex - redistributeStanfordRelationsPartmod() code "Truffles picked during the spring are tasty."; redistributeStanfordRelationsInterpretOfAsPossessive() code "The ball of the red dog is green."; redistributeStanfordRelationsAdverbalClauseModifierAndComplement() code "The accident happened as the night was falling."
OpenGIA 04-July-2013a - retest standard prototype test sets
OpenGIA 05-July-2013a - require "to"/"of" prepositions for multiword preposition collapse Type A (GIA_REDISTRIBUTE_STANFORD_RELATIONS_MULTIWORD_PREPOSITION_NUMBER_OF_SUPPORTED_PREPOSITIONS_TYPEA)
OpenGIA 05-July-2013a - change redistributeStanfordRelationsCorrectPOStagsAndLemmasOfAllContinuousVerbs to redistributeStanfordRelationsCorrectPOStagsAndLemmasOfAllContinuousVerbs - as reidentification of "making" POS identification as a "continous verb" [VBG] is required for relex also, not just Stanford [ie Relex does not always tag "making" [and "to make"?] as a verb] - note the tagging of making as a noun may well be formally correct, however GIA always needs to detect it ["making"] as a verb based on how GIA translates it
OpenGIA 05-July-2013a - separate out extractPOSrelatedGrammaticalInformationStanford from extractGrammaticalInformationStanford, separate out applyPOSrelatedGrammaticalInfoToEntity from applyGrammaticalInfoToAllEntities,
OpenGIA 05-July-2013a - emulate [for relex] code for redistributeStanfordRelationsCreateQueryVarsAdjustForActionPrepositionAction + redistributeStanfordRelationsInterpretOfAsObjectForContinuousVerbs - introduce redistributeRelexRelationsInterpretOfAsObjectForContinuousVerbs
OpenGIA 05-July-2013a - fix up redistributeRelexRelationsDetectNameQueries detection of first word 'who' - use REFERENCE_TYPE_QUESTION_COMPARISON_VARIABLE_RELATION_DEPENDENT_INDEX not GIA_NLP_START_ENTITY_INDEX
OpenGIA 05-July-2013a - implement GIA_TRANSLATOR_CORRECT_IRREGULAR_VERB_LEMMAS/GIA_TRANSLATOR_CORRECT_IRREGULAR_VERB_LEMMAS_LIBERAL - determineIfWordIsContinuousCaseWrapper/determineIfWordIsVerbContinuousCase (rename GIA_TRANSLATOR_CORRECT_IRREGULAR_VERB_LEMMAS to GIA_TRANSLATOR_CORRECT_IRREGULAR_VERB_LEMMAS_CONSERVATIVE)
OpenGIA 05-July-2013a - disabled GIA_1S3A_ADD_INTERPRETION_OF_IN_AS_POSSESSIVE_FOR_SUBSTANCES/GIA_TRANSLATOR_INTERPRET_IN_AS_POSSESSIVE_FOR_SUBSTANCES in GIA 1s10d due to misinterpretation of "in" in "Apples are used for eating in the forest."
OpenGIA 06-July-2013a - generalised relation redistribution
OpenGIA 15-July-2013a - update SHAREDvars.cpp getCharArgument() - change malloc(256) to malloc(4096)... - prevents strange memory leak bugs in GIA query NLG output due to lengthy command line input paramaters
OpenGIA 15-July-2013a - disable obj only after successfully completed genericDependecyRelationInterpretation: paramOptMultD->relation[REL2]->disabled = true; //see above
OpenGIA 05-July-2013a - go through all entity disabling and made sure disableEntityUseOriginalValues was used if necessary (updates should improve GIAtranslatorRedistributeRelexRelations performance): eg1 redistributeStanfordRelationsCollapseAdvmodRelationGovernorBe(); use original indicies for entity disabling: param.disableEntityUseOriginalValues[REL1][REL_ENT1] = true; / eg2 redistributeStanfordRelationsCreateQueryVarsAdjustForActionPrepositionAction()/redistributeStanfordRelationsMultiwordPreposition(); use original indicies for entity disabling: paramOpt2a.disableEntityUseOriginalValues[REL1][REL_ENT2] = true;
OpenGIA 05-July-2013a - test standard syntactic prototypes
OpenGIA 17-July-2013a - separate out all relex redistribution (preprocessing) from GIAtranslatorLinkEntities (GIA_DO_NOT_SUPPORT_SPECIAL_CASE_1B_RELATIONS_TREAT_ADVERB_PLUS_OBJECT_PLUS_SUBJECT_RELATION_WHERE_ADVERB_HAS_SAME_ARGUMENT_AS_SUBJECT_AS_CONDITION, GIA_DO_NOT_SUPPORT_SPECIAL_CASE_1B_RELATIONS_TREAT_ADVERB_PLUS_SUBJECT_PLUS_OBJECT_RELATION_ALL_WITH_A_DEFINITION_FUNCTION_AS_PROPERTY_LINKS, GIA_DO_NOT_SUPPORT_SPECIAL_CASE_1A_RELATIONS_DISREGARD_REDUNDANT_DEFINITION_RELATIONS, GIA_DO_NOT_SUPPORT_SPECIAL_CASE_1B_RELATIONS_TREAT_ADVERB_PLUS_SUBJECT_RELATION_AS_ACTION_CONDITION)
OpenGIA 17-July-2013a - implement GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_LINK_SUBSTANCES_LINKS in GIAtranslatorLinkEntities/GIAtranslatorApplyAdvancedFeatures
OpenGIA 17-July-2013a - make linkHavingPropertyConditionsAndBeingDefinitionConditions operate for both Stanford and Relex
OpenGIA 17-July-2013a - change convertStanfordPrepositionToRelex() to convertPrepositionToRelex() to enable it to be used to detect relex relations (not just stanford relations)
OpenGIA 17-July-2013a - introduce isToBeComplimentOfActionTemp - required for Relex (linkConditions()/defineSubstancesOfPossessivePrepositions()) - do not interpret "of" as property in "She grew tired of the pie." as relation governor "tired" is a to-be complement of grow - of(tired[3], pie[6]) + _to-be(grow[2], tired[3])
OpenGIA 18-July-2013a - implement GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_LINK_SUBSTANCES in GIAtranslatorDefineSubstances
OpenGIA 18-July-2013a - removed all 'warning: this code was recently updated for Advanced Referencing' *
OpenGIA 19-July-2013a - fix Relex special case; if there is another relation entity (eg _%atLocation[1]) with the same feature index as $qVar (eg _$qVar[1]) - GIA_WORKAROUND_RELEX_BUG_OCCASIONAL_QVAR_INDEX_SAME_AS_ANOTHER_RELATION_INDEX
OpenGIA 20-July-2013a - [half fix only; require full fix later] plan to disable GIA_SUPPORT_SPECIFIC_CONCEPTS_ASSIGN_TO_PROPERNOUNS
OpenGIA 22-July-2013a - move GIAtranslatorOperations.h in Translator .cpp files to their respective headers for CF compatibility
OpenGIA 22-July-2013a - GIAtranslatorOperations.cpp; separated out and changed #elif !defined(GIA_USE_DATABASE) statement to #elif !defined GIA_USE_DATABASE for CF compatibility [CHECK THIS is ok]
OpenGIA 23-July-2013a - temporarily restore propernoun substance declaration back to previous state for GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION testing (will change this once it has been tested)
OpenGIA 23-July-2013a - update GIA to [preprocess] convert all relex _prepositions to stanford prep_prepositions
OpenGIA 23-July-2013a - update GIA to [preprocess] convert all relex conj_or/conj_and relations to _conj_or/_conj_and (such that they are not interpreted as prepositions when been converted to stanford format)
OpenGIA 23-July-2013a - fix bug in all GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_SUBSTANCES/GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_LINK (+ relex GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_REDISTRIBUTION) code; genericDependecyRelationInterpretation() should be called with REL1 not 1
OpenGIA 23-July-2013a - define actions as substances defineSubstancesActions
OpenGIA 23-July-2013a - for now must not parse disabled relations during object/subject linking if GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_REDISTRIBUTION is enabled but GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_LINK is disabled
OpenGIA 23-July-2013a - shifted redistributeRelexRelationsAdverbPlusObjectPlusSubjectRelationAllWithADefinitionFunctionAsPropertyLinks to start of relex redistribution...
OpenGIA 23-July-2013a - updated linkConditions() (non-GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_LINK code) to compensate for 1t2f relex relation preprocessor updates (conjunctions + preposition format)
OpenGIA 23-July-2013a - with GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_REDISTRIBUTION, do not parse disabled descriptive relationships eg advmod(be, on)
OpenGIA 23-July-2013a - found the bug - it was introduced in 1t2f - prepositionFound must be initialised to false in convertPrepositionToRelex
OpenGIA 23-July-2013a - [fixed OpenGIA 24-July-2013] bug fixed in redistributeStanfordRelationsCreateQueryVarsAdjustForActionPrepositionAction() GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_REDISTRIBUTION
OpenGIA 23-July-2013a - update linkObjectSubjectOfPreposition() - remove reliance upon recently heavily modified createConditionBasedUponPreposition()
OpenGIA 24-July-2013a - untested case added 24 July 2013 - redistributeStanfordRelationsCreateQueryVarsAdjustForActionPrepositionAction() needs to be called with LRP
OpenGIA 24-July-2013a - fixed expectToFindPrepositionTest bug in redistributeStanfordRelationsCreateQueryVarsAdjustForActionPrepositionAction() introduced 1t2i
OpenGIA 24-July-2013a - fix new RELATION_TYPE_CONJUGATION_AND_RAW/RELATION_TYPE_CONJUGATION_OR_RAW implementation (and activate GIA_TRANSLATOR_EXPLICITLY_ADD_CONJUNCTION_CONDITIONS)
OpenGIA 24-July-2013a - move all negative assignment code (collapseRedundantRelationAndMakeNegativeStanford/collapseRedundantRelationAndMakeNegativeRelex) to relations redistribution stage (GIAtranslatorRedistributeStanfordRelations/GIAtranslatorRedistributeRelexRelations)
OpenGIA 24-July-2013a - generalised forwardInfoToNewSubstance() for use with substance [addSubstance()] and action [addAction()] declaration - all variables being propogated are handled by this function
OpenGIA 24-July-2013a - [does not solve case but important change anyway] translate the negative relations ('not') earlier... with relex GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_REDISTRIBUTION
OpenGIA 25-July-2013a - test Generalised substance declaration GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_SUBSTANCES [no obvious errors detected]
OpenGIA 25-July-2013a - test Generalised entity linking GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_LINK
OpenGIA 25-July-2013a - addOrConnectConditionToEntity: set newOrExistingCondition->isAction to false (required to compensate for defineSubstancesActions being exectuted before linkDependentActionsType1)
OpenGIA 25-July-2013a - introduce disabledDuringLink to disable relations temporarily within link (but these are still written to .cff file)
OpenGIA 25-July-2013a - ignore conjunction relations in disableRedundantNodesStanfordCoreNLP
OpenGIA 25-July-2013a - fixed bug in genericDependecyRelationInterpretation(): useRelationIndexTest use GIA_GENERIC_DEP_REL_INTERP_MAX_NUM_ENTITIES_PER_RELATION instead of GIA_GENERIC_DEP_REL_INTERP_MAX_NUM_GOVDEP_ENTITIES_PER_RELATION
OpenGIA 25-July-2013a - found bug in genericDependecyRelationInterpretation() - use addOrConnectPropertyToEntity.
OpenGIA 26-July-2013a - batch tests: fix errors identified (Stanford + Relex):
OpenGIA 26-July-2013a - shifted linkIndirectObjects before linkSubjectObjectRelationships for GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_LINK (as obj is disableRelationDuringLink by linkSubjectObjectRelationships)
OpenGIA 26-July-2013a - shifted addTimeToSubstance from createConditionBasedUponPreposition to extractDatesStanfordCoreNLP/extractDatesRelex
OpenGIA 26-July-2013a - fixed error checking in genericDependecyRelationInterpretation() GIA_GENERIC_DEP_REL_INTERP_EXECUTE_FUNCTION_addOrConnectActionToEntity
OpenGIA 26-July-2013a - execution of addTenseOnlyTimeConditionToSubstance has been shifted from forwardInfoToNewSubstance to a separate function defineTenseOnlyTimeConditions
OpenGIA 26-July-2013a - get stanford GIA 1rXy/1tXy code working (disabled GIA_SUPPORT_SPECIFIC_CONCEPTS_ASSIGN_TO_PROPERNOUNS) with standard queries [eg who is that/that is Jim],
OpenGIA 27-July-2013a - emulate/generate prototypes [for relex] all other code in GIAtranslatorRedistributeStanfordRelations
OpenGIA 27-July-2013a - reactivate GIA_PERFORM_RELATION_GOVERNOR_ARGUMENT_SWITCHING_WHERE_NECESSARY+GIA_PERFORM_RELATION_GOVERNOR_ARGUMENT_SWITCHING_ONLY_WHEN_REQUIRED (with GIA_TRANSLATOR_COMPENSATE_FOR_SWITCH_OBJ_SUB_DEFINITION_QUESTIONS_ANOMALY_ADVANCED enabled)
OpenGIA 27-July-2013a - fix bug in redistributeStanfordRelationsExpletives
OpenGIA 27-July-2013a - move redistributeStanfordRelationsExpletives to GIAtranslatorRedistributeRelexRelations.cpp
OpenGIA 28-July-2013a - get relex code working again with standard queries [eg who is that/that is Jim] (broken after GIA_SUPPORT_SPECIFIC_CONCEPTS_ASSIGN_TO_PROPERNOUNS is disabled)
OpenGIA 28-July-2013a - fix redistributeRelexRelationsDetectNameQueries: make 'who' $qVar as isNameQuery [required for linkEntityDefinitionsAppositiveOfNouns to create alias]
OpenGIA 28-July-2013a - perform a Stanford+Relex batch test to confirm that it has not broken anything else - everything appears OK
OpenGIA 28-July-2013a - start introducing action concepts - defineActionConcepts;
OpenGIA 28-July-2013a - have updated correctContinuousVerbPOStagAndLemma to support Relex/Stanford infinitive verb correction (along with Relex/Stanford continuous/progressive verb correction)
OpenGIA 28-July-2013a - update linkDependentActionsType2 dependency relation "dep" to require action governor and action dependent
OpenGIA 28-July-2013a - colour substance concepts
OpenGIA 02-August-2013a - introduce defineSubstancesActionConcepts
OpenGIA 02-August-2013a - defineSubstancesActionConcepts ignore disabled entities
OpenGIA 02-August-2013a - start preparing code for GIA_TRANSLATOR_XML_INTERPRETATION - implement further generalisations
OpenGIA 02-August-2013a - generalise the setting/selection of entity properties during calls to genericDependecyRelationInterpretation()
OpenGIA 04-August-2013a - changed variable name grammaticalRelexPersonOrStanfordProperNounTemp to grammaticalIsProperNounTemp;
OpenGIA 04-August-2013a - forward all grammatical variables in forwardInfoToNewSubstance
OpenGIA 04-August-2013a - [UNTESTED] apply bug fix to grammaticalDefiniteIndexOfDeterminerTemp: forward grammaticalDefiniteIndexOfDeterminerTemp to substances (see GIA_DO_NOT_USE_UNTESTED_BUGFIX_REGARDING_grammaticalDefiniteIndexOfDeterminerTemp)
OpenGIA 04-August-2013a - generalise remaining functions (some will not generalise) - introduce GIA_USE_GENERIC_ENTITY_INTERPRETATION;
OpenGIA 04-August-2013a - test all new GIA_USE_GENERIC_ENTITY_INTERPRETATION functions
OpenGIA 04-August-2013a - start retesting all batch tests
OpenGIA 07-August-2013a - add mustSetIsSubstanceConceptBasedOnApposRelation to forwardInfoToNewSubstance
OpenGIA 10-August-2013a - generalise second half of redistributeStanfordRelationsGenerateMeasures
OpenGIA 10-August-2013a - generalise defineTenseOnlyTimeConditions
OpenGIA 10-August-2013a - start GIA_TRANSLATOR_XML_INTERPRETATION Convert to XML using regular expressions (expand out string arrays with | delimiter, and apply regular expressions to GCC preprocessed code)
OpenGIA 10-August-2013a - corrected execution of defineSubstancesObjectsAndSubjectsWithSubstances(currentSentenceInList, GIAentityNodeArrayFilled, GIAentityNodeArray, GIAentityNodeArray); //why did this used to be GIAfeatureTempEntityNodeArray?
OpenGIA 10-August-2013a - correct entity/relation disabling in disableRedundantNodesStanfordParser: param.disableRelation[REL1]; / param.disableEntity[REL1][REL_ENT2]; - appears to be ONLY USED FOR OLD VERSION OF STANFORD PARSER/CORENLP, so should not affect performance
OpenGIA 10-August-2013a - replaced GIA_GENERIC_DEP_REL_INTERP_EXECUTE_FUNCTION_addSubstanceToSubstanceDefinition with GIA_GENERIC_ENTITY_INTERP_EXECUTE_FUNCTION_addSubstanceToSubstanceDefinition where appropriate
OpenGIA 10-August-2013a - remove all brackets from numerical preprocessor defs used by GIA XML files;
OpenGIA 10-August-2013a - remaining issues; fix stanford "she is the one that broke it" (issue with "that" parsing) / fix stanford "moses know I angry" / fix stanford/relex issues; disable remaining "the/a/there/be" nodes
OpenGIA 10-August-2013a - correct entity/relation disabling in linkSubjectObjectRelationships: paramC.disableEntity[REL1][REL_ENT1];
OpenGIA 28-August-2013a - batch test stanford + relex
OpenGIA 28-August-2013a - fix error: issue with GIArules.xml: <function name="redistributeStanfordRelationsMultiwordPreposition" <!-- optMultD -->>
OpenGIA 28-August-2013a - fix error: issue: 'what' is not being converted to $qvar: issue with GIArules.xml: <function name="redistributeStanfordRelationsCreateQueryVarsWhat">
OpenGIA 28-August-2013a - fix error: 'that' is being left as a concept: issue with GIArules.xml: <function name="defineSubstancesNonExplicitPronouns">
OpenGIA 28-August-2013a - fix error: Where is the ball? issue with GIArules.xml remove text related to #ifdefGIA_REDISTRIBUTE_STANFORD_RELATIONS_NSUBJ_AND_PREPOSITION_OLD in redistributeStanfordRelationsMultiwordPreposition
OpenGIA 31-August-2013a - implement redistributeStanfordRelationsInterpretOfAsObjectForContinuousVerbs for GIA_USE_GENERIC_DEPENDENCY_RELATION_INTERPRETATION_REDISTRIBUTION and GIA_TRANSLATOR_XML_INTERPRETATION
OpenGIA 31-August-2013a - simplify redistributeRelexRelationsInterpretOfAsObjectForContinuousVerbs, and change wordNetPOS to grammaticalWordTypeTemp
OpenGIA 31-August-2013a - convert int defaultSameSetReferenceValue; to bool defaultSameSetReferenceValue;
OpenGIA 31-August-2013a - introduce more robust implementation of Draw GIA_DRAW_PRINT_ENTITY_NODES_IN_ORDER_OF_SENTENCE_INDEX [GIA_DRAW_PRINT_ENTITY_NODES_IN_ORDER_OF_SENTENCE_INDEX_ADVANCED]: only print connection if node has been printed, but otherwise print all connections. Note this may not be left activated as it draws double connections...
OpenGIA 31-August-2013a - retest xml i/o with aliasing
OpenGIA 31-August-2013a - retest GIA_USE_ADVANCED_REFERENCING - some 'that' usages
...
OpenGIA 14-September-2013a - [TEST THIS!] removed redundant instance of applyGrammaticalInfoToAllEntities after defineSubstances
OpenGIA 14-September-2013a - fixed up some translator comments
OpenGIA 14-September-2013a - add sentenceIndex to GIAxmlConversion for USE_NLPI
OpenGIA 15-September-2013a - [TEST THIS!] implement redistributeRelexRelationsDisableRedundantObjectRelations:
OpenGIA 15-September-2013a - added parsedForNLPI to GIAentityNode for USE_NLPI
OpenGIA 15-September-2013a - implement 'with' as property
OpenGIA 15-September-2013a - fix up Relex sentence index declaration; if(currentAttributeInSentenceTag->name == Relex_CFF_XML_ATTRIBUTE_index)
OpenGIA 28-September-2013a - start fixing issue; identifyReferenceSetConceptEntityEntrance(): if !grammaticalDefiniteTemp (ie if sentence node is grammaticalProperNounTemp isSubstanceConcept), identifyReferenceSetConceptEntityEntrance() will not enforce minimumEntityIndexOfReferenceSet (as grammaticalDefiniteIndexOfDeterminerTemp/grammaticalIsDefiniteIndexOfDeterminer will be set to GIA_ENTITY_INDEX_UNDEFINED)
OpenGIA 28-September-2013a - initialise minimumEntityIndexOfReferenceSet = GIA_REFERENCE_SET_ID_UNDEFINED;
OpenGIA 28-September-2013a - update identifyReferenceSets() code to parse all words >=minimumEntityIndexOfReferenceSet (dont use determinite check), but accept properties preceeding the minimumEntityIndexOfReferenceSet
OpenGIA 28-September-2013a - fix issues with GIAquery passPluralityMatch and passSpecificConcepts
OpenGIA 29-September-2013a - implement GIA_QUERY_SIMPLIFIED_SEARCH, and replace advanced reference query code with simplified query code GIA_QUERY_SIMPLIFIED_SEARCH_ENFORCE
OpenGIA 29-September-2013a - start retest GIA_USE_ADVANCED_REFERENCING - some 'that' usages
OpenGIA 29-September-2013a - reset mustSetIsSubstanceConceptBasedOnApposRelation every sentence
OpenGIA 29-September-2013a - reset alreadyAssignedSubstancesBasedOnDeterminatesOfDefinitionEntitiesTemp and isPronounReference every sentence also [UNTESTED]
OpenGIA 29-September-2013a - initialise numberOfMatchedNodesTemp and numberOfMatchedNodesRequiredSynonymnDetectionTemp properly in testEntityNodeForQueryOrReferenceSet2
OpenGIA 29-September-2013a - when finding advanced references, if matched items are substance concepts, ignore plurality (in fact substance concepts should not be assigned plural in the first place; this is an artefact of the english grammmar system: eg "blue chickens are strong")
OpenGIA 29-September-2013a - tentative solution (test this further); remove findSubjObjRelationMatchingAuxillaryAndSetNotSameReferenceSet(), update linkPropertiesDescriptiveRelationships() to interpret _predadj as different reference set, and _amod/_advmod as same reference set (!GIA_ADVANCED_REFERENCING_FIND_SUBJ_OBJ_RELATION_MATCHING_AUXILLARY_AND_SET_NOT_SAME_REFERENCE_SET)
OpenGIA 29-September-2013a - fixed bug in testEntityNodeForQueryOrReferenceSet2(): if(traceModeIsQuery || exactMatchTemp)
OpenGIA 29-September-2013a - fixed bug in testReferencedEntityNodeForExactNameMatch2(); not calling testEntityNodeForQueryOrReferenceSet2
OpenGIA 29-September-2013a - fixed bug in exactmatch assignment... (but need fail safe mechanism see 1u5c for update)
OpenGIA 29-September-2013a - OLD [Fixed in 1u5d] implement a fail safe for testEntityNodeForQueryOrReferenceSet2 (make sure the required number of nodes have been matched): use maxNumberOfMatchedNodesPossible (GIA_QUERY_SIMPLIFIED_SEARCH_ENFORCE_EXACT_MATCH)
OpenGIA 29-September-2013a - modify testReferencedEntityNodeForExactNameMatch2() such that fail safe is not required (disable GIA_QUERY_SIMPLIFIED_SEARCH_ENFORCE_EXACT_MATCH)
OpenGIA 29-September-2013a - start retesting GIA_ADVANCED_REFERENCING_SUPPORT_INTRASENTENCE_REFERENCING
OpenGIA 29-September-2013a - define referenceSetID as int not bool in GIAreferenceTraceParameters [found problem; number of reference sets is not been passed properly between createGIAcoreferenceInListBasedUponIdentifiedReferenceSets and createGIAcoreferenceInListBasedUponIdentifiedReferenceSet]
OpenGIA 29-September-2013a - remove wasReferenceTemp assignment for intrasentence references
OpenGIA 01-October-2013a - implement defineActionConcepts1 - interpret auxillary can as action concept aux(run-3, can-2) - assign action concepts for "can action.." eg "can run"
OpenGIA 02-October-2013a - implement redistributeStanfordRelationsAuxHave - parse stanford have auxillary
OpenGIA 02-October-2013a - start debug and activate GIA_TRANSLATOR_DREAM_MODE_LINK_SPECIFIC_CONCEPTS_AND_ACTIONS implementation
OpenGIA 02-October-2013a - make it more easy to see substanceConcepts in draw (draw isSubstanceConcept before draw isSubstanceQuality)
OpenGIA 02-October-2013a - addSubstance(); disable isSubstanceConcept of concept entity when forwarding value to new substance [test this doesnt cause problems]
OpenGIA 02-October-2013a - fix multiple bugs in GIA_TRANSLATOR_DREAM_MODE_LINK_SPECIFIC_CONCEPTS_AND_ACTIONS implementation; eg identifyReferenceSetsSpecificConceptsAndLinkWithSubstanceConcepts(); if(numberOfMatchedNodesTemp > 0), if(!(entityNode->isConcept)), testReferencedEntityNodeForExactNameMatch2() ignore plurality matching
OpenGIA 12-October-2013a - fix bug in defineActionConcepts1; add '<option useRelationTest="true" REL="0" REL_ENT="1" relationTest="can" />'
OpenGIA 12-October-2013a - fix up GIA header files for CS execution (removed GIA_TEMPORARY_COMPILATION_GCC_FLAG_E_PREPROCESS_TRANSLATOR_XML_FILES functionality for CS execution)
OpenGIA 13-October-2013a - Windows compatibility (initialisation of GIAgenericDepRelInterpretationParameters class arrays without {})