WO2001063382A2 - Conceptual factoring and unification of graphs representing semantic models - Google Patents
Conceptual factoring and unification of graphs representing semantic models Download PDFInfo
- Publication number
- WO2001063382A2 WO2001063382A2 PCT/US2001/006038 US0106038W WO0163382A2 WO 2001063382 A2 WO2001063382 A2 WO 2001063382A2 US 0106038 W US0106038 W US 0106038W WO 0163382 A2 WO0163382 A2 WO 0163382A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- concept
- concepts
- models
- nodes
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 100
- 239000002131 composite material Substances 0.000 claims abstract description 49
- 230000002596 correlated effect Effects 0.000 claims abstract description 19
- 230000000875 corresponding effect Effects 0.000 claims abstract description 13
- 230000002547 anomalous effect Effects 0.000 abstract description 44
- 239000003795 chemical substances by application Substances 0.000 description 51
- MLYCFWZIAJAIGW-UHFFFAOYSA-N 1-(2,5-dimethoxy-4-methylphenyl)butan-2-amine Chemical compound CCC(N)CC1=CC(OC)=C(C)C=C1OC MLYCFWZIAJAIGW-UHFFFAOYSA-N 0.000 description 50
- 241001064577 Ariadne <plant> Species 0.000 description 50
- 238000013459 approach Methods 0.000 description 21
- 230000009466 transformation Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 230000009471 action Effects 0.000 description 11
- 241001164374 Calyx Species 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000003287 bathing Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 239000002304 perfume Substances 0.000 description 6
- 238000000926 separation method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000003252 repetitive effect Effects 0.000 description 4
- 230000001932 seasonal effect Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000012357 Gap analysis Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000027455 binding Effects 0.000 description 1
- 238000009739 binding Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000003205 fragrance Substances 0.000 description 1
- 238000010413 gardening Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 235000021374 legumes Nutrition 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000035935 pregnancy Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000004366 reverse phase liquid chromatography Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012559 user support system Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Definitions
- the invention relates generally to the manipulation of representations of graphs in computer systems and more specifically to automated techniques for conceptually factoring and/or unifying graphs.
- Information is useful only if it is accessible. There are two senses in which it must be accessible: those who need it must have physical access to it, and it must be indexed or cataloged so that those who need a particular item of information can easily find what they want.
- the data processing and communications revolutions of the second half of the twentieth century made it possible both to store much more information and to provide much more physical access to the stored information than ever before.
- the database technology component of the data processing revolution also made data cataloging and indexing easier than ever before, but the users of the information needed far more flexibility in finding, viewing, and analyzing the information than the relatively rigid database systems could provide.
- E-commerce electronic commerce
- a Web merchant has to offer the E-shopper easier access to the goods or services being being sold than what the shopper can get by ordering from a mail-order catalog or by going to the local shopping mall.
- access is only easy if it is access the way the shopper wants to have it, and in the E- commerce context, that means that the Web merchant must offer the shopper as many different ways to access the goods or services as there are kinds of shoppers.
- FIGs. 1-12 of PCT/US00/01042 are included in the present patent application along with those parts of the Detailed Description that describe them.
- the system that is the subject matter of PCT US00/01042 will be termed in the following the Ariadne system. In the Ariadne system, representations of graphs are used to organize information.
- Vertices in the graphs represent items of information and concepts that organize the items of information and edges in the graphs represent relationships between the vertices.
- the items of information are typically product descriptions, while the concepts organize the product descriptions so that the Web shopper can access them in various ways.
- a description of a given kind of shoe may be accessible not only via the concept "shoes”, but via concepts such as “leather”, “men's wear”, “formal wear”, “color”, and so forth.
- the concepts themselves are organized into models.
- Each model belongs to a particular model type.
- the model type for the model specifies the properties of the edges that connect the vertices representing the concepts.
- the Ariadne system uses graphs and agents, programs that are executed in response to events in the context provided by one or more models, to automatically convert catalogs represented in XML into Ariadne models.
- the same techniques can be used to convert other legacy representations of information into Ariadne models.
- the maintenance problem however, remains. It has two aspects: eliminating redundant information in a single model and integrating information from different sources. Eliminating redundant information
- Catalog size may increase, in some cases at a nonlinear rate relative to the number of truly new categories that are being added to the catalog.
- the techniques automate the operation of combining models.
- systems can be built which permit a user to easily and efficiently produce a constellation of factored models from one or more source models.
- the constellation of factored models includes a composite model in which common aspects of the source models are combined and a variability model which contains the differences between the models.
- the constellation loses none of the information of the source models and allows the information of the source models to be accessed in ways not possible with the source models.
- a key technique in making the composite model is unifying analogous nodes of the source models in the composite model.
- the technique automatically correlates child nodes belonging to parent nodes from one or more graphs other than the composite model with each other and with any child nodes of a parent node in the composite model and then displays the correlations in a user interface.
- a user then indicates whether he or she takes the correlated nodes to be analogous; if they are and they are not correlated with a child node that is already in the composite node, child nodes corresponding to the correlated nodes are added to the child nodes of the composite model's parent node.
- the above technique can be used with input trees from the source models; in this case, the technique can be employed recursively to unify analogous nodes at all levels of the input trees.
- Another key technique in making the composite model is using the structure of the source models to determine whether a node from one of the source models is correlated with a node from another of the source models.
- the first node's relationship to at least another node in its source model is analyzed to produce a first result and the second node's relationship to at least another node in its source model is analyzed to produce a second result, and the results are used to determine at least in part whether the first node is correlated with the second node.
- FIG. 1 illustrates how graphs may be used to show relationships among entities
- FIG. 2 shows a complex model
- FIG. 3 shows how the concepts of a model are related to instances and agents
- FIG. 4 shows the structures that represent model types, models, concepts, and instances in a preferred embodiment
- FIG. 5 is an overview of a system in which models and model types are implemented
- FIG. 6 is an overview of views and viewers in the system of FIG. 5;
- FIG. 7 shows a user interface for defining a new model
- FIG. 8 shows a user interface for defining a root concept
- FIG. 9 shows a user interface for adding a subclass concept to a model of the taxonomy type
- FIG. 10 shows a user interface for adding an instance to a concept of a model
- FIG. 11 shows a user interface for adding a referent to an instance
- FIG. 12 shows a user interface for displaying a model
- FIG. 13 shows an example CFU transform
- FIG. 14 is a conceptual diagram of the simplest CFU transform
- FIG. 15 is a conceptual diagram of two more complex CFU transforms
- FIG. 16 is a diagram of a graphical user interface for matching concepts
- FIG. 17 is a high-level flowchart of a procedure for making a CFU transform
- Fig. 18 is a block diagram of a system for making a CFU transform
- FIG. 19 is a flowchart of the f actor nodels agent in a preferred embodiment
- FIG. 20 is a flowchart of the recursive f actor-models- fn function in a preferred embodiment
- FIG. 21 shows a first two windows from the user interface employed in a preferred embodiment
- FIG. 22 shows a second two windows from the user interface
- FIG. 23 shows another window from the user interface
- FIG. 24 shows an example of operation of the CFU transform
- FIG. 25 shows CFU transforms involving correlations at different levels of the input trees
- FIG. 26 shows another CFU transform involving correlations at different levels of the input trees
- FIG. 27 shows a CFU transform involving multi-level factoring
- FIG. 28 shows how the CFU procedure might deal with the problem of FIG. 27
- FIG. 29 shows possible solutions of the problem of FIG. 27
- FIG. 30 shows another possible solution of the problem of FIG. 27; and FIG. 31 shows how an anomalous concept may be dealt with.
- FIG. 1 Using graphs to specify multiple aspects of a collection of data: FIG. 1
- graphs are used in the sense of a set of points where at least one of the points is connected to itself or another point by an arc.
- the points are termed the vertices of the graph and the arcs are termed its edges.
- the vertices represent entities such as concepts and the edges represent relationships between the concepts.
- graphs are used to represent a taxonomy 101 of concepts relating to clothing.
- the concepts belonging to a given taxonomy are related to each other in both a top-down fashion, i.e., from the most general concept to the least general concept, and a bottom-up fashion, i.e., from the least general concept to the most general.
- each vertex 103 represents a concept relating to clothing
- edges 105 connect the vertices 103.
- the arrowhead on the edge indicates the direction of the relationship.
- graph 107 shows that outerwear 113 and footwear 115 are subclasses of clothing 111 and parkas 111 and raingear 119 are in turn subclasses of outerwear 113.
- solid arcs 109 sandals 121 has an is a relationship to footwear 115
- footwear 115 has an is a relationship to clothing 111, and so forth for the other concepts.
- Each concept has a solid arc 119 pointing to itself because each concept is itself, and therefore has an is a relationship with itself.
- Subclass graph 107 and is a graph 109 thus organize the set of clothing concepts in FIG. 1 according to two aspects: a subclass aspect and an is a aspect.
- Subclass graph 107 tells us that outerwear 113 has two subclasses: parkas 117 and raingear 119; is a graph 109 tells us that outerwear 113 is clothing 111.
- Graphs 107 and 109 make it possible to consider any concept in taxonomy 101 from the point of view of its subclass relationships to other concepts and from the point of view of its is a relationships to other concepts.
- the operation of considering an entity in taxonomy 101 first as it belongs to one of the graphs and then as it belongs to another of the graphs is termed pivoting.
- FIG. 2 Models and facets: FIG. 2
- Taxonomy 101 is of course only one of many possible ways of organizing the set of concepts shown in FIG. 1.
- a particular way of organizing a set of concepts or other entities is termed a model.
- the concepts are organized according to a taxonomy model.
- the relationships between them are shown by two graphs: subclass graph 107 and is a graph 109; each of these graphs is termed a facet of the model; thus the taxonomy model of FIG. 1 has a subclass facet 107 and an is a facet 109.
- the pivoting operation permits a concept in the set to be considered according to each of the facets that the concept belongs to.
- the model of FIG. 1 is simple, i.e., it is a single taxonomy.
- a model may, however, also be complex, i.e., composed of two or more models.
- FIG. 2 shows such a complex model 201.
- the set of concepts of FIG. 1 has been expanded so that the items of clothing can be organized according to the season they are appropriate for.
- the new concepts represent the five seasons of the New England climate: winter 205, mud season 206, spring 213, summer 207, and fall 215.
- the set of concepts shown in FIG. 2 is organized according to complex model 201, which in turn is made up of two simple models.
- Clothing taxonomy model 209 is the taxonomy model shown in FIG.
- seasonal clothing model 211 is a model of type simple graph which relates concepts representing clothing to concepts representing the five New England seasons.
- the facets of model 211 relate a season concept to clothing concepts for the kinds of clothing worn in the season and a clothing concept to the seasons in which the clothing is worn.
- sandals 121 is a subclass of footwear 115; considered as part of the seasonal clothing model, sandals 121 is related to the seasons in which sandals are worn, namely spring, summer, and fall.
- Outerwear 113 belongs only to clothing model 209, while winter 205 belongs only to seasonal clothing model 211.
- Complex models permit additional operations. For instance, pivoting may be used with complex model 201 to consider a given concept according to each facet of each of the models the concept belongs to.
- the concept sandals may be considered on the one hand as it is related to the concepts of clothing model 209 and on the other as it is related to the concepts of seasonal clothing model 211.
- the models define different sets of concepts and set operations such as union, intersection, difference, and set xor may be applied.
- Model types Any set of entities which belongs to a taxonomy can be organized by means of a taxonomy model like model 209. Just as all taxonomies are alike in how they organize the entities that belong to them, any taxonomy model will have an is a facet and a subclass facet and similar relationships will exist between the entities belonging to a given facet. Moreover, any user of a taxonomy model will want to perform similar operations using the taxonomy. For example, a user will want to display all of the concepts that are subclasses of a given concept or all of the concepts that a given concept has an is a relationship with. One can thus speak of the taxonomy model type, and all other models will similarly belong to model types. As with models, a model type may be either simple or complex. Because all models belonging to a given model type have similar operations, it is possible to define those operations for the model type and make them automatically available for any model of the type.
- a model type is defined as follows:
- a facet specifier specifies each of the facets belonging to models of the type
- propagation specifiers for the facets and/or the entire model a propagation specifier specifies how operations belonging to models having the model type are performed.
- the model type for the taxonomy model thus has a subclass facet specifier for the subclass facet and an is a facet specifier for the is a facet.
- the relation specifier for the subclass facet specifies that the subclass relationship is transitive, non-reflexive, and non-symmetric.
- the fact that the relationship is transitive means that if entity A is a subclass of entity B and entity C is a subclass of entity B, then entity C is a subclass of entity A, or in terms of FIG. 1, that parkas 111 is a subclass of clothing 111.
- the fact that the subclass relationship is non-reflexive means that an entity cannot be a subclass of itself (which is why there are no edges of subclass graph 107 connecting an entity to itself).
- the fact that the relationship is non-symmetric means that if entity 5 is a subclass of entity A, entity A cannot be a subclass of entity B or in terms of FIG. 1, if parkas 111 is a subclass of outerwear 113, outerwear 113 cannot be a subclass of parkas 111.
- the relation specifier for the is a facet specifies that the is a relationship is transitive, reflexive, and non-symmetric.
- parkas 111 is itself as well as outerwear and clothing, but if parkas are outerwear, then outerwear cannot be Gust) parkas.
- the relation specifiers are used to define procedures for adding concepts to models belonging to the class.
- a propagator for a taxonomy is a subclass display propagator that displays all of the subclasses belonging to a class.
- the subclass display propagator works by simply following the subclass facet beginning at the specified class.
- the display propagator will display outerwear 113, parkas 111, raingear 119, footwear 115, sandals 121, and insulated boots 123.
- Another example is an is a display propagator that displays the concepts that the specified concept belongs to. This propagator simply follows the is a facet beginning at the specified concept.
- sandals 121 it will display sandals 121, footwear 115, and clothing 111.
- the cards in a library card catalog relate the concepts used in the catalog to books in the library.
- concepts organized by models In order for the concepts to be useful, they must be related to entities that are examples of the concepts.
- an entity that is or may be an example of a concept is termed an instance, and an instance that is an example of a concept is termed an instance of the concept.
- an instance it should be pointed out here that one of the things which may be an example of a concept is a model, and thus, an instance may be a model. Using models as instances in other models is one way of making complex models.
- model 209 is clothing and all of the instances of its concepts represent items of clothing.
- subject's collection The instances in the world that are relevant to a given subject are termed the subject's collection.
- FIG. 3 shows how concepts are related to instances in a preferred embodiment.
- Fig. 3 shows a set 301 of instances representing objects accessible to the system upon which model 209 is being used. This set 301 is termed herein the world of the model.
- the subject of model 209 is clothing; in FIG. 3, instances belonging to clothing's collection are surrounded by a curve, as shown at 306.
- model 209 is being applied to world 301, but the instances with which it is actually concerned belong to clothing collection 306.
- Item instances in clothing collection 306 are consequently termed clothing instances 307.
- the instances in clothing collection 306 with which model 209 is concerned all represent items of clothing or agents, as will be explained below; however, other instances in clothing collection 306 may represent models.
- more than one set of concepts may apply to a subject or a world and a given set of concepts may be applied to different subjects or worlds.
- item instances 303 which represent items, including other models, that may be related to concepts
- agent instances 304 which represent programs that are executed by models in response to the occurrence of events such as the addition of a concept to the model or a request by a user to view items belonging to a given concept.
- the program represented by an agent may be any program at all, the program executes in the context of the model and can thus take advantage of the model's facets and propagators. In effect, the operations defined for the model are available to agents in the same fashion that programs belonging to run-time libraries are available to application programs.
- an item instance 303 or an agent instance 304 is related to a concept
- instance facet 309 There is an instance facet 309 for each instance that is related to a given concept.
- instance facets relate clothing instances 307(b and c) to concept 121.
- an instance may have instance facets connecting it to more than one concept and even to concepts belonging to different models.
- the item represented by an instance has another representation, termed an object, in the computer system. What kind of object an instance represents will depend on the application for which the invention is being used.
- the clothing instances might represent database identifiers of rows describing products in a database table describing a clothing company's products or they might be URLs of WEB pages describing the products.
- Propagators may work on instances as well as concepts.
- a propagator may be defined for the taxonomy model type which retrieves all of the instances associated with a concept and its subclasses. It does so by first following the instance facets for the concept and retrieving all of the concept's instances. Then it follows subclass facet 107 from the concept to its subclasses, their subclasses, and so on down to concepts which have no subclasses.
- the propagator retrieves the instances associated with the concept.
- FIG. 3 when the propagator is applied to concept 115, it will retrieve the clothing instances 307 labeled a,b,c,d in collection 306.
- One agent instance is shown in collection 306: the instance for refinement agent 308.
- Refinement agent 308 is executed when a concept representing a new subclass is added to model 209.
- the concept footwear 115 has two subclasses: sandals 121 and insulated boots 123. Instances which belong to neither of those subclasses belong to footwear.
- One such instance, 307(a) is shown in FIG. 3.
- the instance represents gardening clogs.
- the user of the model is planning to sell more kinds of clogs and consequently decides to add the concept clogs as a subclass of footwear.
- instance 307(a) should become an instance of clogs rather than an instance of footwear.
- refinement agent instance 308 automatically does refinement whenever a subclass concept is added to model 209.
- refinement agent instance 308 is shown attached to clothing concept 111 and to footwear concept 115.
- Clothing concept 111 is the broadest concept in the model and is termed the root concept of the model.
- every model of type taxonomy has a root concept.
- an agent attached to a concept propagates along subclass facet 107; thus, any concept which is a subclass inherits the agent. Consequently, each concept in model 209 has its own copy of refinement agent instance 308.
- FIG. 3 only the copies for clothing 111 nd footwear 115 are shown. Since each concept has its own copy of refinement agent instance 308, execution of the agents can be done in parallel.
- refinement agent instance 308(k) When the user adds the new subclass clogs to footwear 115, that event causes refinement agent instance 308(k) to execute.
- the program follows the subclass facet to the new subclass concept clogs and examines it to determine whether any of the item instances that are related to it are also related to footwear 115.
- One such item instance, garden clogs is, and the program rearranges the instance facets 309 so that there is now an instance facet relating clogs to garden clogs, but no longer an instance facet relating footwear to garden clogs.
- an agent while user-defined, operates within the context of the environment provided by the model and takes advantages of the operations defined for the model's type.
- FIG. 4 shows at 401 how the representations of model types, models, concepts, and instances are structured in a preferred embodiment.
- each model definition 413 refers to a model type definition for its model type and to a set of node structures. Some of the node structures represent concepts belonging to the model and others represent instances of the concepts.
- Each concept node 425 refers to its model and each instance node 437 refers to the concepts the node is instances of.
- a model type definition may thus be located from any model definition of its type, a model definition may be located from any of its concepts, and a concept may be located from any of its instances.
- model type definition 403 includes the model type's name 405, a description 407 of the model type, a facet specifier list 409 that specifies the kinds of facets that models of the type have, and a propagator list 411 that specifies the propagators for models of the type.
- Model definition 413 includes the model's name and description at 415 and 417, a list 419 of the concept and instance nodes in the model, a facet list 421 showing how the model's nodes are related by each facet of the model, and a model type name 423, which refers back to the model type definition 403 for the model.
- Concept node 425 includes the concept's name and description at 427 and 429, a property list 431, which is a list of user-defined properties of the concept, and attribute list 433, which is a list of attributes for the concept. Each attribute specifies the name of a facet to which the concept node belongs and the name of the node which is the next neighbor of the concept node in the facet.
- model facets which specify facets whose vertices are made up only of concepts of the model
- instance facets which specify facets connecting concepts and instances. What kinds of model facets a model has is determined by its model type; in a preferred embodiment, there are three kinds of instance facets that run from the concept to an instance:
- Exhibitor facets are used to deal with concepts like color.
- a blue clog for example, exhibits the property of being blue and would therefore be connected to a concept representing the color blue by an exhibitor facet.
- Owning model 435 finally, refers to model definition 413 for the model the concept belongs to.
- Instance node 439 finally, has an instance name 439, an instance description 441, and a property list 443 for the instance. Included in property list 443 is referent 445, which specifies how to locate the object represented by instance node 439. What the referent is depends on what kind of object the instance node represents. For example, if the instance node represents a Web page, the referent will be the page's URL; if it represents an agent, it may be a pathname for the agent's code; if it represents another model, the referent will be the model's name.
- Attribute list 447 specifies the instance facets that run from the instance to the concepts it belongs to.
- each of the instance facets There is one such facet corresponding to each of the instance facets running from the concept to the instance. Each of these facets is termed the dual of the corresponding facet.
- the item of facet is the dual of the item facet; exhibitor of is the dual of the exhibitor facet; and action of is the dual of the action facet.
- concept node 425 for that concept has model attributes for the subclass facet for concepts 121 and 123 and for the is a facet for itself and for concept 111, an item instance attribute for clothing instance 307(a), and an action instance attribute for refinement agent instance 308(k).
- Instance node 437 for clothing instance 307(a) has an item of instance attribute for concept 115 and the instance node for refinement agent instance 308(k) has an action of attribute for concept 115.
- the structures that make up the components of a model are all linked by name, and hash functions and hash tables are used to relate names in the structures to the locations of the structures in memory. For example, to find a concept instance, the preferred embodiment takes the name and presents it to a hash function, which hashes the name to obtain an index of an entry in a hash table and uses the index to find the entry for the name in the hash table; that entry contains a pointer to the location of the concept instance. In other embodiments, other techniques such as pointers might be used to link the components of the structures 401 that represent a model.
- FIG. 5 is an overview of a system 501 that uses models to organize information.
- the system called Ariadne, has three major components:
- server 509 maintains the data structures 401 that implement model types, models, and instances, together with views 513, which provide logical descriptions of models and their parts, but do not specify how the model will appear in a specific GUI.
- views 513 which provide logical descriptions of models and their parts, but do not specify how the model will appear in a specific GUI.
- a number of viewers 507 which present the contents of the views as required for particular graphical user interfaces (GUIs); and
- ERIS external resource interface system
- Server 509 may be implemented on any kind of computer system, and viewers 507 may be monitors, Web browsers, PC's or other systems that have either local or remote access to the computer system upon which server 509 is implemented.
- the outside systems accessed via ERIS 505 may include relational database systems, with the objects being records or queries, Web servers, with the objects being Web pages, email systems, with the objects being email messages, and systems that use XML as their interface to other systems.
- the viewers 507 and the components of ERIS 505 interact with the model types, models, agents, views, and instances by way of interfaces 511 defined using Interface Definition Language (IDL).
- IDL Interface Definition Language
- system 501 functions is the following: A user of a viewer 507(f) is interacting with clothing model 209 via a graphical user interface and wishes to see all of the instances of footwear that are currently available in collection 306 of clothing model 209. The user specifies footwear concept 115 and a "display instances" operation. This operation specification arrives via IDL 511 in server 509, and the propagator for the taxonomy model type which retrieves instances retrieves the instances that are related to concepts footwear 115, sandals 121, and insulated boots 103. Ariadne server 509 then typically makes a list of the instances represented by the objects for display in viewer 507(i).
- Ariadne server 509 provides the referents 445 for the objects represented by the selected instances to ERIS 505, which retrieves the objects referred to by the referents and returns them to Ariadne, which then makes a display using the retrieved objects and sends the display to viewer 507(i).
- ERIS 505 retrieves the objects referred to by the referents and returns them to Ariadne, which then makes a display using the retrieved objects and sends the display to viewer 507(i).
- Ariadne server 509 will provide the URL for the item's web page to ERIS 505, ERIS 505 will fetch the Web pages, and Ariadne 509 will provide them to viewer 507(i).
- Ariadne server 509 also provides views 513 which permit a user at viewer 507(i) to define, examine, and modify models. The user interfaces for doing so will be explained in detail later on.
- Fig. 6 shows details of the implementation of views 513 in a preferred embodiment. Models may have multiple views and views may have multiple presentations. The implementation supports different presentations of the same model concurrently, collaborative modeling and real time knowledge sharing, and independent yet sharable knowledge explorations.
- Calyx 601 is a CORBA server which exports via IDL specifications an abstract interface for views.
- Calyx 601 could also be any other distributed middleware server (for example, proprietary RPCs or DCE or possibly DCOM).
- a view 603 is a collection of bins 605 of information about the target source: A model or a world. Bins hold information such as the current objects being shown, whether the attributes of an object along any given facet are expanded, what facet a bin is looking at, etc.
- the typical representation 601 of a view is a structure containing (among other things) a container of bins 605.
- a viewer 607 is a active object through which the abstract information is displayed.
- Each viewer takes the abstract information maintained by Calyx in a view 601 and presents it in a manner which is consistent with the interface requirements and look and feel of a given GUI.
- a taxonomy might be represented by a graph, an outline, or simply as an indented list of text and the viewer will use whatever resources are provided by its GUI to make the representation.
- an outline might be presented by a Java Swing tree widget or an MFC tree widget.
- a view 601 may be shared by a number of viewers 607.
- Calyx ensures that all viewers 607 that use a given view 602 l(i) are synchronized to the most recent changes in view 602(i).
- a viewer 607(j) requests Calyx to update or otherwise change part of the view (say, expand a node in a bin)
- Calyx performs this operation for viewer 607(i) and then asynchronously sends the update information to all other viewers actively using the view in question.
- These requests by Calyx to such viewers are client requests to server portions in those viewers.
- Calyx is a client and the viewers must implement a server interface for these asynchronous updates.
- Calyx also supports (via the model and world infrastructure) various operations on the contents of bins. Specifically, various set operations (union, set difference, intersection, etc.) may be applied to arbitrary sets of bins. Additional operations may be defined by the user. The effect of the set operations is to apply the operation on the sets of information represented in the bin to produce a new bin (called a composition bin) with the computed resulting information. This is then propagated to all connected viewers. Further, bins may be combined in this way to create constraint networks of composition bins. If any bin in the network is changed (manually or via automated updates) the effect is propagated throughout the entire affected subnetwork in which the bin is connected. These propagated results are sent to all viewers via the asynchronous operations described above.
- FIGs. 3-6 An important characteristic of Ariadne is the manner in which complexity is reduced and flexibility increased by separating various levels of information from each other.
- One of these is the separation of model types from models, as seen in the separation of model type definition 403 from model definition 413 in FIG. 4.
- Another is the separation of models from instances, as seen in FIGs. 3 and 4; this permits multiple models to be built independently of each other and yet work over the same world. It also permits models to be reused in different worlds.
- Yet another is the separation of an instance from the object that it represents, so that the instance serves as a proxy for the object, as seen in with regard to referent property 445 in FIG.
- agents run in the context of models, but they are defined in terms of model types, not the individual models. For example, the refine agent will work with any model that has the taxonomy type.
- views 601 are separated from models and worlds and viewers 607 are separated from views 601.
- model types are greatly simplify the construction and modification of models. They do so because the part of Ariadne which constructs models can use the information in the model type to automatically place concepts in the proper facets and in the proper locations in those facets and to propagate information provided by the user to the concepts that require it.
- One example of such propagation is the propagation of the refinement agent from the root of a model of the taxonomy type via the subclass facet to all of the concepts in the model.
- FIG. 7 shows the dialog box 701 used in a preferred embodiment to create a new model.
- the user has selected simple taxonomy, indicating that the new model is to have the simple taxonomy model type; in the name box, the user has input "usrClothing", indicating that that is to be the name of the new model; at 709, the user may input the description.
- the result of these inputs is of course the construction of a model definition 413 for the new model, with model name 415 being "usr: Clothing" and model type name 423 being "Simple Taxonomy".
- List 705 gives an example of what can be done with models.
- models themselves are instances in a model whose concepts are model types; one can thus simply select an already-made model from that model.
- instance node 437 for an instance representing a model referent 445 simply specifies the location of the model's model definition 413.
- the action model similarly treats agents as instances of a model whose concepts are the model types the agents are written for.
- FIG. 8 shows the dialog box 801 used to add a root concept to the subclasses facet of the new model "Clothing".
- 803 would normally appear the concepts that are presently in the model; the field is empty, as the model as yet has no concepts.
- the user writes the name of the root concept, and as before, the user may also add a description.
- the result of these inputs is the creation of a concept node 425 with the name "Clothing" in field 427 and the model name "usr: Clothing” in field 435.
- FIG. 9 shows the dialog box 901 used to add subclasses to an existing taxonomy model.
- the model already has as subclasses of the root concept clothing the concepts accessories, apparel, swimwear, and footwear, and further subclasses are being added to the apparel subclass.
- the name apparel of the concept to which subclasses is being added appears;
- names of already existing concepts appear; since only the first level of concepts have as yet been defined, the names are those of concepts at the same level as apparel; at 905, finally, is a field for adding a newly-made concept.
- a user may add a subclass either by selecting from among concepts listed in 904 or by using field 905 to add a newly-made subclass.
- Ariadne creates a concept node 425 with the name of the concept at 427 and the name of the model at 435; for each concept being added as a subclass, Ariadne adds attributes in attribute list 433 for the is a facet specifying the new concept node itself and the concept node for the apparel concept.
- Ariadne further creates an attribute in attribute list 433 in the concept node for the apparel concept for the subclass facet which specifies the new concept node.
- FIG. 10 shows dialog box 1001 used to relate instances to a concept.
- Dialog box 1001 has the same form as dialog box 901, with area 903 containing the name of the concept to which the instances are being related, area 905 containing the names of instances that are available to be added to the concept, and field 1007, which can be used to add a newly-made instance.
- an instance node 437 is created for the instance, with the instance's name at 439 and any description provided by the user at 441.
- an attribute for the item of facet that indicates the concept sweaters is added to the instance node's attribute list 447, and one for the item facet that indicates the instance is added to the concept node's attribute list 433.
- Similar dialog boxes are used to add agents and items that are exhibitors, with corresponding modifications in the attribute lists of the concept and instance nodes.
- Ariadne also has a copying interface that can be used to select instances belonging to a concept in one model to become instances of a concept in another.
- the attribute lists 433 off the instance nodes for the copied instances are modified to add attributes for the instance of facet specifying the concept, and the other concept's attribute list 433 is modified to include attributes for the instance facet for the newly added instances.
- FIG. 11 shows how referent fields 445 are set in instance nodes 437.
- Window 111 has three subwindows: two show models that apply to the clothing world: "clothing categories" and "fabrics". Both models belong to the taxonomy type, and thus both can be displayed as outlines, as shown at 1103.
- the user wishes to add referents, in this case the URLs of Web pages that show the items represented by the instances, to the instances that belong to the concept "apparel".
- referents in this case the URLs of Web pages that show the items represented by the instances, to the instances that belong to the concept "apparel".
- facets that is all of the instances which have an is a relationship to "apparel”, that is, the instances that are related to "apparel” and all of its subclasses.
- FIG. 12 shows how Ariadne displays a model.
- Model 1201 is a taxonomy of the events handled by Ariadne.
- the boxes are the model's concepts and the arcs 1203 are the arcs of one of the facets, in this case, the is a facet.
- Selection of facets to be viewed is controlled by check box 1205; as seen there, model 1201 is to be displayed showing its concepts and its is a facets. More than one facet may be selected, in which case, the arcs for each selected facet are displayed simultaneously.
- CFU conceptual factoring and unification
- the CFU transform operates on an input model or set of models with highly repetitive or redundant substructure; these repetitive regions are rooted at concepts which are identified by the user in initiating the transform.
- the transform pulls the common subtrees of models into separate ⁇ ctore-i models.
- One model represents a kind of normalized template for common parts of the subtrees; the other model (the variability model or V) represents the axes of variability covered by the substructures as a set.
- factoring and unification suggest the dual nature of the transform. On the one hand, it requires splitting or factoring original input model(s) into components representing common and variant aspects of the collections respectively. On the other hand, in particular to create the composite model, it requires comparison and synthesis (or unification) of similar model structures. Furthermore, since models to which the CFU transform may be profitably applied typically categorize analogous but non-overlapping sets of data, the result of the transform is a set of models that provide the ability to treat disparate collections in a unified way.
- the CFU transform is implemented as a procedure which begins with user establishment of the roots of the composite and variability models, continues with user selection of portions of input models which may be unified in the composite model, then employs algorithmic determination of whether concepts are candidates for unification in the composite model, and thereupon uses interactive user verification and/or modification of the results of the algorithmic selection of candidates for unification to allocate concepts to the composite and/or the variability models.
- An example CFU transformation FIG. 13
- FIG. 13 shows a simple CFU transformation 1301.
- the starting point is model 1302, which represents the e-catalog of a clothing merchant.
- models which are the starting points of CFU transformations will be termed source models.
- the concepts in model 1302 represent categories of clothing.
- Model 1302 has the taxonomy model type, with clothing as the highest class in the hierarchy of concepts.
- the Women ' s subtree is labeled 1303 and the Men ' s subtree is labeled 1305.
- the categories in the subtrees are closely related and often identical.
- Outerwear category 1304 in Women ' s subtree 1303 has the subcategories Raingear, Vests, Parkas, and Jackets, as does Outerwear category 1306 in Men ' s subtree 1305.
- C model 1309 is a Clothing taxonomy model that does not have the Women ' s and Men's subtrees of the original model 1302, but does have one of every other subcategory of the original model 1302.
- C model 1309 includes all of the subcategories.
- Apparel subtree 1313 in Women ' s subtree 1303 and Apparel subtree 1315 in Me ' s subtree 1305 are identical except that the Women ' s Apparel subtree 1313 has an additional subcategory, namely Skirts and Dresses .
- Apparel subtree 1317 in C model 1309 includes Skirts and Dresses as well as the other subcategories of Apparel subtrees 1313 and 1315.
- the fact that there are different kinds of clothing for men and women in most of the categories in C model 1309 is captured by V model 1311.
- V model 1311 is a taxonomy model that has a topmost category Gender and two subcategories: Men ' s and Women ' s .
- C model 1309 includes specific clothing categories like Shoes and Gloves
- V model 1311 has concepts for the primary differentiator in the inventory, in this case, the categories Me ' s and Women ' s .
- Not shown in factored and unified model 1307 are facets that connect the instances that represent the actual items of clothing that belong to each category to the C and V models. Each instance is connected by an item facet to the proper category in C model 1309 and by another item facet to the proper category in V model 1311. Consequently, an instance for a pair of men's shorts has one item facet to the category shorts in Apparel 1317 of C model 1309 and another item facet to the category Men ' s in V model 1311.
- Men ' s/Shoes of model 1302 appears nowhere in C model 1309 and V model 1311, but we can still obtain the original sets of instances that were associated with this concept by making queries that use concepts selected from both the C model and the V model. For example, to obtain the instances associated with Men ' s/Shoes in model 1309, one selects instances that belong to the intersection of the set of instances belonging to Shoes in C model 1309 and the set of instances belonging to Men ' s in V model 1311. This intersection is of course the set of men's shoes. Not only can we make any query that was possible in model 1302, we can also make simple queries on concepts in the C and V models that return result sets not directly obtainable in the original model.
- the instances obtained from Shoes include a mix of instances that was obtainable from model 1302 only by querying the Men ' s and Women ' s sub-trees separately. This ability to access two originally separate collections of content via a single model is one powerful benefit of the CFU technique.
- the CFU technique can also be used in unifying independently developed taxonomies; although in these cases differences between the taxonomies are likely to be noisier and more arbitrary.
- a single reseller's or comparison shopping guide's index to two different clothing manufacturers, M.M. Legume and SkyFront.
- M.M. Legume and SkyFront Suppose we are looking at the men's clothes sections of both catalogues. We find "Men's Shirts" and “Shirts for Men” — are these the same concept? In one sense, they are not, because different instances belong to each concept. In another sense, they are because the two concepts are analogous. As seen from the example of FIG. 13, what CFU is concerned with is analogous concepts.
- CFU employs both automatic processing of concepts and human input to determine whether sets of concepts that appear after the automatic processing to be analogous and therefore candidates for unification really can be unified and also to determine whether sets of concepts that do not appear to be analogous nevertheless can be unified.
- CFU Concept of Operations FIGs. 14 and 15
- Each Ariadne model is associated with some set of instances in a collection called the world. Included in the instances associated with the model are item instances representing items that are related to the concepts in the model.
- the set of item instances associated with a concept by means of a particular type of facet are called the concept's extent with regard to that facet; the extent of a model for a particular facet type is the union of the extent for the particular facet type of all concepts in that model.
- An extensional interpretation of a model's semantics interprets the model in terms of the item instances classified under its concepts.
- An intensional interpretation of the model's semantics interprets the model in terms of the relationships between the concepts that are defined by the model's facets and/or agents.
- a concept may also be interpreted intensionally or extensionally. For example, if two concepts in the same model are linked to the same set of instances, the concepts are extensionally equivalent. If two concepts have similar facets connecting them to the same or similar other concepts and are associated with the same agents, the two concepts may be extensionally analogous.
- C model 1309 and V model 1311 form a model constellation in which C model 1309 is the concept model and V model 1311 is a feature model.
- a concept model and a feature model may be related by feature facets that connect concepts of the concept model to concepts of a feature model associated with the concept model in the model constellation.
- a feature facet is any facet created during the execution of the CFU transform which connects concepts in the C model to concepts in the V model, such that something of the intended semantics of the transform is enforced on subsequent changes to the models, either through the basic in-built semantics of the model type(s) chosen for models C and V, or via additional "semantics enforcing" agents which are written and attached (directly or via inheritance from root or other upper concepts) to those models.
- a feature facet could be introduced to either express (via indications provided to a human interacting with the system at a later time) or enforce the fact that any instance classified as belonging to a particular concept in the C model must also be classified to a particular concept in the V model.
- the user is an internal catalog designer for the online sales website of a clothing merchandiser.
- the clothing merchandiser's catalog has been converted into a single Ariadne model of the taxonomy type.
- the taxonomy model has considerable internal redundancy and a large number of products have been classified according to the model.
- An analyst looks at the model and decided that factoring is a good strategy.
- the model has a large number of instances associated with the various concepts, but no agents or constraints yet defined on the concepts beyond those that are part of the taxonomy type definition.
- What is desired as an output is a constellation of models that permit indexing of instances in a way that is consistent with a well-formed Ariadne model architecture.
- the constellation of models should capture common concepts more clearly than the original taxonomy model, should lose no information from the original taxonomy model, and should permit more ways of accessing the instances than were possible with the original taxonomy model.
- This general operation or transform 1401 is depicted in its simplest form in the schematic shown in FIG. 14.
- the source model is T 1403.
- T 1403 is a single legacy taxonomy that has a root r 1405 and two highly-similar subtrees I* 1411, which is under concept a 1407, and I 2 , which is under concept b 1409.
- the result after application of the CFU transform is composite model C 1415 and model T' 1417.
- Composite model C 1415 contains a synthesized composite Ii # I 2 of subtrees 1411 and 1413 that has been factored out from model T 1403 and model T' 1417 is a copy of the original model T 1403 that contains the concepts of T 1403 which could not be factored out.
- remainder models models like T' 1403 will be termed remainder models.
- the user of the CFU techniques decides what is to be done with the concepts of the remainder model: whether they are to be added to the concepts in composite model C 1415, incorporated into a variability model like V model 1311, or simply discarded from the model constellation that results from application of the CFU techniques to T 1403.
- An important aspect of the CFU technique is that it is functional, that is, application of the technique to source model T 1403 does not change source model T 1403.
- FIG. 15 CFU that produces a constellation of models including a variability model: FIG. 15
- Transform 1501 shows how the CFU technique may be used to transform a single taxonomy model T 1503 into a constellation 1514 of taxonomy models including a composite model C 1515, model T' 1517, and a variability model V 1519.
- Transform 1301 of FIG. 13 is thus an example of transform 1501.
- composite model C 1515 is a taxonomy model that combines the concepts of subtree 1-1 1511 and subtree 1-2 1513.
- Variability model V 1519 contains the concepts b 1507 and f 1509 that are the roots of subtree 1-1 1511 and subtree 1-2 1513. These concepts indicate why subtrees 1511 and 1513 are not a single subtree in model T 1503.
- Model T ' 1517 is the remainder model that contains the concepts of model T 1503 that remain after the removal of subtrees 1-1 1511, 1-2 1513, and their roots b 1507 and f 1509.
- Transform 1523 shows how the CFU technique may be used to transform more than one source taxonomy model (here, models T-l 1525(1) and T-2 1525(2) into a constellation 1544 of taxonomy models including composite model C 1545, variability model V 1549, and two remainder models 1548.
- the subtrees 1- 1 1533 and 1-2 1543 whose concepts are combined in composite model 1545 now come from different source taxonomy models; similarly, the concepts in variability model V 1549 also come from different source taxonomy models.
- the C and V models of constellations 1514 and 1544 may be related in different ways.
- the simplest way in which they may be related is through the instances that belong to the concepts that are combined in the composite model.
- Each instance will at least have item and/or exhibitor facets that connect the instance not only to a concept in the composite model, but also to a concept in the variability model. If the C and V models are also related to each other as concept models (C) and feature models (V), there will be feature facets connecting concepts in the C models to concepts in the V models.
- C concept models
- V feature models
- CFU may be applied to more than two input subtrees; and that in other embodiments these subtrees may come from either subtrees of one input taxonomy model or from multiple input models in various combinations.
- the benefits of working with the "factored" model constellation increase with the number of input models/subtrees to which the 'transform is applied; since there will always be only two primary models, the C and V models, resulting as output.
- CFU may be applied to models having other than the taxonomy model type. Among these other cases are the following:
- the minimum requirement for application of the CFU transform to a set of source models is a facet type defined for the model type of each source model which allows a hierarchical walk through relevant concepts of the analogous models.
- the model to which the transform is applied need not have instances.
- the relationships between the structures of the C model and the structures of the V model will depend on the types of those models, as will the rules for determining whether one structure is analogous to another.
- the default behavior of the CFU transform is not to transform source models directly into a constellation of composite, variability, and remainder models, but to end up with both unchanged source models and the constellation resulting from the transformation.
- facets may need to be created in the source models during the transformation links, either to keep track of state and positional information during the transformation, to make backward traceability of a transformation possible, or where the transformation has been performed iteratively, first on the source models and then on the remainder models resulting from each iteration of the transformation.
- C The composite model drawn from comparison and unification of Ij through I m . Most concepts within C will be associated with one or more analogous concepts from some of I* through I m and will have attached all instances associated with those concepts.
- V The variability model, which represents the differences in the input subtrees. V contains, at minimum, one concept for each of the m input subtrees I* through I m . This could be implemented by leaving leaf concepts in Tj' (the transformed versions of the original model(s) Ti through T n as described below). However, a unified new model will be more useful in the case of multiple models as inputs, since otherwise roots of the subtrees would not appear in a single model.
- a primary purpose of factoring out V is to ease re-organization of single taxonomies from factored models as an output (e.g., fold taxonomy to break out Clothing prior to men ' s, women's etc.).
- the CFU transform may be done in any system which provides an environment for manipulating graphs as required for the transform. Techniques for doing the CFU transform in such systems are termed herein CFU procedures. At the very highest level, all CFU procedures involve the phases described below.
- FIG. 17 shows a high-level flowchart 1701 for a CFU procedure. Processing steps in the flowchart are related to the phases by the reference numbers in the flowchart. The flowchart will be explained in more detail below.
- the system establishes correlations between concepts in the current comparison set that may be analogous.
- the correlations can be established using a variety of different techniques. In a sense, the result of the correlation represents the system's best theory of analogies between concepts of the current comparison set
- the system next solicits user input to confirm or modify the results of the correlation. In some instances this involves eliciting new semantic information about the concepts from the user (flowchart 1723).
- Allocation Once the user has interpreted the correlations for a current comparison set are available, the system can allocate the concepts of the comparison set to the C, V, or ' models of the output constellation. While doing this, the system can also set up the facets require for the proper interrelationship of the models of the output constellation to each other and to the instances belonging to the models of the output constellation (flowchart 1725). The foregoing phases take place in the context provided by the input subtrees whose concepts are being analyzed and by the C and V models being produced by the factoring process.
- the phases of making a comparison set, establishing correlations, soliciting user input, and allocating the concepts of the comparison happen at every level of the input subtrees.
- a recursive procedure fact or -model traverses the input subtrees in a depth-first fashion.
- correlations are established for all of the sibling concepts of the level before descending to the next level.
- the concepts Outerwear, Footwear, Accessories, Swimwear, and Apparel of tree 1303 are correlated with the concepts from the same level of tree 1305.
- the concepts belonging to Outerwear in both trees are correlated, then the concepts that are the children of Footwear in both trees, and so on, until the child concepts belonging to all of the first-level concepts have been correlated.
- block 1705 performs initialization; the user selects the source graphs and the input subtrees from those graphs and also establishes the roots for the C and V models.
- Block 1707 sets up the first recursion of the procedure f ctor-model. The procedure is invoked at 1709 with the root of C and the root of each of the subtrees, or in FIG. 1301, the concepts Women ' s and Men ' s. The CFU procedure terminates when f ctor-model returns from its recursions.
- factor-model is shown in detail at 1712. As shown at 1713, factor-model is invoked for the next level of the tree with two arguments: ⁇ current root in C> and ⁇ current concepts of focus>.
- ⁇ current root in C> is a concept which was added to C at the current level . This concept will be the root for the child nodes that will be added to C at the next level.
- ⁇ current root in C> is the root of C, which the user has given the name Clothing.
- ⁇ current concepts of focus> are concepts in the current level of the input subtrees which have been validated by the user as analogous to the concept in C that is the ⁇ current root in C>.
- the ⁇ current concepts of focus> are Men ' s and Women ' s .
- factor-model first tests whether the ⁇ current concepts of focus> have any child concepts. If they do not, they are leaf concepts, the bottom of a part of the input trees has been reached, and the recursion returns (1715,1717). If the current concepts of focus do have children, the children all become members of a comparison set (1719). The members of the comparison set are then correlated to find analogous concepts (1721).
- One technique for correlation is matching concept names; when this technique is applied to the first level of trees 1303 and 1305, the concept names of the subtrees match exactly. The user then verifies that the concepts with matching names are in fact analogous, and refines the correlation if necessary (1723).
- factor- mo del uses the correlation to allocate the concepts at the level it is working on.
- model 1302 the concepts Outerwear, Footwear, Accessories, Swimwear, and Apparel are allocated to the second level of C model 1309.
- factor-model must be invoked for each of the new concepts that has been added to C at this level. This iterative invocation is shown in loop 1731.
- f ctor-model returns. For the selected new concept in C (1729), the selected new concept becomes ⁇ current root of C> and the concepts in the input trees which are analogous to the new concept in C that is now ⁇ current root of C> become the ⁇ current concepts of focus> (1735).
- factor-model will correlate the concepts in input tree 1303 that are dependent from the concept Accessories with the concepts in input tree 1305 that are dependent from the concept Accessories and with the assistance of the user, validate the correlations and allocate the concepts to C, V, and T.
- the concepts that are the children of each of the other concepts in the first levels of the input models 1303 and 1305 will be correlated, validated, and allocated in the same fashion.
- FIG. 16 As indicated in the foregoing discussion and in FIG. 17, once the system has found the best overall set of matches of concepts in the current comparison set, the user must review what the system has found.
- the system presents the user with its best overall set of matches and sets of anomalous concepts, that is, concepts for which no matches resulted from the present recursion and earlier recursions.
- the user may validate a match found by the system, may override a match found by the system, and may make matches other than those specified by the system, including matches between concepts belonging to the current comparison set, matches between concepts in that set and anomalous concepts, and matches between anomalous concepts.
- FIG. 16 shows a graphical user interface 1601 for user validation and refinement Control of the interface is by selection of elements and manipulation of buttons.
- 1611 there is a list of pairs of candidate matched concepts. One member of each pair is from the current comparison set of concepts; the other member is from the commonality model C . If the user finds that a pair is not a proper match, the user selects the pair in list 1611 and clicks on split match button 1617. At that point, the system adds the concept from the current comparison set to the list
- a reporting window 1605 indicates the rationale for each pairing in list 1611.
- the rationale for the pairing appears in window 1605.
- Rationales in a preferred embodiment include specification of the match by the user, a match based the values of a property of the two concepts, or a match based on similarities in the facet structures of the concepts.
- the user is also provided with the context of each member of a selected matched pair in the model to which it belongs.
- the context for I appears in window 1603 and the context for C appears in window 1621.
- the context in the window is fisheyed, that is, when a pair of concepts is selected in list 1611, the views in windows 1603 and 1621 change to show the concept from the selected pair, its siblings, its parent and ancestors to the root of Ii, and perhaps its children.
- the concept of focus is highlighted.
- Windows 1603 and 1621 respond in the same fashion when an anomalous concept is selected from list 1607 or 1608.
- Instances windows 1615 and 1619 indicate the instances that have item facets connecting them to the concepts selected in list of pairs 1611, list of anomalous concepts 1607, or list of anomalous concepts 1608.
- C Level Search 1623 is a window which allows the user to explore dynamically elsewhere within the C model in order to find possible matches for anomalous concepts. Not shown in FIG. 16 is a window which permits the user to assign a name by which the concept which is represented by a matched pair will be known in model C . Naming rules for matched pairs may follow heuristics such as these:
- the user has the option of converting the unused concept name(s) in /,* and/or C to Synonym properties associated with the concept in C.
- the correlation phase of the CFU procedure selects candidate pairs of matching concepts. There are a number of different techniques that can be used to determine whether one concept matches another.
- the CFU procedure can employ any and all of these techniques. The techniques include the following:
- Textual or syntactic analysis Perhaps the most basic way of making correlations is by similarities in names. For much example metadata that we have examined there are often exact matches in names. In other cases differences are minor, involving word-stemming or case distinctions. (Matching techniques from search technologies could be applied here, although this is pairwise comparison rather than matching on one privileged search string.) We can consider these textual or syntactic techniques to be concept-to-concept matching techniques.
- Matching Rule Checklists One possible approach to concept-to- concept textual matching is to use a checklist of primitive matching rules. Each rule takes as input two concept names, drawn from two of the subtrees to be matched. Each rule applies a specific technique for determining whether or how well the concept names match. Results could be expressed as a Boolean or as a metric.
- Some method for selecting the maximum confidence matching rule for a given pair must be specified.
- the behavior of the overall transform can be conditioned to a great extent by allowing a fall-through semantics for these checklists of various rules. With these semantics, once a rule is found that applies to a pair of concept names, it can be assumed to offer the strongest evidence for correlation and no further rules need to be checked. When rules return metrics rather than Boolean results, the fall-through condition could be triggered by some minimum threshold. Alternatively, sets of rules could be tested, the resulting metrics either combined in some way or the maximal value taken. There may also be advantages to separating rules into sub-lists that trigger different behavior in terms of the interaction with the user. Some typical categories of this kind might include the following:
- This matching rule assumes that while ordering of siblings may be arguably of semantic import in the input hierarchies themselves, ordering of sub-terms within a clustered concept name can be ignored during the match.
- Adaptive Weighting of Matching Rules Finding consistent patterns of differentiation across models or subtrees might allow particular matching rules to be applied with more confidence. For example, one modeler may have used plural names, another singular names, so a plural/single unifier rule might be exercised repeatedly in setting up correlations between those two models. An implementation can exploit this by dynamically adjusting the weighting and/or ordering of rules to be applied, based on initial weighting and number of times the rule was applied to an accepted match within the current subtrees.
- Hierarchical structure Because the matching of concepts occurs within the context provided by the models, the structural and positional information that the model provides about a concept can be bought to bear in deciding whether two concepts match. For example, when potentially matching concepts appear as members of sets of siblings within structurally analogous hierarchies, corresponding siblings probably represent matching concepts. Thus, if we had Man, Women, Child as one set of siblings and Man, Women, Kid as another, we have some evidence for correlating Child and Kid that derives solely from the structure and positions of the concepts in the tree. A variety of structural factors can be used in weighing the degree of confidence of a match in the context of two sibling sets : • The relative confidence level of the syntactic comparison function (e.g., perfect string match vs. substring match)
- Metrics for individual pairwise comparison can be defined independently of the positional adjustment matrix weighting scheme; the latter can be independent in turn from the linear programming or other rules which help select the optimal overall set of pairwise associations (with left-over anomalous concepts) for respective sets of siblings.
- FIGs. 18-21, 24 A prototype CFU procedure has been implemented and used on a number of real Ariadne models. The prototype includes an algorithm for matching sets of concepts to one another, and for asking the users for guidance when this match is not sufficient to complete the factoring. It has been used successfully to factor models as follows:
- FIG. 18 shows an overview of a prototype CFU system 1801 that is implemented in Ariadne system 1803.
- Prototype 1801 is being used in FIG. 18 to factor Clothing model 2402 of FIG. 24 into a constellation 2403 consisting of C model 2405 and V model 2407.
- the instances 1810 for the Clothing, V, and C models are contained in world 1809 and are related to the models by item facets 1815.
- Clothing model 2402 is the T model, with the subtree of the concept Women ' s 2409 and the subtree of the concept Men ' s 2411 being employed as input subtrees 1 / and 7 2 respectively.
- models 2401, 2505, and 2407 are models of the Taxonomy type, and are thus associated with taxonomy model type 1805, as indicated by the dashed arrows. Also associated with taxonomy model type 1805 is factor nodels agent 1807, which performs the CFU transform on input models of the taxonomy type. While doing the transform, agent 1807 maintains a matched pairs list 1811 and an anomaly list 1813. Agent 1807 uses these lists to produce a graphical user interface for receiving user input concerning concept matches.
- the GUI is a simplified version of the GUI of FIG. 16 and will be shown in more detail below.
- factorjnodels agent 1807 Details of factorjnodels agent 1807: FIG. 19 factorjnodels is an Ariadne invocation agent; this means that it is invoked through the Ariadne invocation sequence.
- the invocation sequence is the following:
- the agent prompts the user for the names of the models that will be C and V; the name of C is prompted with the query, "what do these things have in common?" while the name of V is prompted with the query "How do these things differ?"
- f actor_models only supports a single input model T, but it may be used to unify and factor any number of subtrees in T.
- FIG. 19 is a flowchart of f actorjnodels . The algorithm is described in detail in the following.
- factor-models is attached to a model of taxonomy type and is invoked with a set N of the concepts that are the roots of the input subtrees I] through I m (1903 in flowchart 1901.
- FIG. 20 is a detailed flowchart of f actor-models- fn procedure 2001. The algorithm for the function follows. The procedure is invoked with a current root concept cr in C and the set N of concepts whose subtrees are being unified (2003):
- factor- o dels -fn is invoked for the next level of recursion at 2013; there is an invocation for each new concept cr added to C in 2011; in each invocation, N is the concepts in the subtrees that were correlated to cr in P.
- the matching algorithm used in f actor-models - fn is based on a simple similarity metric between strings.
- the algorithm is implemented in f actor-models-f as follows: 1) For the current d e S, find the c e C that maximizes dist(d,c) . Find also the "runner up", that is the d' e S , d' ⁇ d that maximizes dist(d',c) for the remainder of C.
- FIGS. 21-24 An example of the operation of factorjnodels : FIGS. 21-24
- Clothing model 2401 of FIG. 24 as the source model.
- the user selects Women ' s and Men ' s as the leaf concepts in V .
- the subtrees of concepts whose roots are Wome ' s and Men ' s are consequently I- and I 2 respectively.
- the concepts in I* and I 2 will be examined for matches beginning with the children of Women ' s and Me ' s; then the children of matching concepts will be examined for matches, and so on, until all levels of I] and I 2 below the root concepts have been examined for matches.
- the child concepts of either can be chosen as the initial canonical set C; in this case, the child concepts of Men ' s are chosen to start.
- the subclasses of the initial C are then matched against the child concepts of Women ' s, which are what remains in S after the child concepts of Men ' s are removed to make the initial canonical set C.
- Window 2101 is the window in the prototype that corresponds to interface 1601 in FIG. 16.
- the prototype window includes only subwindows for displaying lists corresponding to lists 1607, 1608, and 1611.
- At 2105 are displayed any anomalous concepts from the current S ; at 2107 are displayed any anomalous concepts from the current canonical set C .
- window 2119 is displayed the current list 2113 of matching concepts P .
- P includes them all and they all appear in list 2113, while windows 2105 and 2107 are empty.
- the user can accept the matches by clicking on OK button 2115.
- the user can select a matched pair and use split button 2111 to split it; the members of the split pair will appear in windows 2105 and 2107.
- Concepts in windows 2105 and 2107 may be selected and joined as a matched pair in 2113 by using join button 2109.
- the window at 2118 shows what happens in such a case.
- the algorithm reaches Accessories ⁇ --> Accessoriesl, there is no exact match for the concepts Handbags and Perfume from Women ' s or Bags and C perfume from Men ' s.
- the matching algorithm does pick up the similarity between Bags and Handbags and lists them as a matched pair at 2125 in matched pair list 2119; it also correctly matches Perfume and C perfume, simply because they are the two that are left after the other matches are found.
- the correct matching of Bags and Handbags and Cologne and Perfume is a good example of how the effectiveness of the matching algorithm is increased by the fact that it is applied within the structure provided by the models.
- the matching algorithm can do nothing at all with Slacks and matches Skirts and Dresses with Pants on the basis of the match between the an in and the an in Pants .
- Window 2201 in FIG. 22 shows how all of this appears in the user interface.
- Subwindow 2107 now contains the unmatched candidate concept Slacks 2203 .
- Matched pair list 2205 contains the erroneously matched pair Pants ⁇ - - >Skirts and Dresses at 2207.
- Windows 2208 in FIG. 22 and 2301 in FIG. 23 show how the user can use the interface to deal with this situation.
- window 2208 the user has selected matched pair 2207 and pressed Split button 2111; as a result, pair 2207 is removed from list 2213 and Pants appears at 2209 in subwindow 2105, while Skirts and Dresses appears in addition to Slacks 2203 in subwindow 2107.
- the user of course recognizes the close semantic relationship between Pants 2209 and Slacks 2203, so the user selects these concepts and then clicks on Join button 2109. The result is shown in screen 2301.
- the new matched pair Pants ⁇ - - >Slacks 2307 has been added to list 2305 and Skirts and Dresses 2303 remains in window 2107 as an anomalous term.
- the prototype adds Skirts and Dresses 2303 to the composite model C; in other embodiments, the user may be asked whether to assign the term to the list of anomalies A, the variability model V, the composite model C, or leave it in the remainder model.
- FIG. 24 shows the resulting model constellation 2403, with composite Clothing model 2403 and variability model 2407.
- the names in model 2403 are simply the names from the canonical set. If changes are deemed necessary, they are made using the standard Ariadne name changing capabilities. In other embodiments, the user may have the option of specifying names for matched pairs.
- the algorithm shows the power of a mixed-initiative approach to factoring.
- the algorithm can walk down the trees in parallel, presenting the user with its best guess at each level as to how the matches should be made. The user can interrupt at any time to correct these matches; then the walk continues based upon these corrections.
- the algorithm can be tuned to be more intrusive (ask the user for confirmation of every match), or less obtrusive (only ask the user when there are leftover concepts, or some of the concepts match particularly poorly), as desired.
- the algorithm shows how the context provided by the model can be used to leverage the power of even a simple string match.
- This algorithm provides no support for matching more than one item from one tree to a single item from another. So for example, it could not take any appropriate action should the canonical set include a concept Hats and Gloves and the set of concepts being matched to the canonical set include the separate concepts Hats and Gloves. • This algorithm looks for matches at a single level only; hence it cannot detect or treat any changes of levels. For example, if a first tree had a concept Vests with subconcepts Insulated and Uninsulated, the algorithm would not make a sensible match between the first tree and a second tree, where the intermediate concept Vests is omitted, and two categories called Insulated Vests and Uninsulated Vests appear at the same level as Vest s in the first tree.
- the algorithm provides no option for the user to decide what name to use for a new concept in C.
- the name Cologne was used in the final output; this has to do with the order in which the algorithm encountered the names.
- the concept might receive the name Perfume might be used for this concept.
- the algorithm allow for the introduction of a new name (e.g., Fragrance) as part of the factoring process.
- the prototype does not include any capabilities for changing the level in C at which a concept is represented.
- the concept is a super-category of one (or more) concepts already in C. • The concept is a sub-category of one of the concepts already in C.
- the superset relation could correspond to two different patterns: splitting or flattening.
- a is the concept in I which "splits" to two (or more) concepts bl, b2 in C. If concept a in I has children that correlate to bl, b2, then the pattern suggests flattening. If a does not have such children, then in effect a has been "replaced" with bl, b2 in C and the pattern suggests splitting. In either case, since the basic superset relation holds between a and bl, we need to check all siblings at that level in C before doing carryover.
- subset relation could correspond to two possible patterns: merging or deepening.
- Root ( ⁇ a,bl ⁇ (a(b2),bl),); that is, b2 is moved down to be a sub-category of a even though a is added as a sub-category of the newly introduced ⁇ a,bl ⁇ category.
- a feature facet must be created that links that concept to the current parent concept in C. This needs to be created whether or not the feature facet is enforced as an intensional constraint on instances created with the new C and V models. The other essential role of this facet link has to do with continuing the CFU algorithm's walk down the various input models.
- FIG. 25 shows the desired output configurations for various types of input conditions where we can infer a subset or overlapping relationship between the incoming concept and a concept in C:
- FIGS. 27, 28, and 29 The example shown in Figure 27 illustrates an additional complicating element: multiple factorings, as this interacts with factoring flattened vs. relatively unflattened structures.
- multiple factorings as this interacts with factoring flattened vs. relatively unflattened structures.
- 2701 formal vs. casual
- boys 2703
- the same subtree repeats under categories "Formal” and "Casual" under Men's Clothes. (We assume the factoring interaction is invoked from two roots, Men's Clothes and Boys' Clothes).
- Figure 28 illustrates the exact state of the transform walk at the point where the multi-level occurrence of concept Shirts is discovered.
- the configuration raises, as usual, some subtle ontological questions.
- C 2805 now has: Shirts, Pants, Shoes, Jackets, Formal, Casual, Jackets. Recurse to next set of siblings.
- Men's Formal shirts can be allocated to the new concept without loss of semantic expressiveness. • The model can accommodate later evolution of the model introducing Boys' Formal (or Casual) Shirts. (Similarly, Men's Shirts without the qualification of Formal vs. Casual could be supported.)
- the subtrees to be factored will in some cases be literal copies that can be matched via simple textual comparison. Where this is the case an almost mechanical and largely automated procedure is sufficient to facilitate factoring. However, in most factoring transformations some but not all the concepts in one input subtree will have clear analogies in the others.
- anomalous concepts or, in this context, simply “anomalies” as a concept which, at the time that correlations are made between the input subtree and C, is deemed to have no match or subset relation in C and therefore becomes a candidate to be added as a new concept, either into C or V.
- anomaly may be the result of originally replicated models that were subject to different diverging modifications in different contexts, or models that were independently developed to describe analogous subject areas. It may also be a transient artifact of the sequencing of input trees in the CFU "walk”; so that concepts which are treated as anomalies when they first enter the model C will typically become matches later on.
- CFU provides a systematic "walkthrough” of the models, prompting users for qualitative elicitation and analysis at key points. Though overall procedure is far more streamlined and efficient than manual modification would be, there is still a key "human in the loop" component.
- Matching criteria are applied to find analogous concepts within the various subtrees. These matching criteria may try to take many factors into account (such as Ariadne decorations, possible splits, merges and level shifts, or the evidence of overlapping extents of the concepts).
- the inventors have disclosed to those skilled in the pertinent arts the best mode presently known to them of making and using systems which perform the CFU transform on input graphs. While the transform can be used with particular advantage with taxonomies that represent catalogs of items, it can be used with any graphs having facet types such that a hierarchical walk through the graph is possible.
- the inventors have disclosed a prototype implementation of their invention and have also disclosed how other embodiments may use correlation techniques different from those employed in the prototype and may deal with correlations at different levels of the graphs. While the prototype is implemented in the Ariadne system, the techniques of the invention can be used generally with graphs and do not require the use of the Ariadne system.
- the inventors have further disclosed two different user interfaces for indicating whether the nodes belonging to a tuple of nodes are in fact analogous; other embodiments may employ other user interfaces.
- the Detailed Description is to be regarded as being in all respects exemplary and not restrictive, and the breadth of the invention disclosed here in is to be determined not from the Detailed Description, but rather from the claims as interpreted with the full breadth permitted by the patent laws.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01916223A EP1272912A2 (en) | 2000-02-25 | 2001-02-23 | Conceptual factoring and unification of graphs representing semantic models |
US10/204,792 US6847979B2 (en) | 2000-02-25 | 2001-02-23 | Conceptual factoring and unification of graphs representing semantic models |
AU2001243277A AU2001243277A1 (en) | 2000-02-25 | 2001-02-23 | Conceptual factoring and unification of graphs representing semantic models |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18509600P | 2000-02-25 | 2000-02-25 | |
US60/185,096 | 2000-02-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001063382A2 true WO2001063382A2 (en) | 2001-08-30 |
WO2001063382A3 WO2001063382A3 (en) | 2002-01-10 |
Family
ID=22679568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/006038 WO2001063382A2 (en) | 2000-02-25 | 2001-02-23 | Conceptual factoring and unification of graphs representing semantic models |
Country Status (4)
Country | Link |
---|---|
US (1) | US6847979B2 (en) |
EP (1) | EP1272912A2 (en) |
AU (1) | AU2001243277A1 (en) |
WO (1) | WO2001063382A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1345130A1 (en) * | 2002-03-13 | 2003-09-17 | BRITISH TELECOMMUNICATIONS public limited company | Searching tool |
US10452739B2 (en) | 2014-10-16 | 2019-10-22 | Adp, Llc | Graph loader for a flexible graph system |
Families Citing this family (267)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US20030128214A1 (en) * | 2001-09-14 | 2003-07-10 | Honeywell International Inc. | Framework for domain-independent archetype modeling |
ITFI20010199A1 (en) | 2001-10-22 | 2003-04-22 | Riccardo Vieri | SYSTEM AND METHOD TO TRANSFORM TEXTUAL COMMUNICATIONS INTO VOICE AND SEND THEM WITH AN INTERNET CONNECTION TO ANY TELEPHONE SYSTEM |
US6922692B2 (en) * | 2001-10-26 | 2005-07-26 | International Business Machines Corporation | Directed non-cyclic graph walking system and method |
WO2004002044A2 (en) * | 2002-02-01 | 2003-12-31 | John Fairweather | A system for exchanging binary data |
US20030182196A1 (en) * | 2002-03-20 | 2003-09-25 | Jun Huang | Taxonomy based user interface for merchant comparison in electronic commerce system |
US7610563B2 (en) * | 2002-03-22 | 2009-10-27 | Fuji Xerox Co., Ltd. | System and method for controlling the display of non-uniform graphical objects |
GB0315190D0 (en) * | 2003-06-28 | 2003-08-06 | Ibm | Methods, apparatus and computer programs for visualization and management of data organisation within a data processing system |
GB0315191D0 (en) * | 2003-06-28 | 2003-08-06 | Ibm | Methods, apparatus and computer programs for visualization and management of data organisation within a data processing system |
US7975240B2 (en) * | 2004-01-16 | 2011-07-05 | Microsoft Corporation | Systems and methods for controlling a visible results set |
US8037102B2 (en) | 2004-02-09 | 2011-10-11 | Robert T. and Virginia T. Jenkins | Manipulating sets of hierarchical data |
US9646107B2 (en) * | 2004-05-28 | 2017-05-09 | Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust | Method and/or system for simplifying tree expressions such as for query reduction |
US7620632B2 (en) * | 2004-06-30 | 2009-11-17 | Skyler Technology, Inc. | Method and/or system for performing tree matching |
ATE434225T1 (en) * | 2004-07-20 | 2009-07-15 | Alcatel Lucent | A METHOD, A NETWORK DOCUMENT DESCRIPTION LANGUAGE, A NETWORK DOCUMENT TRANSITION PROTOCOL AND A COMPUTER SOFTWARE PRODUCT FOR RECOVERING NETWORK DOCUMENTS |
US20060036451A1 (en) | 2004-08-10 | 2006-02-16 | Lundberg Steven W | Patent mapping |
US7493333B2 (en) | 2004-09-03 | 2009-02-17 | Biowisdom Limited | System and method for parsing and/or exporting data from one or more multi-relational ontologies |
US7505989B2 (en) | 2004-09-03 | 2009-03-17 | Biowisdom Limited | System and method for creating customized ontologies |
US20060053171A1 (en) * | 2004-09-03 | 2006-03-09 | Biowisdom Limited | System and method for curating one or more multi-relational ontologies |
US20060053382A1 (en) * | 2004-09-03 | 2006-03-09 | Biowisdom Limited | System and method for facilitating user interaction with multi-relational ontologies |
US20060074836A1 (en) * | 2004-09-03 | 2006-04-06 | Biowisdom Limited | System and method for graphically displaying ontology data |
US20060053173A1 (en) * | 2004-09-03 | 2006-03-09 | Biowisdom Limited | System and method for support of chemical data within multi-relational ontologies |
US20060053174A1 (en) * | 2004-09-03 | 2006-03-09 | Bio Wisdom Limited | System and method for data extraction and management in multi-relational ontology creation |
US20060074833A1 (en) * | 2004-09-03 | 2006-04-06 | Biowisdom Limited | System and method for notifying users of changes in multi-relational ontologies |
US20060053175A1 (en) * | 2004-09-03 | 2006-03-09 | Biowisdom Limited | System and method for creating, editing, and utilizing one or more rules for multi-relational ontology creation and maintenance |
US7496593B2 (en) | 2004-09-03 | 2009-02-24 | Biowisdom Limited | Creating a multi-relational ontology having a predetermined structure |
US20060053172A1 (en) * | 2004-09-03 | 2006-03-09 | Biowisdom Limited | System and method for creating, editing, and using multi-relational ontologies |
US7624106B1 (en) | 2004-09-29 | 2009-11-24 | Network Appliance, Inc. | Method and apparatus for generating user-level difference information about two data sets |
CN100587673C (en) * | 2004-10-01 | 2010-02-03 | 特博数据实验室公司 | Arrangement generation method and arrangement generation program |
US7801923B2 (en) * | 2004-10-29 | 2010-09-21 | Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust | Method and/or system for tagging trees |
US7627591B2 (en) | 2004-10-29 | 2009-12-01 | Skyler Technology, Inc. | Method and/or system for manipulating tree expressions |
US7636727B2 (en) | 2004-12-06 | 2009-12-22 | Skyler Technology, Inc. | Enumeration of trees from finite number of nodes |
US7630995B2 (en) | 2004-11-30 | 2009-12-08 | Skyler Technology, Inc. | Method and/or system for transmitting and/or receiving data |
US8316059B1 (en) | 2004-12-30 | 2012-11-20 | Robert T. and Virginia T. Jenkins | Enumeration of rooted partial subtrees |
US8615530B1 (en) | 2005-01-31 | 2013-12-24 | Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust | Method and/or system for tree transformation |
US20060235870A1 (en) * | 2005-01-31 | 2006-10-19 | Musgrove Technology Enterprises, Llc | System and method for generating an interlinked taxonomy structure |
US7681177B2 (en) | 2005-02-28 | 2010-03-16 | Skyler Technology, Inc. | Method and/or system for transforming between trees and strings |
US7562077B2 (en) * | 2005-03-28 | 2009-07-14 | Netapp, Inc. | Method and apparatus for generating and describing block-level difference information about two snapshots |
US8356040B2 (en) | 2005-03-31 | 2013-01-15 | Robert T. and Virginia T. Jenkins | Method and/or system for transforming between trees and arrays |
JP2008537225A (en) * | 2005-04-11 | 2008-09-11 | テキストディガー,インコーポレイテッド | Search system and method for queries |
US7577671B2 (en) * | 2005-04-15 | 2009-08-18 | Sap Ag | Using attribute inheritance to identify crawl paths |
CN1855094A (en) * | 2005-04-28 | 2006-11-01 | 国际商业机器公司 | Method and device for processing electronic files of users |
US7899821B1 (en) | 2005-04-29 | 2011-03-01 | Karl Schiffmann | Manipulation and/or analysis of hierarchical data |
US7502810B2 (en) | 2005-05-24 | 2009-03-10 | International Business Machines Corporation | Tagging of facet elements in a facet tree |
US20110153509A1 (en) | 2005-05-27 | 2011-06-23 | Ip Development Venture | Method and apparatus for cross-referencing important ip relationships |
EP1913465A4 (en) * | 2005-07-27 | 2010-09-22 | Schwegman Lundberg & Woessner | Patent mapping |
US8677377B2 (en) * | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US7493570B2 (en) * | 2005-09-12 | 2009-02-17 | International Business Machines Corporation | User interface options of a data lineage tool |
US20070061732A1 (en) * | 2005-09-12 | 2007-03-15 | Bobbin Nathan V | User interface options of an impact analysis tool |
JP4241704B2 (en) * | 2005-09-30 | 2009-03-18 | ブラザー工業株式会社 | Information management apparatus and program |
JP4997749B2 (en) * | 2005-12-07 | 2012-08-08 | 富士ゼロックス株式会社 | Document processing method, program, and system |
US20070162486A1 (en) * | 2005-12-30 | 2007-07-12 | Thomas Brueggemann | Merge tool for structured object models |
WO2007081681A2 (en) | 2006-01-03 | 2007-07-19 | Textdigger, Inc. | Search system with query refinement and search method |
US7694239B2 (en) * | 2006-01-23 | 2010-04-06 | International Business Machines Corporation | Selection and deselection of objects at multiple levels of a hierarchy |
US8495004B2 (en) | 2006-03-27 | 2013-07-23 | International Business Machines Corporation | Determining and storing at least one results set in a global ontology database for future use by an entity that subscribes to the global ontology database |
US8862573B2 (en) * | 2006-04-04 | 2014-10-14 | Textdigger, Inc. | Search system and method with text function tagging |
US20070255730A1 (en) * | 2006-04-26 | 2007-11-01 | Robert Mack | Data requirements methodology |
US7979475B2 (en) * | 2006-04-26 | 2011-07-12 | Robert Mack | Coherent data identification method and apparatus for database table development |
US7890533B2 (en) * | 2006-05-17 | 2011-02-15 | Noblis, Inc. | Method and system for information extraction and modeling |
US7533096B2 (en) * | 2006-07-12 | 2009-05-12 | International Business Machines Corporation | Computer-based method for finding similar objects using a taxonomy |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
WO2008055034A2 (en) | 2006-10-30 | 2008-05-08 | Noblis, Inc. | Method and system for personal information extraction and modeling with fully generalized extraction contexts |
US8584045B2 (en) * | 2007-01-19 | 2013-11-12 | Sap Ag | Systems and methods for navigating, finding, and presenting data objects |
US7552114B2 (en) * | 2007-03-07 | 2009-06-23 | International Business Machines Corporation | System, and method for interactive browsing |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US7932907B2 (en) * | 2007-05-21 | 2011-04-26 | Microsoft Corp. | Layered graph layouts with a given aspect ratio |
US9021417B2 (en) * | 2007-07-06 | 2015-04-28 | International Business Machines Corporation | Generating a subset model from a model |
US8775365B2 (en) * | 2010-03-07 | 2014-07-08 | Hamid Hatami-Hanza | Interactive and social knowledge discovery sessions |
US8126826B2 (en) | 2007-09-21 | 2012-02-28 | Noblis, Inc. | Method and system for active learning screening process with dynamic information modeling |
US9053089B2 (en) * | 2007-10-02 | 2015-06-09 | Apple Inc. | Part-of-speech tagging using latent analogy |
US20090119312A1 (en) * | 2007-11-01 | 2009-05-07 | Morgan Stanley | Taxonomy tool |
WO2009059297A1 (en) * | 2007-11-01 | 2009-05-07 | Textdigger, Inc. | Method and apparatus for automated tag generation for digital content |
US9330720B2 (en) * | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8065143B2 (en) | 2008-02-22 | 2011-11-22 | Apple Inc. | Providing text input using speech data and non-speech data |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US8464150B2 (en) | 2008-06-07 | 2013-06-11 | Apple Inc. | Automatic language identification for dynamic text processing |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8768702B2 (en) | 2008-09-05 | 2014-07-01 | Apple Inc. | Multi-tiered voice feedback in an electronic device |
US8898568B2 (en) | 2008-09-09 | 2014-11-25 | Apple Inc. | Audio user interface |
US8712776B2 (en) | 2008-09-29 | 2014-04-29 | Apple Inc. | Systems and methods for selective text to speech synthesis |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US20100131513A1 (en) | 2008-10-23 | 2010-05-27 | Lundberg Steven W | Patent mapping |
US8463808B2 (en) * | 2008-11-07 | 2013-06-11 | Raytheon Company | Expanding concept types in conceptual graphs |
US8386489B2 (en) * | 2008-11-07 | 2013-02-26 | Raytheon Company | Applying formal concept analysis to validate expanded concept types |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US9158838B2 (en) * | 2008-12-15 | 2015-10-13 | Raytheon Company | Determining query return referents for concept types in conceptual graphs |
US8577924B2 (en) * | 2008-12-15 | 2013-11-05 | Raytheon Company | Determining base attributes for terms |
US9087293B2 (en) * | 2008-12-23 | 2015-07-21 | Raytheon Company | Categorizing concept types of a conceptual graph |
US8214319B2 (en) * | 2009-01-29 | 2012-07-03 | Ontology-Partners Ltd. | Data processing in a distributed computing environment |
US8862252B2 (en) * | 2009-01-30 | 2014-10-14 | Apple Inc. | Audio user interface for displayless electronic device |
US8380507B2 (en) | 2009-03-09 | 2013-02-19 | Apple Inc. | Systems and methods for determining the language to use for speech generated by a text to speech engine |
US10540976B2 (en) | 2009-06-05 | 2020-01-21 | Apple Inc. | Contextual voice commands |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8554801B2 (en) | 2009-07-10 | 2013-10-08 | Robert Mack | Method and apparatus for converting heterogeneous databases into standardized homogeneous databases |
US20110040774A1 (en) * | 2009-08-14 | 2011-02-17 | Raytheon Company | Searching Spoken Media According to Phonemes Derived From Expanded Concepts Expressed As Text |
US20110066438A1 (en) * | 2009-09-15 | 2011-03-17 | Apple Inc. | Contextual voiceover |
US9165034B2 (en) * | 2009-10-15 | 2015-10-20 | Hewlett-Packard Development Company, L.P. | Heterogeneous data source management |
US8880537B2 (en) | 2009-10-19 | 2014-11-04 | Gil Fuchs | System and method for use of semantic understanding in storage, searching and providing of data or other content information |
US8954893B2 (en) * | 2009-11-06 | 2015-02-10 | Hewlett-Packard Development Company, L.P. | Visually representing a hierarchy of category nodes |
US8682649B2 (en) * | 2009-11-12 | 2014-03-25 | Apple Inc. | Sentiment prediction from textual data |
US8381107B2 (en) | 2010-01-13 | 2013-02-19 | Apple Inc. | Adaptive audio feedback system and method |
US8311838B2 (en) | 2010-01-13 | 2012-11-13 | Apple Inc. | Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
DE202011111062U1 (en) | 2010-01-25 | 2019-02-19 | Newvaluexchange Ltd. | Device and system for a digital conversation management platform |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8306943B2 (en) * | 2010-03-04 | 2012-11-06 | NTelx, Inc. | Seasonality-based rules for data anomaly detection |
US20130226660A1 (en) * | 2010-03-04 | 2013-08-29 | Lusine Yepremyan | Cyclicality-Based Rules for Data Anomaly Detection |
US8713021B2 (en) | 2010-07-07 | 2014-04-29 | Apple Inc. | Unsupervised document clustering using latent semantic density analysis |
US8719006B2 (en) | 2010-08-27 | 2014-05-06 | Apple Inc. | Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis |
US8719014B2 (en) | 2010-09-27 | 2014-05-06 | Apple Inc. | Electronic device with text error correction based on voice recognition data |
US8442930B2 (en) | 2010-12-02 | 2013-05-14 | Microsoft Corporation | Untangled Euler diagrams |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US10515147B2 (en) | 2010-12-22 | 2019-12-24 | Apple Inc. | Using statistical language models for contextual lookup |
US8781836B2 (en) | 2011-02-22 | 2014-07-15 | Apple Inc. | Hearing assistance system for providing consistent human speech |
US8700638B2 (en) * | 2011-03-08 | 2014-04-15 | Libera, Inc. | Computer-implemented weighted tree search to resolve variable name ambiguity |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US9904726B2 (en) | 2011-05-04 | 2018-02-27 | Black Hills IP Holdings, LLC. | Apparatus and method for automated and assisted patent claim mapping and expense planning |
US10672399B2 (en) | 2011-06-03 | 2020-06-02 | Apple Inc. | Switching between text data and audio data based on a mapping |
US8874619B2 (en) | 2011-06-03 | 2014-10-28 | Robert Mack | Method and apparatus for defining common entity relationships |
US10417263B2 (en) | 2011-06-03 | 2019-09-17 | Robert Mack | Method and apparatus for implementing a set of integrated data systems |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8812294B2 (en) | 2011-06-21 | 2014-08-19 | Apple Inc. | Translating phrases from one language into another using an order-based set of declarative rules |
US8706472B2 (en) | 2011-08-11 | 2014-04-22 | Apple Inc. | Method for disambiguating multiple readings in language conversion |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US8762156B2 (en) | 2011-09-28 | 2014-06-24 | Apple Inc. | Speech recognition repair using contextual information |
US20130085946A1 (en) | 2011-10-03 | 2013-04-04 | Steven W. Lundberg | Systems, methods and user interfaces in a patent management system |
US20130086042A1 (en) | 2011-10-03 | 2013-04-04 | Steven W. Lundberg | System and method for information disclosure statement management and prior art cross-citation control |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US8775442B2 (en) | 2012-05-15 | 2014-07-08 | Apple Inc. | Semantic search using a single-source semantic model |
US20130325847A1 (en) * | 2012-06-04 | 2013-12-05 | Microsoft Corporation | Graph-based searching |
US10019994B2 (en) | 2012-06-08 | 2018-07-10 | Apple Inc. | Systems and methods for recognizing textual identifiers within a plurality of words |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US11461862B2 (en) | 2012-08-20 | 2022-10-04 | Black Hills Ip Holdings, Llc | Analytics generation for patent portfolio management |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US8935167B2 (en) | 2012-09-25 | 2015-01-13 | Apple Inc. | Exemplar-based latent perceptual modeling for automatic speech recognition |
US9256593B2 (en) * | 2012-11-28 | 2016-02-09 | Wal-Mart Stores, Inc. | Identifying product references in user-generated content |
US10528907B2 (en) * | 2012-12-19 | 2020-01-07 | Oath Inc. | Automated categorization of products in a merchant catalog |
US10013481B2 (en) | 2013-01-02 | 2018-07-03 | Research Now Group, Inc. | Using a graph database to match entities by evaluating boolean expressions |
US9390195B2 (en) * | 2013-01-02 | 2016-07-12 | Research Now Group, Inc. | Using a graph database to match entities by evaluating boolean expressions |
US9836551B2 (en) * | 2013-01-08 | 2017-12-05 | International Business Machines Corporation | GUI for viewing and manipulating connected tag clouds |
CA2897886C (en) * | 2013-01-11 | 2021-11-09 | Primal Fusion Inc. | Methods and apparatus for identifying concepts corresponding to input information |
US9015123B1 (en) | 2013-01-16 | 2015-04-21 | Netapp, Inc. | Methods and systems for identifying changed data in an expandable storage volume |
USRE48312E1 (en) | 2013-01-21 | 2020-11-17 | Robert Mack | Method and apparatus for defining common entity relationships |
KR20240132105A (en) | 2013-02-07 | 2024-09-02 | 애플 인크. | Voice trigger for a digital assistant |
US9733821B2 (en) | 2013-03-14 | 2017-08-15 | Apple Inc. | Voice control to diagnose inadvertent activation of accessibility features |
US10642574B2 (en) | 2013-03-14 | 2020-05-05 | Apple Inc. | Device, method, and graphical user interface for outputting captions |
US10572476B2 (en) | 2013-03-14 | 2020-02-25 | Apple Inc. | Refining a search based on schedule items |
US9977779B2 (en) | 2013-03-14 | 2018-05-22 | Apple Inc. | Automatic supplementation of word correction dictionaries |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US9613070B2 (en) | 2013-03-15 | 2017-04-04 | Bmc Software, Inc. | Multi-entity normalization |
CN105190607B (en) | 2013-03-15 | 2018-11-30 | 苹果公司 | Pass through the user training of intelligent digital assistant |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
AU2014233517B2 (en) | 2013-03-15 | 2017-05-25 | Apple Inc. | Training an at least partial voice command system |
CN112230878B (en) | 2013-03-15 | 2024-09-27 | 苹果公司 | Context-dependent processing of interrupts |
US9767190B2 (en) | 2013-04-23 | 2017-09-19 | Black Hills Ip Holdings, Llc | Patent claim scope evaluator |
CN104142961B (en) * | 2013-05-10 | 2017-08-25 | 北大方正集团有限公司 | The logic processing device of composite diagram and logical process method in format document |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
KR101772152B1 (en) | 2013-06-09 | 2017-08-28 | 애플 인크. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
EP3008964B1 (en) | 2013-06-13 | 2019-09-25 | Apple Inc. | System and method for emergency calls initiated by voice command |
US9342622B2 (en) * | 2013-06-27 | 2016-05-17 | Google Inc. | Two-phase construction of data graphs from disparate inputs |
DE112014003653B4 (en) | 2013-08-06 | 2024-04-18 | Apple Inc. | Automatically activate intelligent responses based on activities from remote devices |
US9411905B1 (en) * | 2013-09-26 | 2016-08-09 | Groupon, Inc. | Multi-term query subsumption for document classification |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US9754035B2 (en) * | 2014-02-07 | 2017-09-05 | Excalibur LP, LCC | Recursive unique user metrics in real time |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
CN110797019B (en) | 2014-05-30 | 2023-08-29 | 苹果公司 | Multi-command single speech input method |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
KR101674924B1 (en) * | 2014-09-26 | 2016-11-22 | 삼성에스디에스 주식회사 | Method and apparatus for database migration |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9785678B1 (en) * | 2014-12-01 | 2017-10-10 | Amazon Technologies, Inc. | Determining taxonomy nodes for browsing |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
EP3040891A1 (en) * | 2014-12-31 | 2016-07-06 | Thomson Licensing | Method for providing information to determine a graph associated with a data item |
US9996602B2 (en) * | 2015-01-12 | 2018-06-12 | International Business Machines Corporation | Generating a virtual dynamic representative of a taxonomic group with unique inheritance of attributes |
US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US11416216B2 (en) * | 2015-05-22 | 2022-08-16 | Micro Focus Llc | Semantic consolidation of data |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
KR101714410B1 (en) * | 2015-06-18 | 2017-03-09 | 아주대학교산학협력단 | Variability modeling method for role based architecture in ontology based self-adaptive system |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | Intelligent automated assistant in a home environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US11250958B2 (en) * | 2016-10-21 | 2022-02-15 | International Business Machines Corporation | Systems and techniques for recommending personalized health care based on demographics |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
KR101982308B1 (en) * | 2017-04-25 | 2019-08-28 | 고려대학교 산학협력단 | Apparatus and method for protocol modeling |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | Far-field extension for digital assistant services |
US10692065B2 (en) * | 2017-06-19 | 2020-06-23 | Accenture Global Solutions Limited | Using a mixture model to generate simulated transaction information |
US10902121B2 (en) | 2017-10-19 | 2021-01-26 | International Business Machines Corporation | Policy-based detection of anomalous control and data flow paths in an application program |
US11500936B2 (en) * | 2018-08-07 | 2022-11-15 | Walmart Apollo, Llc | System and method for structure and attribute based graph partitioning |
US11747970B2 (en) | 2021-09-23 | 2023-09-05 | International Business Machines Corporation | Interactive graphical display of multiple overlapping hypotheses or document versions |
CN115905595A (en) * | 2023-03-14 | 2023-04-04 | 阿里健康科技(中国)有限公司 | Graph data publishing method and device, computer equipment and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5093869A (en) * | 1990-12-26 | 1992-03-03 | Hughes Aircraft Company | Pattern recognition apparatus utilizing area linking and region growth techniques |
US5889999A (en) * | 1996-05-15 | 1999-03-30 | Motorola, Inc. | Method and apparatus for sequencing computer instruction execution in a data processing system |
US5953724A (en) * | 1997-11-24 | 1999-09-14 | Lowry Software, Incorporated | Global database library data structure for hierarchical graphical listing computer software |
-
2001
- 2001-02-23 US US10/204,792 patent/US6847979B2/en not_active Expired - Fee Related
- 2001-02-23 AU AU2001243277A patent/AU2001243277A1/en not_active Abandoned
- 2001-02-23 EP EP01916223A patent/EP1272912A2/en not_active Withdrawn
- 2001-02-23 WO PCT/US2001/006038 patent/WO2001063382A2/en not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5093869A (en) * | 1990-12-26 | 1992-03-03 | Hughes Aircraft Company | Pattern recognition apparatus utilizing area linking and region growth techniques |
US5889999A (en) * | 1996-05-15 | 1999-03-30 | Motorola, Inc. | Method and apparatus for sequencing computer instruction execution in a data processing system |
US5953724A (en) * | 1997-11-24 | 1999-09-14 | Lowry Software, Incorporated | Global database library data structure for hierarchical graphical listing computer software |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1345130A1 (en) * | 2002-03-13 | 2003-09-17 | BRITISH TELECOMMUNICATIONS public limited company | Searching tool |
US10452739B2 (en) | 2014-10-16 | 2019-10-22 | Adp, Llc | Graph loader for a flexible graph system |
Also Published As
Publication number | Publication date |
---|---|
EP1272912A2 (en) | 2003-01-08 |
US6847979B2 (en) | 2005-01-25 |
WO2001063382A3 (en) | 2002-01-10 |
AU2001243277A1 (en) | 2001-09-03 |
US20030050915A1 (en) | 2003-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6847979B2 (en) | Conceptual factoring and unification of graphs representing semantic models | |
US6976020B2 (en) | Software composition using graph types, graph, and agents | |
US7908266B2 (en) | Systems and methods for automatically creating an SQL join expression | |
Romero et al. | A survey of multidimensional modeling methodologies | |
US6567812B1 (en) | Management of query result complexity using weighted criteria for hierarchical data structuring | |
US8290923B2 (en) | Performing large scale structured search allowing partial schema changes without system downtime | |
US5838965A (en) | Object oriented database management system | |
US6108004A (en) | GUI guide for data mining | |
Fowler et al. | Integrating query thesaurus, and documents through a common visual representation | |
US20040015783A1 (en) | Methods for interactively defining transforms and for generating queries by manipulating existing query data | |
Ma et al. | Generalization of strategies for fuzzy query translation in classical relational databases | |
US20030107597A1 (en) | Collection extensible action GUI | |
Shaw et al. | Object-oriented queries: equivalence and optimization | |
JP5097328B2 (en) | Hierarchical data driven navigation system and method for information retrieval | |
JP2004240954A (en) | Method for presenting hierarchical data | |
Ganesh et al. | Visual data mining: Framework and algorithm development | |
WO2000042529A1 (en) | A system for composing applications based on explicit semantic models, event driven autonomous agents, and resource proxies | |
Ho et al. | Visualization support for user-centered model selection in knowledge discovery and data mining | |
El-Khatib et al. | Using a distributed approach to retrieve and integrate information from heterogeneous distributed databases | |
Navathe et al. | A model to support e-catalog integration | |
Bordogna et al. | Extending a graph-based data model to manage fuzzy and uncertain information | |
Bislimovska | Textual and content based search in software model repositories | |
Qian et al. | Abstraction and Inheritance of Hyperlinks in an Object-Oriented Hypertext Database System TextLink/Gem | |
WO2023247730A1 (en) | System and method of optimizing digital catalogs for online marketplaces | |
Semmel | Discovering context in a conceptual schema |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AU BR CA CN CZ HU ID IL IN JP KR MA MX NO NZ PL RO RU SG TR US YU ZA |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AU BR CA CN CZ HU ID IL IN JP KR MA MX NO NZ PL RO RU SG TR US YU ZA |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10204792 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2001916223 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2001916223 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2001916223 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: JP |