Adding Context to Concept Trees

Similar documents
Artificial Neuron Modelling Based on Wave Shape

TERM BASED WEIGHT MEASURE FOR INFORMATION FILTERING IN SEARCH ENGINES

A Survey Of Different Text Mining Techniques Varsha C. Pande 1 and Dr. A.S. Khandelwal 2

Web Information Retrieval using WordNet

Shrey Patel B.E. Computer Engineering, Gujarat Technological University, Ahmedabad, Gujarat, India

Modelling Structures in Data Mining Techniques

CHAPTER 5 SEARCH ENGINE USING SEMANTIC CONCEPTS

Syntactic Analysis. CS345H: Programming Languages. Lecture 3: Lexical Analysis. Outline. Lexical Analysis. What is a Token? Tokens

Disambiguating Search by Leveraging a Social Context Based on the Stream of User s Activity

Defining Program Syntax. Chapter Two Modern Programming Languages, 2nd ed. 1

Ontology Based Prediction of Difficult Keyword Queries

Ontology Extraction from Heterogeneous Documents

Introduction to Lexical Analysis

Keywords Data alignment, Data annotation, Web database, Search Result Record

What is this Song About?: Identification of Keywords in Bollywood Lyrics

Multi-relational Decision Tree Induction

Let s get parsing! Each component processes the Doc object, then passes it on. doc.is_parsed attribute checks whether a Doc object has been parsed

STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH

Fast and Effective System for Name Entity Recognition on Big Data

A Machine Learning Approach for Displaying Query Results in Search Engines

Key-value stores. Berkeley DB. Bigtable

Hebei University of Technology A Text-Mining-based Patent Analysis in Product Innovative Process

Information Retrieval. Information Retrieval and Web Search

Bipartite Graph Partitioning and Content-based Image Clustering

E-R Model. Hi! Here in this lecture we are going to discuss about the E-R Model.

Text Mining for Software Engineering

String Vector based KNN for Text Categorization

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) CONTEXT SENSITIVE TEXT SUMMARIZATION USING HIERARCHICAL CLUSTERING ALGORITHM

AN APPROACH FOR LOAD BALANCING FOR SIMULATION IN HETEROGENEOUS DISTRIBUTED SYSTEMS USING SIMULATION DATA MINING

Improving Suffix Tree Clustering Algorithm for Web Documents

CaseComplete Roadmap

CHAPTER 8 Multimedia Information Retrieval

Information Retrieval and Web Search

A FRAMEWORK FOR EFFICIENT DATA SEARCH THROUGH XML TREE PATTERNS

2.2 Syntax Definition

Ranking in a Domain Specific Search Engine

Teiid Designer User Guide 7.5.0

Encoding Words into String Vectors for Word Categorization

6.001 Notes: Section 8.1

Text Mining. Munawar, PhD. Text Mining - Munawar, PhD

A Review on Identifying the Main Content From Web Pages

Customisable Curation Workflows in Argo

Clustering Algorithms In Data Mining

Plagiarism Detection Using FP-Growth Algorithm

What are compilers? A Compiler

5 Object Oriented Analysis

Generating FrameNets of various granularities: The FrameNet Transformer

UNINFORMED SEARCH. Announcements Reading Section 3.4, especially 3.4.1, 3.4.2, 3.4.3, 3.4.5

Unsupervised Learning. Clustering and the EM Algorithm. Unsupervised Learning is Model Learning

Yunfeng Zhang 1, Huan Wang 2, Jie Zhu 1 1 Computer Science & Engineering Department, North China Institute of Aerospace

Data and Information Integration: Information Extraction

ijade Reporter An Intelligent Multi-agent Based Context Aware News Reporting System

Structural and Syntactic Pattern Recognition

MODULE 1 INTRODUCTION LESSON 1

Content Enrichment. An essential strategic capability for every publisher. Enriched content. Delivered.

Advanced Reporting Tool

A Framework for adaptive focused web crawling and information retrieval using genetic algorithms

Introduction. Aleksandar Rakić Contents

Image Compression: An Artificial Neural Network Approach

Skill. Robot/ Controller

CS 354R: Computer Game Technology

A Data Modeling Process. Determining System Requirements. Planning the Project. Specifying Relationships. Specifying Entities

International Journal of Advance Engineering and Research Development SENSE BASED INDEXING OF HIDDEN WEB USING ONTOLOGY

Text Similarity. Semantic Similarity: Synonymy and other Semantic Relations

Using Shallow Natural Language Processing in a Just-In-Time Information Retrieval Assistant for Bloggers

[Gidhane* et al., 5(7): July, 2016] ISSN: IC Value: 3.00 Impact Factor: 4.116

ITFOOD: Indexing Technique for Fuzzy Object Oriented Database.

Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze

CS 4510/9010 Applied Machine Learning. Neural Nets. Paula Matuszek Fall copyright Paula Matuszek 2016

Logic Programming: from NLP to NLU?

(Updated 29 Oct 2016)

Review on Text Mining

Context Sensitive Search Engine

Semantic text features from small world graphs

Text Mining: A Burgeoning technology for knowledge extraction

User Configurable Semantic Natural Language Processing

2 Ambiguity in Analyses of Idiomatic Phrases

Information Retrieval and Web Search Engines

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design

DATA MODELS FOR SEMISTRUCTURED DATA

Welcome to Design Patterns! For syllabus, course specifics, assignments, etc., please see Canvas

INFSCI 2140 Information Storage and Retrieval Lecture 2: Models of Information Retrieval: Boolean model. Final Group Projects

Conceptual and Logical Design

Requirements. Chapter Learning objectives of this chapter. 2.2 Definition and syntax

Intro to Haskell Notes: Part 5

Artificial Intelligence Introduction Handwriting Recognition Kadir Eren Unal ( ), Jakob Heyder ( )

WEIGHTING QUERY TERMS USING WORDNET ONTOLOGY

Extended R-Tree Indexing Structure for Ensemble Stream Data Classification

Oleksandr Kuzomin, Bohdan Tkachenko

TEXT PREPROCESSING FOR TEXT MINING USING SIDE INFORMATION

Big Data Analytics CSCI 4030

A New Approach to Computation of Curvature Scale Space Image for Shape Similarity Retrieval

WEB PAGE RE-RANKING TECHNIQUE IN SEARCH ENGINE

A Hybrid Unsupervised Web Data Extraction using Trinity and NLP

CS101 Introduction to Programming Languages and Compilers

Word Disambiguation in Web Search

SAACO: Semantic Analysis based Ant Colony Optimization Algorithm for Efficient Text Document Clustering

COMP 181 Compilers. Administrative. Last time. Prelude. Compilation strategy. Translation strategy. Lecture 2 Overview

Contextual priming for artificial visual perception

Component ranking and Automatic Query Refinement for XML Retrieval

Transcription:

Adding Context to Concept Trees Kieran Greer, Distributed Computing Systems, Belfast, UK. http://distributedcomputingsystems.co.uk Version 1.2 Abstract Concept Trees are a type of database that can organise arbitrary textual information using a very simple rule. Each tree ideally represents a single cohesive concept and the trees can link with each other for navigation and semantic purposes. The trees are therefore a type of semantic network and would benefit from having a consistent level of context for each of the nodes. The tree nodes have a mathematical basis allowing for a consistent build process. These would represent nouns or verbs in a text sentence, for example. A basic test on text documents shows that the tree structure could be inherent in natural language. New to the design can then be lists of descriptive elements for each of the nodes. The descriptors can also be weighted, but do not have to follow the strict counting rule of the tree nodes. With the new descriptive layers, a much richer type of knowledge can be achieved and a consistent method for adding context is suggested. It is also suggested to use the linking structure of the licas system as a basis for the context links. The mathematical model is extended further and to finish, a query language is suggested for practical applications. Keywords: Concept, tree, context, link, natural order, semantic, self-organise. 1 Introduction The term concept base has been used previously ([8] or [15], for example) and has been adopted in [6] to describe a database of heterogeneous sources of arbitrary concepts. They would be more similar to an OO database than a relational one, for example. The term concept can be used to describe a single value or a complex entity equally and so the concept base can store information of arbitrary complexity. If the information is arbitrary, it is probably the case that some level of structure must be added first, before the information can be processed, data mined, or reasoned over. One realisation of the concept base is as a flat structure of 1 or 2 levels [6] and another is as concept trees [5]. The trees start with a 1

root node that is extended by branches, where a strict frequency count rule does not allow a branch node to have a higher count than the parent node. A formal and mathematical process for doing this was described [5], allowing unstructured concept groups to build the tree-like structures. Even if the concept that a tree represents is quite abstract, a consistent build process would mean that it can be used or shared between different scenarios. The tree structure can therefore be the basic building block for a distributed database and can also be normalised. A basic test of parsing scientific papers and building trees from them shows that the frequency count rule is probably inherent in natural language. This paper extends the theory by adding layers of descriptive elements to each of the tree nodes. The nodes form a more permanent structure, but descriptors can add context, when a more dynamic type of reasoning can then occur over the fixed structure. To keep the structure flexible, the licas dynamic linking mechanism [9][7] can be used to link descriptors, or even form the basis of the whole tree structure. With considerations for context, it is possible to extend the mathematical model further, thereby allowing the construction process to be automated in that respect. The rest of this paper is organised as follows: section 2 gives some related work. Section 3 reviews concept trees and introduces some new ideas, while section 4 shows that the structure could be inherent in natural language. Section 5 extends the mathematical model for contextual considerations and section 6 describes a possible query language for processing that context. Section 7 gives some examples of the query process, while, section 8 gives some conclusions on the work. 2 Related Work The Concept Tree has previously been compared to Markov Models [12][3] and is very similar to them, including the construction rule that can be implicit in a Markov Model. The paper [14] is a survey of these and notes that there are many different types that obey different rules. While the Concept Tree is a static structure for storing knowledge; with the addition of feedback control structures, it is possible to consider it for state changes as well. If parsing text to produce word sequences, then NGram structures [1] are also related, but 2

they are typically used to predict word sequences, which is a more exact measurement than a type of set membership. This paper is based on the earlier papers by the author [4]-[7]. In particular, [5] introduced the idea of concept trees, while [6] describes a related symbolic neural network and the query language that is to be used. The book [7] writes about the original linking ideas, including the permanent and dynamic links that are now part of the structure. The software has been written with the help of the licas system [9] and also OpenNLP [11] and WordNet [2][10]. A Concept Base [6] is the idea used for the database that manages the concept structures. In one type of implementation it can be relatively shallow or flat and in another it can manage the deeper concept tree structures of this paper. Two earlier examples of other concept databases include [8] and [15]. As the concept base is also a type of semantic network, one reference for that would be [13]. 3 Concept Trees Concept trees [5] start with a base node that is extended by branches of related nodes. A strict frequency count rule does not allow a branch node to have a higher count than the parent node. This is actually the case if the tree is always updated starting from the base, but might not be the case if the tree can be updated from other places. As part of the process therefore, trees can be split into two or more, where links between the parts can be maintained, to help with navigation and concept realisation. The paper [5] gives a more formal set of rules that would help to build the database of trees in a normalised way and also how to update and re-structure it. Figure 1 is an example of what a concept base might look like with 3 trees. Because drank milk is important to more than one tree, it creates a separate tree that gets linked to (key M) by the other concepts, for example. As part of a cognitive model, the linking mechanisms would be mostly dynamic, so while the frequency count is a fixed rule, there should also be provision for links weakening and also disappearing over time. The tree links could therefore use the licas linking mechanism [9][7], because it can store paths of key values, and for the descriptor layers, it may be ideal. 3

Figure 1. Example trees with indexed links for navigation. 3.1 Creating Trees from Text Streams One option would be to create trees directly from text streams, where parsed word sequences can build the tree structure. There are different ways to parse the text stream, including a statistical evaluation first of the most popular words, to be used as base nodes; or possibly simply parsing each sentence separately and adding as is. Natural language is already highly structured and intelligent and so parsing and using as is would pass some of that structure onto the concept base. To demonstrate this, section 4 gives the results of some basic tests that parse text documents into concept trees. 3.2 Contextual Descriptors A new suggestion for this paper is that the tree nodes should only be nouns or verbs. These are more solid and static real-world concepts, as opposed to the more transitory descriptive ones. The nouns and verbs would therefore make up the static tree structure. Each node would then be allowed to have any number of descriptors adjectives for nouns and adverbs for verbs. For simplicity and a clear process, the descriptors can link only to other descriptors and do not determine static structure. Figure 2 is a version that has added a layer of descriptors, one for each node. The black lines are the tree structure, while the blue 4

lines are from the concept to its descriptors and the dashed lines link descriptors with each other, probably created through dynamic feedback. Figure 2. The Concept Base Trees with Descriptors As shown in Figure 1, there is a black cat, but the cat could also be white, tabby, or whatever. Also, a thirsty boy, who might be hungry as well. So this type of context in Figure 1 would more correctly be changed into the descriptive elements and added as dynamic content to the related node. If the context nodes are more transitory, then they do not have to follow the strict counting rule of the static structure and so they can build more arbitrary relations with other descriptors in the same tree or even across trees. This more dynamic structure would also relate to cognitive processes. 3.3 Negative Reinforcement Negative reinforcements can be looked at as a positive statement not to do something or as a statement to switch something off. The first case can be used to actually add structure to a 5

tree. Figure 3 gives an example where a wet mat would cause a negative reaction. The large arrows possibly indicate some dynamic input from the environment. Figure 3. Concept Tree with new feedback branch. In this figure, the cat prefers to sit on the mat, which has a score of 12 to 8 over the grass. It would therefore firstly choose that branch, but in this case the mat environment is wet and so the cat receives negative feedback. This is represented structurally as an active backwards link from the wet descriptor to the node s parent node. The sat node may then choose a different path and select the grass option. If the tree is traversed again and the wet descriptor does not apply, the preferred mat can be selected instead. The figure also starts to look more like a state machine, although the negative link is not really a state change, but more of a correction. 4 Parsing Text Documents When writing or speaking, it is typical to introduce an item before describing it. The description comes after the introduction. If the description also repeats, then it can have some statistical meaning. One option would be to create new trees from text streams, 6

where parsed word sequences can build the tree structure. There are different ways to parse the text stream, including a statistical evaluation first of the most popular words, to be used as base nodes; or possibly simply parsing each sentence separately and adding as is. For these tests, popular words were determined first by parsing the document and counting the frequency of each word. Common words, or words of length 2 or less were also removed. The 10 most frequent words were selected to be base words for nested sequences. In fact, the most popular word overall would be the base node in the tree and the other 9 words would become child nodes at level 1. The text would be parsed into a list of single words and each keyword would realise a sequence from one occurrence to the next. In that sequence, the most popular 10 words would be kept as the nested words for the keyword. This would produce a number of sequences over the whole document for each keyword. The occurrence of a word in a sequence would then be added up and used to select the aggregated most popular 10 words for each keyword. This would therefore realise 10 keywords, each with a set of 10 other words. The tree was then constructed by adding the keyword at the base and the nested set as child nodes. The child nodes would actually be added at the first possible position in the tree, not necessarily a child of the keyword, if the node already existed and so the word lists are unstructured. If a node in one document tree links to the base of another document s tree, then it would be relevant and could suggest other documents of interest. There may therefore be some overlap in related words that can help with navigation and knowledge extraction. 4.1 Test Results Popular word count is the main factor, but because sequences are also determined by relative positions, a better distribution in the sequences can result in a slightly less frequent word obtaining a larger count when the sequences are aggregated together. When that happens, the tree may need to be split because of the frequency count rule. This happened only three times in 75 documents however. The trees most often had a depth of 2 (root concept and nested concept), and 3 less often, but deeper trees with a depth of 4 or more was possible. With regard to document overlap, there were 234 nodes anywhere in more than 1 tree compared to 686 nodes anywhere in just 1 tree. Of those 234 nodes, 52 were at 7

the base of a tree and of those 52 nodes, 39 words would have links from a branch node to a base, which is over 70%. There were 82 separate trees in total, created from the 75 documents, an increase of less than 10%. This construction process therefore appears to show that the frequency count rule is inherent in the text structure and so the reduced tree content could give some type of summarised meaning of the related text document. 5 Extending the Mathematical Model This section extends the mathematical model of [5] to take consideration of a more dynamic structure. Some ideas have been based on nature, but they are put in terms of a sound mathematical framework. With the introduction of equations, as well as the counting rule, dynamic behaviour can be realised. This is important when only partial results are available to update trees, or for increasing functionality into something more like a state machine. 5.1 Word Overlap This is the case where single words or concepts exist in more than 1 tree. The granularity is too small to be significant, but at what size should they become new separate trees? This would require fine-tuning, but an automatic process may be possible, as follows: For example, through normalisation of the trees and subsequent linking, some of the trees with shared concepts may get linked together. Then as with refactoring, that part can be removed to create a new tree. Merge the rest of the two trees and add a link to the refactored part. Through time, the refactored tree can be re-joined with the merged tree. 5.2 Joining Trees The first paper [5] considers that a tree-join or re-join is a more intelligent act than breaking a tree up. Because of this conclusion, it is likely to have a more complex rule associated with it. Concept trees would have larger frequency counts inside of the tree than in the links between trees, or are also separated by the counting rule. As this is mandatory, the difference in the frequency count size could help to indicate if trees should be re-joined as a single tree concept. If a link s count, for example, becomes closer and closer to the base 8

count for the tree it is linking with, then this might suggest to join the two trees. One definite rule can be to join, if and only if there is one link to the base of the second tree. In which case normalisation is maintained and updates to the second tree s base node will remain consistent. If this is nearly always the case, then maybe the rule can be more flexible and it is also interesting to consider the tree shapes. So, it would be possible to model this with a mathematical equation that indicates when it is legal and when it is not legal. In that case, it can be modelled to a particular type of application and could allow trees to link slightly differently, probably only if it does not disturb the fundamental tree counting rule. Tree size, shape and the idea of the concept ordering, can also be considered. If an equation decides that two trees can be joined when the link and base node counts become similar, it might also consider the relative size or shape of each tree. It may decide to factor in the fact that a larger tree, representing a more stable concept, should not join as a branch to a smaller tree. Rather like a heavy branch would break off unless it was most securely attached, and so it can be dependent on the link conditions. The shape of the tree is also significant. A wide shallow tree is more likely to be a base tree than a narrow deep tree. What a node represents can even be considered ([5], section 6.4), such as a car drives on a road and so always have the road tree at the base, even if it is a smaller tree. A function of factors that therefore include the size of the tree (number of nodes n) and its width and depth (w, d) can help to define the tree itself. fst(n, w, d) If then comparing two trees and considering if they should be joined: the two tree functions can be considered along with the branch link in tree 1 (lt1) and the base node link in tree 2 (lt2) and finally any concepts in either tree (Ct1 and Ct2). fjoin(fst1, fst2, lt1, lt2, Ct1, Ct2) 9

5.3 Where to Add Context Adding context can also be managed through some basic mathematics. For example, if we have a tree with the concept road at the base and then maybe lots of shallow branches for vehicles like car, lorry, bus and so on. The tree can define that the vehicles drive on the road, but it is not very interesting to know that a blue, red, white, black, silver, or green car drove on the road, for example. This context has no meaning and belongs somewhere else. Therefore, the context that gets added should relate directly to a link in the tree, although this can be simply the link from the parent node. Therefore, it may be possible to be more specific and state that: A context should only be added if it would potentially change the link of a node. For example, a parent node of road may have a car child node and it could have any number of colour contexts, but that information is irrelevant to whether the car drives on the road or not. If the tree had something to do with insurance, then maybe the car colour becomes relevant. When adding new values from the concept base, even if values are stored as individual pieces of information, try to store as individual concept-context pairs, where the context can be missing, for example: [A1, Va1] [B1, Vb1] [C1, Vc1] In this instance, A, B or C is the concept type and Va1, Vb1, Vc1 is a related context value. If the concept base stores information even as separate pairs, then the context can help to define where a concept should go. If the source can also provide information on links, then that will help, as in the text parsing of section 4. 5.4 Negative Structure For a state machine, another thing to consider then is the positive or negative feedback and that would also relate to context. If negative feedback is returned, then it is likely that the current tree path is not good and so the search should start from an earlier point. This can 10

be modelled as a link from a child node to an earlier parent node. If positive feedback is returned, then the search can continue down the path. Therefore, another rule can be that: Negative feedback should be realised as a link from a child node back to a parent node. 5.5 Count Updates If nodes are always updated together, then the counts will remain consistent. This will always be the case, even for negative feedback or path changes. If context is used, then this is not static structure and so it may be preferable to update it separate of the tree structure. Therefore, the context gets added and then updated only during use. The tree itself can be changed when new nodes are added or again through use, but that use should be a final path selection and not the reasoning over context. The rule might be: When searching over trees, context can be updated, but node counts should not be. When selecting a tree path or changing tree structure, tree nodes can be updated, but context should not be. 6 Query language As the concept tree is a type of database, it should be possible to use it outside of a cognitive scenario and also to query the information. A most basic query can take the form of a tokenised list of words that can match with the general structure. With tokenised word sequences, a Horn clause [6] might be an appropriate query construct and would keep things relatively simple, although, changing the minor features in the implementation can change what a query result would be. In this example, each clause is a tree concept with a related descriptor. Each query part could therefore be represented by a noun or verb and related descriptor, where the query process would try to find all trees that match with the terms. If a slot is empty, then a returned tree can make a suggestion for the missing information. 11

6.1 Tree and Query Construction A NLP query can be accepted and processed automatically, before it is tokenised. Something like OpenNLP [11] can be used to parse a sentence into associated word phrases. Each word phrase would be presented as a single structure to the concept base. To recognise the word types in the group, something like WordNet [2][10] can be used. Nouns and verbs need to be recognised first. Then, if a noun has an adjective either side of it, it can be added as a descriptor for the noun. If a verb has an adverb either side of it, it can be added as a descriptor for the verb. So the NLP might add some ambiguity, but the database matching process would help to confirm what is correct. For example, add the descriptor anywhere it may be relevant and it will only be used if it is in fact returned as part of a search process. Any successful traversal can also be used to update node counts. Ordering of the clauses might not be possible if strict ordering is not maintained in the trees, but natural language still uses natural word groups, where each phrase should map to distinct tree parts. If the descriptors link with other descriptors, then cycles in the search paths can be found from concept to concept and from a concept descriptor back to an earlier concept descriptor. Otherwise, paths that simply traverse all of the terms can be found and links between the trees that satisfy the query should be favoured. There could then be different solution sets that could be measured as more or less correct. 7 Computer Program and Test Scenarios A test program has been written in the Java programming language. It does not implement the concept base in full, with regard to the model and rules, but it allows for trees to be added and then searched over. The program can read a text document, parse it into sentences, remove the additional formatting and then use OpenNLP to construct each phrase or word group. WordNet then helps to parse this into concepts with related descriptors. Each phrase is then presented to the concept base and added as a tree structure. A similar process can be used to update the concept base, so that links can be created. Another set of text sentences, for example, can be parsed in the same way and used to search over the concept base trees. Sets of trees that satisfy the criteria can be 12

retrieved and related links updated. This is still a query process, but there is a requirement to return some knowledge or information. Therefore, after some links have been established, a query construct can be executed and can search the database in the same manner; but instead of updating links, it can fill in any missing slots in the query clauses, thereby providing new information for the user. If different sets of trees return a choice of answer, then some reasoning might be required, but there are a lot of numerical values to suggest what the best answers might be. Parsing text documents gives a list of terms with some linking structure, or using the tree will also update individual links. If a node or descriptor is incorrect or unsuitable, it will probably not be used as part of a query result and so it will not get linked to. This also allows for a small amount of ambiguity in the sentence parsing, because the subsequent link updates can help to remove the error through use, even if it gets presented. So the descriptor can be added both to any noun or verb that comes before and/or after it in the parsed term list. 7.1 Example Scenario A very simple example would be parsing the sentence Jack wore a white shirt and blue trousers. If this was added to the concept base and a query executed asking about [shirtwhite] [trousers-?], then the tree structure would return [shirt-white] [trousers-blue], suggesting that the trousers are blue. Equally however, a question like was something blue worn with a white shirt?, or [shirt-white] [?-blue], could be asked and would not necessarily require a search of the whole database. If descriptors link with each other, then a blue descriptor that links with the white descriptor of the shirt node can indicate a trousers concept node that might contain relevant information. 8 Conclusions This paper describes enhancing concept trees with layers of descriptive context. This provides a richer level of knowledge and would make them more useful in practice. Basic tests on parsing text documents show that they probably inherently contain the concept 13

tree structure. While the structure may be contained in any type of nesting, for example, natural language also uses it for communication. It has also been possible to update the underlying mathematical model and suggest some new rules. The Concept Base has been used both for a cognitive application and as a database. For the cognitive model ([4] and related papers), the descriptive layers might actually fit better with the symbolic neural network. This is the upper structure that is more experience-based and would process dynamic context more naturally than the knowledge-based concept tree. It shows however that the structures all have similarities and overlap. For the database model, the query structure of a Horn clause [6] can be tried, where the idea of an attribute name and value is the same as the concept name and context of this paper. Positive feedback can always be used to update links, but negative feedback can also create structure. In [7] it was created from query feedback over a distributed network and a similar scenario is realised in this paper, again from automatic processes. References [1] Dagan, I., Lee, L. and Pereira, F.C. (1999). Similarity-based models of word cooccurrence probabilities. Machine learning, Volume 34, Issues 1-3, pp. 43-69. [2] Fellbaum, C. (1998, ed.) WordNet: An Electronic Lexical Database, Cambridge, MA: MIT Press. [3] Fink, G.A. (2014). Markov models for pattern recognition: from theory to applications. Springer Science & Business Media. [4] Greer, K. (2015). New Ideas for Brain Modelling, BRAIN. Broad Research in Artificial Intelligence and Neuroscience, Volume 6, Issues 3-4, pp 26-46, December 2015, ISSN 2067-3957 (online), ISSN 2068-0473 (print). [5] Greer, K. (2014). Concept Trees: Building Dynamic Concepts from Semi-Structured Data using Nature-Inspired Methods, in: Q. Zhu, A.T Azar (eds.), Complex system modelling and control through intelligent soft computations, Studies in Fuzziness and Soft Computing, Springer-Verlag, Germany, Vol. 319, pp. 221 252, 2014. [6] Greer, K. (2011). Symbolic Neural Networks for Clustering Higher-Level Concepts, NAUN International Journal of Computers, Issue 3, Vol. 5, pp. 378 386, extended version of the WSEAS/EUROPMENT International Conference on Computers and Computing (ICCC 11). 14

[7] Greer, K. Thinking Networks the Large and Small of it: Autonomic and Reasoning Processes for Information Networks, published with LuLu.com, 2008, ISBN: 1440433275. Also available on Google books. [8] Jarke, M., Eherer, S., Gallersdorfer, R., Jeusfeld, M.A. and Staudt, M. ConceptBase - A Deductive Object Base Manager, Journal on Intelligent Information Systems, Vol. 4, No. 2, 1995, pp. 167 192. [9] Licas. (2016). http://licas.sourceforge.net. (last accessed 17/6/16). [10] Miller, G.A. (1995). WordNet: A Lexical Database for English, Communications of the ACM, Vol. 38, No. 11, pp. 39-41. [11] OpenNLP. (2016). http://opennlp.apache.org/. (last accessed 17/6/16). [12] Rabiner, L.R. and Juang, B.H., (1986), An Introduction to Hidden Markov Models, IEEE ASSP Magazine, pp. 4-16. [13] Sowa, J.F. (Ed.). (2014). Principles of Semantic Networks: Explorations in the representation of knowledge. Morgan Kaufmann. [14] Vidal, E., Thollard, F., de la Higuera, C., Casacuberta, F. and Carrasco, R.C., (2005), Probabilistic Finite-State Machines-Part I, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 27, No. 7, pp. 1013-1025. [15] Zhao, J., Gao, Y., Liu, H., and Lu, R. Automatic Construction of a Lexical Attribute Knowledge Base, Z. Zhang and J. Siekmann (Eds.): KSEM 2007, LNAI 4798, 2007, 1995, pp. 198 20. 15