WO2013075745A1 - Method and system for creating user models - Google Patents

Method and system for creating user models Download PDF

Info

Publication number
WO2013075745A1
WO2013075745A1 PCT/EP2011/070873 EP2011070873W WO2013075745A1 WO 2013075745 A1 WO2013075745 A1 WO 2013075745A1 EP 2011070873 W EP2011070873 W EP 2011070873W WO 2013075745 A1 WO2013075745 A1 WO 2013075745A1
Authority
WO
WIPO (PCT)
Prior art keywords
tree
user
node
shaped data
data structure
Prior art date
Application number
PCT/EP2011/070873
Other languages
German (de)
French (fr)
Inventor
Jöran BEEL
Original Assignee
GENZMEHR, Marcel
Langer, Stefan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GENZMEHR, Marcel, Langer, Stefan filed Critical GENZMEHR, Marcel
Priority to PCT/EP2011/070873 priority Critical patent/WO2013075745A1/en
Publication of WO2013075745A1 publication Critical patent/WO2013075745A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products

Definitions

  • the invention relates to a method and a system for creating user models and recommendations based thereon, preferably by analyzing tree-shaped data structures.
  • referral services Often, such user models are used by referral services. Depending on the interests of a user, these referral services will display individual recommendations for, for example, movies, books, music, or advertising tailored to the user.
  • a recommendation service is always a so-called "User-Item Matching Problem": the question with this The problem is, which small selection of relevant items (eg music, websites, books, etc.) from a large amount of available items should be recommended to a user.
  • This known from the prior art approach is shown in Fig. 1. Shown in Figure 1 is a set of users (User 1 to User 3) and a set of items (Item 1 to Item 3). With appropriate procedures, the relevance of users and items to each other is calculated.
  • CBF Content Based Filtering
  • An item can be any object.
  • An item may be a document (books, web pages, emails, etc.), a multimedia object (movies, music, photos), a person or a place.
  • items can also be menu entries of a computer application or components of graphical user interfaces.
  • a user is associated with an item if any reference exists between them. This means that if the user has for example read, bought or briefly reviewed a book, knows a person or has watched, downloaded or rated a film on a film portal, the user stands with the book, the person or the person Movie in connection.
  • the connection can weighted differently, depending on the type of connection. For example, buying a book could be more weighted than just looking at the book cover. Or a connection to an item can be weighted more, the more often the item was used.
  • Content based filtering uses the content of connected objects to create a user model.
  • this method is applied to textual items, ie documents, since the content of documents (ie the text) can be processed well by computers in contrast, eg. B. to pictures.
  • a model is created for each item.
  • the so-called "Vector Space Model” is often used, a model that displays documents as vectors of their terms. Each vector expresses by its length, how well the corresponding term describes the actual document. This weighting can be calculated using various methods.
  • One common method is the so-called TF-IDF method.
  • the weighting of a term for a document is the greater the more frequently the term occurs in the document and the fewer documents in the entire collection there are with this term.
  • the user model is then generated from the models of the various connected items. This means that if a user has many books that contain the term "recommender" with a high weight, then the user model also gets assigned this term with a high weight.
  • the different item models can be incorporated into the user model with different weightings.
  • the user model is stored in the same format as the item models - for example, as a Vector Space Model which will later be recommended to the user, a model is also created, for example, again with TF-IDF method and the Vector Space Model.
  • These items may not necessarily be the same items that are associated with users.
  • the matching of the user models with the items to be recommended is preferably based on similarity comparisons between the user and the item models. For text-based items, if the user model contains the same high-weight terms as the item models of the items to be recommended, then the similarity is large and the item is recommended to the user.
  • a common similarity measure in the Vector Space Model is about the Cosine Similarity.
  • CBF Content Based Filtering
  • the object of the invention is therefore to provide a method and a system which allow in a simple manner item models or user models also for hierarchical, i. Create tree-shaped structures to build user models and recommendations based on them.
  • the elements associated with the nodes are determined, the elements representing a content of the respective node,
  • a user model is generated, wherein the generated user model comprises the determined elements and the element weight assigned to the respective element.
  • the nodes of the tree-shaped data structure can be weighted and each node can be assigned a node weighting.
  • each element can be assigned a predetermined element weighting or the node weighting of the associated node.
  • the method may further include a preprocessing step in which
  • - nodes are deleted, which have or do not have predetermined attributes, and / or
  • the weighting of the nodes may include static node weighting and / or dynamic node weighting, where
  • the number of child nodes assigned to the respective node in the case of static node management, the number of child nodes assigned to the respective node, the number of the respective sibling nodes, the depth of the respective node in the tree-shaped data structure, the visibility of the node, or a combination thereof are taken into account, and
  • the dynamic node weighting for each node the age, the time of the last change, the number of changes, the number of shifts within the tree-shaped data structure, the number of markers, the visibility of the node, an attenuation factor, or a combination thereof be taken into account.
  • Determining the elements associated with the nodes may include preprocessing the determined elements, wherein the pre-processing of the elements decomposes text into tokens and / or terms, provided that the element is a text element and / or references are processed, if the element is a reference element ,
  • the element weights assigned to the elements in the initialization step may be adjusted, where, when adjusting the respective element weights, the element type, attribute values of the attributes associated with the element, a frequency of the element within the tree-shaped data structure, the number of tree-shaped data structures in a collection of tree-shaped ones Data structures in which the element occurs, a frequency of the element within a collection of tree-shaped data structures, the size of the tree-shaped data structure relative to other tree-shaped data structures in a collection of tree-shaped data structures, the position of the element within the node, the language of the element, the Number of elements within the node, the distance of the element to similar elements of other nodes, frequency of the element in the path between the node and the root node
  • the generated user model may be stored in a storage device to be provided to the recommendation service. All elements can be stored together with the respective element weightings as a user model, or for each element type a separate user model can be stored, whereby the user models of the different element types form an overall user model. In the case of a plurality of tree-shaped data structures that can be assigned to the user, a number of user models can be generated for each tree-shaped data structure, which together form an overall user model assigned to the user.
  • Each tree-shaped data structure can be assigned a tree weighting.
  • the user model assigned to the user can be adapted. Elements referenced by the tree-shaped data structure can be inserted into the user model and treated as elements of the tree-shaped data structure.
  • a generated user model can be assigned information about the user model type.
  • the method may further include selecting objects based on predetermined selection criteria, wherein an object comprises a user model or an item model.
  • the selection criteria may include:
  • Objects having a predetermined similarity to the user model and / or item model similarity values being determined between the generated user model and / or item model and the objects before the selection.
  • a promotion program By an item model, a promotion program can be represented, wherein the item model representing the promotion program is selected when the user model has a predetermined similarity to the item model.
  • a processing device which is coupled to the storage device and which is adapted to carry out a method according to one of the preceding claims, in order to generate a user model and to store the generated user model in the storage device and make it available to a recommendation service.
  • a data carrier product is provided, with a program code stored thereon, which can be loaded into a computer and / or into a computer network and is adapted to carry out a method according to the invention.
  • Fig. 3 is a so-called “Collaborative Filtering” method, as it is known from
  • FIGS. 6a, 6b show two tree-shaped data structures which have the same meaning in the sense of the invention; and FIGS. 7a, 7b show a flow diagram of a method according to the invention. Detailed description of the invention
  • a tree-shaped data structure (hereinafter BD) is a data structure with which a monohaurarchy can be mapped.
  • nodes in the data structure are connected in a tree-shaped manner by means of edges.
  • Each child node can in turn have any number of children's nodes.
  • Examples of BD within the meaning of the invention are, but are not limited to, directory structures and / or file systems on a hard disk (folders and files) or so-called mind maps. If the BD is a file system, the "leaves" (which are the last nodes of a path in a BD, respectively) correspond to files or file associations, and all other nodes correspond to directories or folders. Nodes of a BD usually contain one or more elements. These elements can be of different types.
  • Common elements or element types are: text (in the case of a file system, the node text would be the file or directory name), additional notes, tables, appointments, multimedia objects (music, film, image), icons, formulas, links (usually to external Items), numbers, and / or binary code (especially if the BD is a directory structure and the node is a file).
  • a reference can be a unique URI (Uniform Resource Identifier), eg hyperlink, local link / link to a file on a storage medium (eg hard disk).
  • a reference can also be a non-unique description that identifies an item (eg title of a document, author name, photo, BibTeX Key, name of a place or product).
  • Each of the elements can have a number of attributes.
  • nodes themselves can also have attributes, in particular to format the display of the nodes or to assign specific functions to the node.
  • nodes may be represented as "collapsed” or “expanded” by attributes, that is, visible or invisible to the user.
  • attributes that is, visible or invisible to the user.
  • individual elements of a node can be visible or invisible to the user.
  • Edges in a BD are usually undirected and usually contain no textual information. Edges can also be directed.
  • Item items are arbitrary objects, ie, for example, documents (books, web pages, scientific articles), files, advertisements (in image, text, sound), persons, music pieces or music albums, movies, products, geographical locations, etc. or theirs Digital representation (ie not necessarily a physical book, but eg the digital copy / representation of the book in various formats).
  • a user is a person who applies or uses the system according to the invention.
  • a user can also be a so-called agent, a type of electronic person or a system that simulates the behavior of a real person.
  • User Model - A user model includes the interests, knowledge or other information about the person, usually in machine-readable form.
  • interests or knowledge of a user or information about the user are used synonymously.
  • - Connection between BD and user - A BD is in connection with a user or is assignable to the user if this user created, edited, downloaded or opened the BD, for example, or if the BD was or was in the possession of the user (eg is stored on the user's hard disk).
  • a collection is the set of all BD to which the system according to the invention has access.
  • tree-shaped data structures BD which are associated with the user or can be assigned to a user are analyzed in order to obtain a model of the user, i. a user model to create.
  • a user model includes, but is not limited to, information about the user's interests and knowledge.
  • a tree-shaped data structure BD comprises a number of nodes, wherein a special node represents the root node or the root node.
  • the other nodes are referred to as children's nodes, where the children's nodes are connected via edges to the root node or to a child node. Nodes that do not contain child nodes are called "leaves".
  • Each node may contain one or more references to external items. In Fig. 5, the node 2.i has such a reference to an item.
  • the content of a tree-shaped data structure and possibly the items which are linked from a tree-shaped data structure or the contents of the linked items describe the interests of the user and can be used to generate a user model.
  • FIGS. 7a and 7b show a flow diagram of a method according to the invention for generating a user model from at least one tree-shaped data structure.
  • a preprocessing takes place in which the tree-shaped data structures are adapted or processed for further processing.
  • the preprocessing step is an optional step and does not necessarily have to be performed, for example if the tree-shaped data structures already have the format required for further processing.
  • the preprocessing may include converting the tree-shaped data structures to a system-readable format. Further, preprocessing may involve deleting nodes from the tree-shaped data structures, i.e., deleting certain nodes that are not relevant to creating a user model. Deleting a node means that it is removed from the tree-shaped data structure and the child nodes of the node to be deleted are either also removed or the child nodes are assigned to the parent node of the node to be deleted. For example, a node may be dropped if the node meets one or more of the following criteria:
  • the node is empty
  • the node contains a specific element (not), such as text or reference; - The node has a certain attribute (not); - The node or elements of the node are not directly connected to the user. This may be the case if a node was not created by the user (eg nodes of a mind map linking to a file and where the text of the node is equal to the file name of the linked file, it can be assumed that the node is automatically, eg was created by "drag &drop", so the text of the node was not generated by the user, and therefore has little or no meaningfulness).
  • a node was not created by the user (eg nodes of a mind map linking to a file and where the text of the node is equal to the file name of the linked file, it can be assumed that the node is automatically, eg was created by "drag &drop", so the text of the node was not generated by the user, and therefore has little or no meaningfulness).
  • a user model is generated in a next step based on the tree-shaped data structure.
  • the nodes of a tree-shaped data structure or the elements of the nodes are analyzed in order to identify the interests etc. of the user and store them in a user model which is assigned to the user. This happens in the following steps:
  • the weighting of the nodes is based on the assumption that some nodes or their elements are more meaningful to describe the interests of the user than other nodes or their elements.
  • two partial weights can be calculated. However, it is also possible to calculate only one of the two partial weights and to consider this partial weight as the node weight of a node.
  • the two subweights include static node weighting and dynamic node weighting. Of course, other subweights not mentioned here can also be calculated.
  • the combination of the calculated part weights gives the node weight of a node. For static node weighting, the following criteria can be taken into account:
  • a node is weighted depending on the number of child nodes, e.g. the more children the knot has the more weight this knot receives.
  • Sibling nodes of a node are those nodes that have the same parent node as the considered node.
  • the node is weighted depending on the number of sibling nodes of the node, e.g. The more siblings a knot has, the less weight it gets.
  • Attributes If the node is highlighted by a particular attribute, e.g. by colored marking or underlining, he gets more weight. Is it weakened by certain attributes, e.g. by graying out or stroking it, it gets less weight.
  • the nodes can also be weighted dynamically, ie changes and usage intensity of the tree-shaped data structure over time can flow into the node weighting. If, for example, a node is used more intensively, or has been used more intensively in the past than other nodes, then this node can receive a higher weight than the other nodes.
  • the weighting can result among other things from: - Age of the knot: Older knots may receive more or less weight than younger knots. Preferably, younger knots get a higher weight.
  • Number of edits Preferably, a node that has been edited more often than other nodes may be given a higher weight.
  • - Number of shifts The more often a node has been moved (cut and reinserted), the more weight it receives.
  • Each of the above-mentioned (dynamic) weights may be weakened or enhanced by a time parameter.
  • a node is weighted twice as much if it has been edited at least twice. If the last edit is longer than X weeks, the weighting is weighted only 1.5 times by a damping time parameter.
  • inheritance of weights may be provided. Inheritance is preferably performed after the static or dynamic weighting has been performed.
  • nodes can "inherit" weights from their surrounding nodes. If, for example, a parent node has a very high weight (because, for example, he was often selected), the child node can also be given a higher weight than if it were only considered individually. Preferably, all children's nodes and their nodes, all sibling nodes and all parent nodes and their parents get a higher weight to the root, the additional weight getting weaker the farther away from the hereditary node is the inheriting node.
  • nodes that exceed a threshold value can inherit the weight to surrounding nodes.
  • a threshold value eg weighting five times greater than normal
  • the weighting of the individual nodes of the group can be matched or inherited.
  • Groups can be visually recognizable in the tree-shaped data structure or can be distinguished by specific attributes or element types. For example, a tree-shaped data structure contains some nodes that have references. All of these nodes are assigned to the Reference Node group. Although only 95% of these nodes have a very high weighting, the system assigns a very high weighting to all nodes (including the remaining 5%). The weak nodes of a group inherit from their other group nodes.
  • the determined element is a text element
  • this text is further decomposed into tokens or terms (terms).
  • the term can be a single word, but sometimes also compound words like "Mind Map".
  • each term is considered an independent element of type Text.
  • Latent Semantic Indexing combines or considers synonyms of words.
  • Translation the words are translated into a reference language, e.g. English, translated.
  • the determined element can also be a reference.
  • References can also be preprocessed by, for example, converting the URI (Uniform Resource Identifier) and / or the special characters to a uniform format for each reference or, if it is not a unique reference (eg only the title of a document) will find a unique identifier (in the case of a document, for example, the ISBN).
  • URI Uniform Resource Identifier
  • each element of a node can also be weighted. Especially text and reference elements are important for the creation of the user model according to the invention.
  • each element first receives a predetermined weighting (initial weighting), such as the weighting 1 or the weighting of its associated node. This can be done, for example, in an initialization step in which all elements are provided with an initial weighting.
  • the initial weight of an element may be strengthened or weakened, preferably based on one or more of the following factors:
  • Elements of certain types can receive different basis weights. For example, a text element representing the general node text may receive a higher weighting than a text element representing an additional note.
  • - Attributes Depending on the attributes, elements can get a stronger or weaker weighting. For example, a text element that is bolded may be weighted more heavily than a text element without formatting.
  • - BD frequency the less tree-shaped data structures in the entire collection have an element, the more it is weighted. This is based on the assumption that an element, which occurs only a few times in all tree-shaped data structures, is more meaningful than an element that occurs in almost every tree-shaped data structure. For example, in a collection of 100 tree-shaped data structures, if only a single tree-shaped data structure contains the term "tree," then this term would be weighted more heavily with respect to the tree-shaped data structure than if 90 other tree-shaped data structures also contained that term. Collection Frequency: The less often the element appears in the total of all elements of the entire collection, the more it is weighted. This is very similar to the BD frequency, except that the BD frequency counts the number of tree-shaped data structures in which the element occurs and, at its collection frequency, the total number of elements itself.
  • BD size The larger the tree-shaped data structure, the less heavily the element is weighted. This is based on the assumption that large tree-shaped data structures tend to contain more elements but should not be favored over small tree-shaped data structures.
  • the size of a tree-shaped data structure can be specified by the number of nodes of a tree-shaped data structure or by the number of elements in a tree-shaped data structure.
  • Position in the node Elements that are in the front of the node are weighted differently than elements further back in the node. If a node contains, for example, 100 terms, then it can be provided that only the first ten terms are taken into account. Furthermore, it can be provided that the further terms (for example the next 10 terms) are taken into account with less weight.
  • Language if the node contains text elements: Unlike documents, such as web pages, tree-shaped data structures often include terms in different languages. The elements of a node can be weighted differently depending on the language. This also means that if e.g. the text of a node in a particular language is weighting the other elements of the node (for example, a reference) less or more.
  • Node length Elements are weighted depending on the node length. The fewer elements a node contains, the more its elements can be weighted. - Distance to similar elements: The less similar elements in the vicinity of a node to which the element belongs, the more weight the element gets. For example: If a node has a reference to an item and the surrounding nodes (eg all children, siblings and parent nodes) do not contain any references, then this reference could be given a particularly high weight, as it seems reasonable to assume that the reference also refers to the surrounding nodes. If, on the other hand, sibling nodes also have references, this reference does not receive a particularly high weight.
  • Tree-shaped data structures can be created very user-specifically. For example, it may happen that a user
  • FIGS. 6a and 6b illustrate this case.
  • FIGS. 6a and 6b each show a tree-shaped data structure with the same statement of two users, the tree-shaped data structures nevertheless appearing differently.
  • the term "recommending” is repeated several times, but not in FIG. 6b.
  • the term “recommender” would be equally applicable for both tree-shaped data structures or users and should be equally weighted.
  • the weighting of the elements can also take place using the same methods with which the nodes are weighted. For example, older elements can be weighted less heavily than newer ones, and inheritance can also take place in element weights.
  • a user model it may be advantageous to store the generated user model to make it about a recommendation service for To make available.
  • a user model can also be created on demand without saving it.
  • At least two different approaches can be used to store a user model.
  • the two approaches shown here are type-neutral storage and type-dependent storage of a user model.
  • type-neutral storage all elements are stored with their weighting. That is, terms, links, links, images, etc. are all stored together in the model.
  • the vector space model described at the outset can be used for this purpose, which is extended by the invention such that not only terms with a weighting can be stored, but also any elements of different types with their weighting and their type.
  • a separate user model can be generated for each element type, which together form an overall user model.
  • a user model then includes, for example, a text model and a reference model.
  • standard methods from the information retrieval area or user modeling area can be used.
  • a standard model for a text-based model would again be the named vector space model in which the individual terms are weighted according to the method described above.
  • References can also be stored in other models that, for example, also take into account the order of the elements in the tree-shaped data structure.
  • the subsequent steps can optionally be carried out for the abovementioned steps.
  • one (or more) models can be generated for each tree-shaped data structure, as described above, and the various models are finally joined together to form an overall model.
  • different tree-shaped data structures can be provided with different weighting. The weighting follows similar principles as the weighting of the nodes or elements. For example, a newer tree-shaped data structure or tree-shaped data structures that are opened or edited more frequently may be weighted more heavily.
  • the existing user model can be extended by the elements of the new tree-shaped data structure.
  • a tree-shaped data structure contains references to items
  • these items can also be used to generate a user model. That is, the elements in the linked item are inserted into the user model in a manner similar to elements of the tree-shaped data structure itself. These items can be given a lower weighting.
  • the linked item is a tree-shaped data structure, its elements are weighted using the method described above. If the linked element is e.g. a web page, then the weighting can be done with standard methods, like the TF-IDF.
  • Models for short-term interests For example, this model would only contain data from a session or the last edited tree-shaped data structure (or data of the tree-shaped data structure that were edited in a certain period of time).
  • Long term interest models This model would contain interests based on all or at least several tree-shaped data structures.
  • Models for Different Interests It is conceivable that users create different tree-shaped data structures for e.g. different projects. That is, a tree-shaped data structure (or even several) are used for project A and another tree-shaped data structure (or more) for another project B. According to the invention, tree-shaped data structures that are very different can be used for creating different models (the possibly also be subdivided into long-term and short-term interests).
  • the identification of related tree-shaped data structures can be done as follows:
  • Tree-shaped data structures can be used for different types of applications, such as file management, brainstorming, document management, project planning, etc.
  • the type of application is noted in the user model. When a user creates different tree-shaped data structures for different types of applications, different user models are created again.
  • the type of application can be determined as follows:
  • the user can specify for which purpose he wants to create the tree-shaped data structure (for example brainstorming, project planning, etc.).
  • Automatic analysis the system analyzes the tree-shaped data structure and closes, e.g. on the basis of their structure, their use or their source format, automatically on the type of application.
  • the primary application is file management, web page management or document management.
  • the automatic analysis may include factors such as growth rate, size, duration of use, type of usage, application to create the tree-shaped data structure, and / or other factors.
  • each user model has been generated for a number of users.
  • These user models are used according to the invention to give a user recommendations for items. That is, based on the user models, items can be identified that the user is likely to consider interesting. sant / relevant.
  • a method is suggested which considers both item models and user models as equal.
  • the method according to the invention for proposing objects can comprise at least the following steps:
  • the user models have already been created and stored with the aforementioned methods according to the invention.
  • an item model is generated using techniques known in the art. For example, if the item is a web page, terms could be weighted using TF-IDF and saved as a Vector Space Model. If the item is a scientific paper, TF-IDF could be used, as well as other methods, such as Citation Proximity Analysis, to model the item.
  • the above type-neutral method can also be used to create a corresponding model of items which, like tree-shaped data structures, contain several element types.
  • a scientific paper usually contains text and references (references to other scientific papers), comparable to a tree-shaped data structure, which also contains text and references (eg to files). Therefore, both can be mapped relatively easily with compatible model types. It is important that according to the invention all objects are mapped in the same or a compatible model in order to be able to compare them later. Once models have been created and saved from all objects, they are compared for similarity. Do the object models contain several submissions? For example, for short-term and long-term interests or for different element types, each of these submodels is compared to the other object models.
  • the comparison can take place using standard methods, such as Cosine for comparisons in the Vector Space Model or similarity measures such as Greedy Citation Tiling for reference-based models.
  • a method based on machine learning can be used.
  • the references of a groove Zermodells can be used with machine learning techniques to learn user preferences.
  • any reference to an item is considered a positive association that the system learns and provides recommendations for new items based on it.
  • this can be used to make recommendations for subsidies / funding programs.
  • a user model is first generated from a tree-shaped data structure, as described above.
  • the support program itself is considered an item.
  • the item in turn is represented by a text describing the funding program.
  • This text can be a website, a brochure in PDF format, social tags, etc. If, for example, a user model contains the heavily weighted term "Recommender Systems" and there is a funding program whose website also often includes this term, this support program would be recommended to the user ,

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed are a method and a system for creating a user model, in particular for a recommender system, from at least one tree data structure, wherein the user model comprises information about a user, wherein the at least one tree data structure can be associated with the user. The tree data structure comprises a root node and a number of child nodes which are connected to the root node or to a child node via edges, and at least one element is associated with at least one node. The elements associated with the nodes and representing a content of the corresponding node are assessed, the assessed elements are weighted and an element weight is assigned to each element, and a user model is generated, the generated user model comprising the assessed elements and the element weight assigned to the corresponding element.

Description

Verfahren und System zum Erstellen von Nutzermodellen  Method and system for creating user models
Gebiet der Erfindung Field of the invention
Die Erfindung betrifft ein Verfahren und ein System zum Erstellen von Nutzermodellen und darauf basierenden Empfehlungen, vorzugsweise durch Analyse von baumförmigen Datenstrukturen. Hintergrund der Erfindung und Stand der Technik The invention relates to a method and a system for creating user models and recommendations based thereon, preferably by analyzing tree-shaped data structures. Background of the invention and prior art
Nutzer von Computersystemen unterscheiden sich in vielerlei Hinsicht, unter anderem hinsichtlich ihrer Interessen, ihres Wissens und ihrer demographischen Daten. Viele Computer Systeme versuchen diesen Unterschieden gerecht zu wer- den, indem sie abhängig etwa vom Wissen und den Interessen des Nutzers, individuelle Informationen oder Benutzeroberflächen zur Anzeige bringen. Um Softwaresysteme, etwa Computerprogramme oder Internet-basierte Anwendungen individuell an seine Nutzer anpassen zu können, benötigen die Softwaresysteme Zugriff etwa auf die Interessen der Nutzer. Diese Daten können entweder manuell vom Nutzer angegeben, oder automatisch vom System erzeugt werden. In jedem Fall werden die Informationen über die Nutzer in so genannten Nutzermodellen gespeichert. Users of computer systems differ in many ways, including their interests, their knowledge and their demographic data. Many computer systems try to cope with these differences by showing individual information or user interfaces depending, for example, on the knowledge and interests of the user. In order to be able to adapt software systems, such as computer programs or Internet-based applications, individually to its users, the software systems require access, for example, to the interests of the users. This data can either be entered manually by the user or automatically generated by the system. In any case, the information about users is stored in so-called user models.
Häufig werden solche Nutzermodelle von Empfehlungsdiensten verwendet. Ab- hängig von den Interessen eines Nutzers zeigen diese Empfehlungsdienste individuelle Empfehlungen beispielsweise für Filme, Bücher, Musik, oder auch auf den Nutzer abgestimmte Werbung an. Bei einem Empfehlungsdienst handelt es sich immer um ein sogenanntes„User-Item Matching Problem": Die Frage bei diesem Problem ist, welche kleine Auswahl an relevanten Items (z.B. Musikstücke, Webseiten, Bücher, etc.) aus einer großen Menge von verfügbaren Items einem Nutzer empfohlen werden soll. Dieser aus dem Stand der Technik bekannte Ansatz ist in Fig. 1 dargestellt. Gezeigt ist in Fig. 1 eine Menge von Nutzern (User 1 bis User 3) und eine Menge von Items (Item 1 bis Item 3). Mit entsprechenden Verfahren wird die Relevanz von Nutzern und Items zueinander berechnet. Danach können alle Items die einen bestimmten Schwellenwert bzgl. der Relevanz überschreiten den entsprechenden Nutzern empfohlen werden. Aus dem Stand der Technik bekannte Empfehlungsdienste nutzen zwei grundsätzliche Verfahren, um Nutzermodelle zu erzeugen bzw. Empfehlungen zu geben. Diese Verfahren sind bekannt als "Content Based Filtering" bzw. "Collaborative Filtering". Beim Content Based Filtering (CBF) nimmt das Computer System an, dass der Inhalt (Content) der Items mit denen ein Nutzer in Verbindung steht, die Interessen und/oder das Wissen des Nutzers wiederspiegelt. Dieser aus dem Stand der Technik bekannte Ansatz ist in Fig.2 gezeigt. Ein Nutzer (User 1) steht mit einer Anzahl von Items (Item 1 bis Item j) in Verbindung. Ein Item kann jedes mögliche Objekt sein. Ein Item kann etwa ein Dokument (Bücher, Webseiten, Emails, etc.), ein Multimediaobjekt (Filme, Musik, Fotos), eine Personen oder ein Ort sein. Items können aber auch Menüeinträge einer Computeranwendung oder Komponenten grafischer Benutzeroberflächen sein. Often, such user models are used by referral services. Depending on the interests of a user, these referral services will display individual recommendations for, for example, movies, books, music, or advertising tailored to the user. A recommendation service is always a so-called "User-Item Matching Problem": the question with this The problem is, which small selection of relevant items (eg music, websites, books, etc.) from a large amount of available items should be recommended to a user. This known from the prior art approach is shown in Fig. 1. Shown in Figure 1 is a set of users (User 1 to User 3) and a set of items (Item 1 to Item 3). With appropriate procedures, the relevance of users and items to each other is calculated. Thereafter, all items that exceed a certain threshold in terms of relevance can be recommended to the appropriate users. Recommendation services known in the art use two basic methods to generate or make recommendations to user models. These methods are known as "Content Based Filtering" or "Collaborative Filtering". In Content Based Filtering (CBF), the computer system assumes that the content (content) of the items with which a user is in contact reflects the interests and / or knowledge of the user. This approach known from the prior art is shown in FIG. A user (User 1) is associated with a number of items (Item 1 to Item j). An item can be any object. An item may be a document (books, web pages, emails, etc.), a multimedia object (movies, music, photos), a person or a place. However, items can also be menu entries of a computer application or components of graphical user interfaces.
In Verbindung steht ein Nutzer mit einem Item, wenn irgendein Bezug zwischen ihnen besteht. Das heißt, wenn der Nutzer beispielsweise ein Buch gelesen, gekauft oder auch nur kurz betrachtet hat, eine Person kennt oder einen Film ge- schaut, heruntergeladen oder auf einem Filmportal bewertet hat, steht der Nutzer mit dem Buch, der Person, bzw. dem Film in Verbindung. Die Verbindung kann dabei unterschiedlich stark gewichtet werden, je nach Art der Verbindung. Beispielsweise könnte das Kaufen eines Buches stärker gewichtet werden als das bloße Betrachten des Buchcovers. Oder eine Verbindung zu einem Item kann umso stärker gewichtet werden, je öfter das Item genutzt wurde. A user is associated with an item if any reference exists between them. This means that if the user has for example read, bought or briefly reviewed a book, knows a person or has watched, downloaded or rated a film on a film portal, the user stands with the book, the person or the person Movie in connection. The connection can weighted differently, depending on the type of connection. For example, buying a book could be more weighted than just looking at the book cover. Or a connection to an item can be weighted more, the more often the item was used.
Beim Content Based Filtering wird der Inhalt der verbundenen Objekte genutzt um ein Nutzermodell zu erstellen. In der Regel wird dieses Verfahren bei textuel- len Items, also Dokumenten, angewandt, da der Inhalt von Dokumenten (also der Text) gut von Computern verarbeitet werden kann im Gegensatz, z. B. zu Bildern. Um den Inhalt der Items zu nutzen, wird für jedes Item ein Modell erstellt. Bei Dokumenten wird häufig das sogenannte "Vector Space Model" genutzt, ein Modell, welches Dokumente als Vektor ihrer Terme darstellt. Jeder Vektor drückt durch seine Länge aus, wie gut der entsprechende Term das eigentliche Dokument beschreibt. Diese Gewichtung kann mit verschiedenen Verfahren errechnet wer- den. Ein gängiges Verfahren ist das sogenannte TF-IDF Verfahren. Hierbei ist das Gewicht eines Terms für ein Dokument umso größer je öfter der Term in dem Dokument vorkommt und je weniger Dokumente in der gesamten Kollektion es mit diesem Term gibt. Das Nutzermodell wird dann aus den Modellen der verschiedenen verbundenen Items erzeugt. Dies bedeutet, wenn ein Nutzer viele Bücher besitzt die den Term „Recommender" mit hohem Gewicht enthalten, dann bekommt auch das Nutzermodell diesen Term mit einem hohem Gewicht zugeordnet. Die verschiedenen Item-Modelle können dabei mit unterschiedlicher Gewichtung in das Nutzermo- dell einfließen. Üblich ist es beispielsweise, Items die vor kurzem genutzt wurden, stärker zu gewichten als Items deren Nutzung bereits längere Zeit zurückliegt. Üblicherweise wird das Nutzermodell in dem gleichen Format gespeichert, wie die Item-Modelle - also beispielsweise als Vector Space Model. Von den Items, die später dem Nutzer gegebenenfalls empfohlen werden sollen, wird ebenfalls ein Modell erstellt, beispielsweise wieder mit TF-IDF-Verfahren und dem Vector Space Model. Diese Items müssen nicht notwendigerweise die gleichen Items sein, die mit Nutzern in Verbindung stehen. Beispielsweise wäre es möglich, ein Nutzermodell zu erstellen basierend auf Webseiten die ein Nutzer besucht hat, und ihm basierend auf diesem Modell Bücher zu empfehlen, oder auch personalisierte Werbung anzuzeigen. Das Matching der Nutzermodelle mit den zu empfehlenden Items basiert vorzugsweise auf Ähnlichkeitsvergleichen zwischen den Nutzer- und den Item-Modellen. Bei textbasierten Items bedeutet das, wenn das Nutzermodell die gleichen Terme mit hohem Gewicht enthält wie die Item-Modelle der zu empfehlenden Items, dann ist die Ähnlichkeit groß und das Item wird dem Nutzer empfohlen. Ein übliches Ähnlichkeitsmaß im Vector Space Model ist etwa die Cosine Similarity. Content based filtering uses the content of connected objects to create a user model. As a rule, this method is applied to textual items, ie documents, since the content of documents (ie the text) can be processed well by computers in contrast, eg. B. to pictures. To use the content of the items, a model is created for each item. For documents, the so-called "Vector Space Model" is often used, a model that displays documents as vectors of their terms. Each vector expresses by its length, how well the corresponding term describes the actual document. This weighting can be calculated using various methods. One common method is the so-called TF-IDF method. In this case, the weighting of a term for a document is the greater the more frequently the term occurs in the document and the fewer documents in the entire collection there are with this term. The user model is then generated from the models of the various connected items. This means that if a user has many books that contain the term "recommender" with a high weight, then the user model also gets assigned this term with a high weight.The different item models can be incorporated into the user model with different weightings. It is customary, for example, to weight items that were recently used more heavily than items whose use has been in use for a long time.Usually the user model is stored in the same format as the item models - for example, as a Vector Space Model which will later be recommended to the user, a model is also created, for example, again with TF-IDF method and the Vector Space Model. These items may not necessarily be the same items that are associated with users. For example, it would be possible to create a user model based on web pages visited by a user and to recommend books based on that model, or to display personalized advertisements. The matching of the user models with the items to be recommended is preferably based on similarity comparisons between the user and the item models. For text-based items, if the user model contains the same high-weight terms as the item models of the items to be recommended, then the similarity is large and the item is recommended to the user. A common similarity measure in the Vector Space Model is about the Cosine Similarity.
Beim sogenannten Collaborative Filtering (CF), welches in Fig. 3 gezeigt ist, spielt der Inhalt von Items keine Rolle. Es wird lediglich die Information verwen- det, welche Items mit welchen Nutzern (wie stark) in Verbindung stehen. Die Gewichtung wird entweder direkt vom Nutzer angegeben, indem der Nutzer ein Item bewertet, oder indirekt, indem das System die Nutzung des Items überwacht. In Collaborative Filtering (CF), which is shown in FIG. 3, the content of items does not matter. Only the information is used, which items are related to which users (how strong). The weighting is either specified directly by the user by the user rating an item or indirectly by the system monitoring the usage of the item.
Wie beim Content Based Filtering kann die Gewichtung beispielsweise umso stärker sein, je öfter ein Item genutzt wird. Oder ein Item, welches gekauft wurde, wird stärker gewichtet als ein Item welches kostenlos heruntergeladen wurde. Berechnet wird dann auch nicht die Ähnlichkeit zwischen Nutzer-Modellen und I- tem-Modellen sondern ausschließlich die Ähnlichkeit von Nutzermodellen zueinander (User-User Matching). Hier gibt es wieder viele bekannte Verfahren. Im Wesentlichen wird bei allen Verfahren geprüft, welche Nutzermodelle möglichst viele Items in ähnlicher Gewichtung gemeinsam haben. Wurden nun ähnliche Nutzermodelle identifiziert, werden dem Nutzer 1 die Items empfohlen die mit dem ähnlichen Nutzer 2 in starker Verbindung stehen (und die Nutzer 1 gegebenenfalls noch nicht kennt). Es ist auch möglich, die Nutzermodelle wie beim Content Based Filtering zu erzeugen und basierend auf diesen Nutzermodellen gleiche Nutzer zu identifizieren. Dieser Ansatz ist in Fig. 4 gezeigt. Zumindest beim Content Based Filtering (CBF) ist das Erstellen der Item-Modelle ein zentraler Bestandteil, da alles andere, d.h., das Erstellen der Nutzermodelle und das Matching von Nutzern und Items, hierauf basiert. Wie vorstehend erwähnt, ist ein häufig verwendetes Modell das Vector Space Model, welches ein textuelles Item als Vektor seiner Terme speichert, wobei die Länge des Vektors die Gewichtung des jeweiligen Terms in Bezug auf das Item repräsentiert. Um das Gewicht der Terme zu bestimmen, gibt es zahlreiche Verfahren. Nachteilig ist hierbei jedoch, dass mit diesen aus dem Stand der Technik bekannten Verfahren nur die Modellierung von "normalen" textuellen Items, also Dokumenten, wie Emails, Webseiten, Büchern, News Artikel, wissenschaftliche Artikel, etc., mög- lieh ist. For example, as with Content Based Filtering, the more often an item is used, the stronger the weight. Or an item that has been bought is weighted more heavily than an item downloaded for free. The similarity between user models and Item models is not calculated, but only the similarity of user models to each other (user-user matching). Here are many known methods. Essentially, all methods check which user models have as many items in common weight as possible in common. If similar user models have now been identified, the user 1 is recommended the items that are in strong connection with the similar user 2 (and that users 1 may not yet know). It is also possible to generate the user models as in the case of content-based filtering and to identify the same users based on these user models. This approach is shown in FIG. At least in Content Based Filtering (CBF), the creation of the item models is a central component, since everything else, ie the creation of user models and the matching of users and items, is based on this. As mentioned above, a commonly used model is the Vector Space Model, which stores a textual item as a vector of its terms, where the length of the vector represents the weighting of the respective term with respect to the item. To determine the weight of the terms, there are numerous methods. The disadvantage here, however, is that with these methods known from the prior art only the modeling of "normal" textual items, ie documents such as emails, web pages, books, news articles, scientific articles, etc., lent is possible.
Aufgabe der Erfindung Object of the invention
Aufgabe der Erfindung ist es daher, ein Verfahren und ein System bereitzustellen, welche es auf einfache Weise erlauben Item-Modelle bzw. Nutzermodelle auch für hierarchische, d.h. baumförmige Strukturen zu erzeugen, um basierend hierauf Nutzermodelle und Empfehlungen zu erstellen. The object of the invention is therefore to provide a method and a system which allow in a simple manner item models or user models also for hierarchical, i. Create tree-shaped structures to build user models and recommendations based on them.
Erfindungsgemäße Lösung Inventive solution
Diese Aufgabe wird durch ein Verfahren und ein System gemäß den unabhängigen Ansprüchen gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in den jeweiligen abhängigen Ansprüchen angegeben. Bereit gestellt wird demnach ein Verfahren zum Erzeugen eines Nutzermodells, insbesondere für einen Empfehlungsdienst, aus zumindest einer baumförmigen Datenstruktur, wobei das Nutzermodell Informationen über einen Nutzer umfasst, wobei die zumindest eine baumförmige Datenstruktur dem Nutzer zuordenbar ist, wobei die baumförmige Datenstruktur einen Wurzelknoten und eine Anzahl von Kinderknoten umfasst, welche über Kanten mit dem Wurzelknoten oder mit ei- nem Kinderknoten verbunden sind, wobei zumindest einem Knoten zumindest ein Element zugeordnet ist, und wobei This object is achieved by a method and a system according to the independent claims. Advantageous embodiments of the invention are specified in the respective dependent claims. Accordingly, a method is provided for generating a user model, in particular for a recommendation service, from at least one tree-shaped one Data structure, wherein the user model comprises information about a user, wherein the at least one tree-shaped data structure is assignable to the user, wherein the tree-shaped data structure comprises a root node and a number of child nodes, which are connected via edges to the root node or to a child node, wherein at least one node is associated with at least one element, and wherein
- die den Knoten zugeordneten Elemente ermittelt werden, wobei die Elemente einen Inhalt des jeweiligen Knoten repräsentieren,  the elements associated with the nodes are determined, the elements representing a content of the respective node,
- die ermittelten Elemente gewichtet werden und jedem Element eine Element- gewichtung zugeordnet wird, und  - the determined elements are weighted and an element weighting is assigned to each element, and
- ein Nutzermodell generiert wird, wobei das generierte Nutzermodell die ermittelten Elemente und die dem jeweiligen Element zugeordnete Elementgewich- tung umfasst. Die Knoten der baumförmigen Datenstruktur können gewichtet werden und jedem Knoten kann eine Knotengewichtung zugeordnet werden.  a user model is generated, wherein the generated user model comprises the determined elements and the element weight assigned to the respective element. The nodes of the tree-shaped data structure can be weighted and each node can be assigned a node weighting.
In einem Initialisierungsschritt kann jedem Element eine vorbestimmte Element- gewichtung oder die Knotengewichtung des zugeordneten Knotens zugeordnet werden. In an initialization step, each element can be assigned a predetermined element weighting or the node weighting of the associated node.
Das Verfahren kann ferner einen Vorverarbeitungsschritt umfassen, bei demThe method may further include a preprocessing step in which
- Knoten, denen keine Elemente zugeordnet sind, gelöscht werden, und/oder- nodes that have no elements assigned are deleted, and / or
- Knoten gelöscht werden, denen ein vorbestimmtes Element zugeordnet oder nicht zugeordnet ist, und/oder - Nodes are deleted to which a predetermined element is assigned or not assigned, and / or
- Knoten gelöscht werden, welche vorbestimmte Attribute aufweisen oder nicht aufweisen, und/oder  - nodes are deleted, which have or do not have predetermined attributes, and / or
- Knoten und/oder Elemente der Knoten gelöscht werden, welche nicht direkt dem Nutzer zugeordnet sind. Das Gewichten der Knoten kann eine statische Knotengewi chtung und/oder eine dynamische Knotengewi chtung umfassen, wobei - Nodes and / or elements of the nodes are deleted, which are not assigned directly to the user. The weighting of the nodes may include static node weighting and / or dynamic node weighting, where
- bei der statischen Knotengewi chtung die Anzahl der dem jeweiligen Knoten zugeordneten Kinderknoten, die Anzahl der jeweiligen Geschwisterknoten, die Tiefe des jeweiligen Knotens in der baumförmigen Datenstruktur, die Sichtbarkeit des Knotens, oder eine Kombination hiervon berücksichtigt werden, und  in the case of static node management, the number of child nodes assigned to the respective node, the number of the respective sibling nodes, the depth of the respective node in the tree-shaped data structure, the visibility of the node, or a combination thereof are taken into account, and
- bei der dynamischen Knotengewichtung für jeden Knoten das Alter, der Zeitpunkt der letzen Änderung, die Anzahl der Änderungen, die Anzahl der Ver- Schiebungen innerhalb der baumförmigen Datenstruktur, die Anzahl der Markierungen, die Sichtbarkeit des Knotens, ein Dämpfungsfaktor, oder eine Kombination hiervon berücksichtigt werden.  for the dynamic node weighting for each node, the age, the time of the last change, the number of changes, the number of shifts within the tree-shaped data structure, the number of markers, the visibility of the node, an attenuation factor, or a combination thereof be taken into account.
Das Ermitteln der den Knoten zugeordneten Elemente kann ein Vorverarbeiten der ermittelten Elemente umfassen, wobei beim Vorverarbeiten der Elemente Text in Token und/oder Terme zerlegt wird, sofern das Element ein Textelement ist, und/oder Verweise verarbeitet werden, sofern das Element ein Verweiselement ist. Die in dem Initialisierungsschritt den Elementen zugeordneten Elementgewichtungen können angepasst werden, wobei beim Anpassen der jeweiligen Element- gewichtung der Elementtyp, Attributsausprägungen der von dem Element zugeordneten Attribute, eine Häufigkeit des Elements innerhalb der baumförmigen Datenstruktur, die Anzahl der baumförmigen Datenstrukturen in einer Kollektion von baumförmigen Datenstrukturen in denen das Element vorkommt, eine Häufigkeit des Elements innerhalb einer Kollektion von baumförmigen Datenstrukturen, die Größe der baumförmigen Datenstruktur im Verhältnis zu anderen baumförmigen Datenstrukturen in einer Kollektion von baumförmigen Datenstrukturen, die Position des Elementes innerhalb des Knotens, die Sprache des Elementes, die Anzahl der Elemente innerhalb des Knotens, der Abstand des Elementes zu gleichartigen Elementen anderer Knoten, Häufigkeit des Elementes in dem Pfad zwischen dem Knoten und dem Wurzelknoten, das Alter des Elements, der Zeitpunkt der letzen Änderung, die Anzahl der Änderungen, die Anzahl der Markierungen, die Sichtbarkeit des Elements, ein Dämpfungsfaktor, oder eine Kombination hiervon berücksichtigt werden. Determining the elements associated with the nodes may include preprocessing the determined elements, wherein the pre-processing of the elements decomposes text into tokens and / or terms, provided that the element is a text element and / or references are processed, if the element is a reference element , The element weights assigned to the elements in the initialization step may be adjusted, where, when adjusting the respective element weights, the element type, attribute values of the attributes associated with the element, a frequency of the element within the tree-shaped data structure, the number of tree-shaped data structures in a collection of tree-shaped ones Data structures in which the element occurs, a frequency of the element within a collection of tree-shaped data structures, the size of the tree-shaped data structure relative to other tree-shaped data structures in a collection of tree-shaped data structures, the position of the element within the node, the language of the element, the Number of elements within the node, the distance of the element to similar elements of other nodes, frequency of the element in the path between the node and the root node, the age of the element, the time of the last change, the number of changes, the number of marks, the visibility of the element, an attenuation factor, or a combination thereof.
Bei der statischen Knotengewi chtung und/oder bei der dynamischen Knotenge- wichtung oder nach der statischen Knotengewi chtung und/oder nach der dynamischen Knotengewi chtung und/oder bei oder nach der Elementgewichtung kann eine Vererbung des Knotengewichts bzw. des Elementgewichts berücksichtigt werden. In the case of static node weighting and / or dynamic nodal weighting or after static knot weighting and / or after dynamic knot weighting and / or during or after element weighting, an inheritance of the node weight or element weight may be taken into account.
Das generierte Nutzermodell kann in einer Speichereinrichtung gespeichert werden, um dem Empfehlungsdienst zur Verfügung gestellt zu werden. Alle Elemente können zusammen mit den jeweiligen Elementgewichtungen als Nutzermodell gespeichert werden, oder für jeden Elementtyp kann ein eigenes Nutzermodell gespeichert werden, wobei die Nutzermodelle der verschiedenen Elementtypen ein Gesamtnutzermodell bilden. Bei mehreren dem Nutzer zuordenbaren baumförmigen Datenstrukturen kann für jede baumförmige Datenstruktur eine Anzahl von Nutzermodellen generiert werden, welche zusammen ein dem Nutzer zugeordnetes Gesamtnutzermodell bilden. The generated user model may be stored in a storage device to be provided to the recommendation service. All elements can be stored together with the respective element weightings as a user model, or for each element type a separate user model can be stored, whereby the user models of the different element types form an overall user model. In the case of a plurality of tree-shaped data structures that can be assigned to the user, a number of user models can be generated for each tree-shaped data structure, which together form an overall user model assigned to the user.
Jeder baumförmigen Datenstruktur kann eine Baumgewi chtung zugeordnet wer- den. Each tree-shaped data structure can be assigned a tree weighting.
Für eine neue dem Nutzer zuordenbare baumförmige Datenstruktur kann das dem Nutzer zugeordnete Nutzermodell angepasst werden. Von der baumförmigen Datenstruktur referenzierte Elemente können in das Nutzermodell eingefügt werden und wie Elemente der baumförmigen Datenstruktur behandelt werden. Einem generierten Nutzermodell kann eine Information über den Nutzermodelltyp zugeordnet werden. For a new user-assignable tree-shaped data structure, the user model assigned to the user can be adapted. Elements referenced by the tree-shaped data structure can be inserted into the user model and treated as elements of the tree-shaped data structure. A generated user model can be assigned information about the user model type.
Das Verfahren kann ferner ein Auswählen von Objekten anhand vorbestimmter Auswahlkriterien umfassen, wobei ein Objekt ein Nutzermodell oder ein Itemmo- dell umfasst. The method may further include selecting objects based on predetermined selection criteria, wherein an object comprises a user model or an item model.
Die Auswahlkriterien können umfassen: The selection criteria may include:
- Objekte eines vorbestimmten Typs, und/oder  - Objects of a predetermined type, and / or
- Objekte die eine vorbestimmte Ähnlichkeit zu dem Nutzermodell und/oder Itemmodell aufweisen, wobei vor dem Auswählen Ähnlichkeitswerte zwischen dem generierten Nutzermodell und/oder Itemmodell und den Objekten ermittelt werden.  Objects having a predetermined similarity to the user model and / or item model, similarity values being determined between the generated user model and / or item model and the objects before the selection.
Durch ein Itemmodell kann ein Förderprogramm repräsentiert werden, wobei das das Förderprogramm repräsentierende Itemmodell ausgewählt wird, wenn das Nutzermodell eine vorbestimmte Ähnlichkeit zu dem Itemmodell aufweist. By an item model, a promotion program can be represented, wherein the item model representing the promotion program is selected when the user model has a predetermined similarity to the item model.
Bereit gestellt wird ferner ein System zum Erzeugen eines Nutzermodells, insbesondere für einen Empfehlungsdienst, aus zumindest einer baumförmigen Daten- struktur, wobei das Nutzermodell Informationen über einen Nutzer umfasst, wobei die baumförmige Datenstruktur dem Nutzer zuordenbar ist, wobei die baum- förmige Datenstruktur einen Wurzelknoten und eine Anzahl von Kinderknoten umfasst, welche über Kanten mit dem Wurzelknoten oder mit einem Kinderknoten verbunden sind, und wobei zumindest einem Knoten zumindest ein Element zugeordnet ist, wobei das System aufweist: - wenigstens eine Speichereinrichtung zum Speichern wenigstens einer baum- förmigen Datenstruktur, und Also provided is a system for generating a user model, in particular for a recommendation service, from at least one tree-shaped data structure, wherein the user model comprises information about a user, wherein the tree-shaped data structure can be assigned to the user, wherein the tree-shaped data structure is a root node and a number of child nodes connected via edges to the root node or to a child node, and wherein at least one node is associated with at least one element, the system comprising: at least one memory device for storing at least one tree-shaped data structure, and
- eine Verarbeitungseinrichtung, welche mit der Speichereinrichtung gekoppelt ist und welche angepasst ist ein Verfahren nach einem der vorhergehenden An- sprüche auszuführen, um ein Nutzermodell zu generieren und das generierte Nutzermodell in der Speichereinrichtung abzuspeichern und einem Empfehlungsdienst zur Verfügung zu stellen.  a processing device which is coupled to the storage device and which is adapted to carry out a method according to one of the preceding claims, in order to generate a user model and to store the generated user model in the storage device and make it available to a recommendation service.
Des Weiteren wird ein Datenträgerprodukt bereit gestellt, mit einem darauf ge- speicherten Programmcode, welcher in einen Computer und / oder in ein Computernetzwerk ladbar ist und angepasst ist, ein erfindungsgemäßes Verfahren auszuführen. Furthermore, a data carrier product is provided, with a program code stored thereon, which can be loaded into a computer and / or into a computer network and is adapted to carry out a method according to the invention.
Kurzbeschreibung der Figuren Brief description of the figures
Die Erfindung wird anhand eines Ausführungsbeispiels und der Zeichnung näher erläutert. In der Zeichnung zeigt: The invention will be explained in more detail with reference to an embodiment and the drawing. In the drawing shows:
Fig. 1 einen aus dem Stand der Technik bekannten Ansatz für ein soge- nanntes "User-Item Matching"; 1 shows a known from the prior art approach for a so-called "user-item matching";
Fig. 2 ein aus dem Stand der Technik bekanntes "Content Based Filtering"  2 is a known from the prior art "Content Based Filtering"
Verfahren;  Method;
Fig. 3 ein sogenanntes "Collaborative Filtering" Verfahren, wie es aus dem  Fig. 3 is a so-called "Collaborative Filtering" method, as it is known from
Stand der Technik bekannt ist;  Prior art is known;
Fig. 4 eine Abwandlung des aus dem Stand der Technik bekannten "Collaborative Filtering" Verfahrens; 4 shows a modification of the "Collaborative Filtering" method known from the prior art;
Fig. 5 eine baumförmige (hierarchische) Datenstruktur; 5 shows a tree-shaped (hierarchical) data structure;
Fig. 6a, 6b zwei baumförmige Datenstrukturen, welche im Sinne der Erfindung die gleiche Aussage haben; und Fig. 7a, 7b ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens. Detaillierte Beschreibung der Erfindung FIGS. 6a, 6b show two tree-shaped data structures which have the same meaning in the sense of the invention; and FIGS. 7a, 7b show a flow diagram of a method according to the invention. Detailed description of the invention
Definitionen definitions
- Baumförmige Datenstruktur - Als baumförmige Datenstruktur (im Folgenden BD) wird eine Datenstruktur bezeichnet mit der sich eine Monohierarchie abbilden lässt. Dabei sind in der Datenstruktur Knoten mittels Kanten baumför- mig verbunden. Es gibt genau einen Wurzelknoten, der beliebig viele Kinder- knoten haben kann. Jeder Kinderknoten kann wiederum beliebig viele Kinderknoten haben. - Tree-shaped data structure - A tree-shaped data structure (hereinafter BD) is a data structure with which a monohaurarchy can be mapped. In this case, nodes in the data structure are connected in a tree-shaped manner by means of edges. There is exactly one root node that can have any number of child nodes. Each child node can in turn have any number of children's nodes.
Beispiele für BD im Sinne der Erfindung sind vor allem, aber nicht ausschließlich, Verzeichnis strukturen und/oder Dateisysteme auf einer Festplatte (Ordner und Dateien) oder sogenannte Mind Maps. Handelt es sich bei der BD um ein Dateisystem entsprechen die "Blätter" (das sind die jeweils letzten Knoten eines Pfades in einer BD) Dateien oder Dateiverknüpfungen und alle anderen Knoten entsprechen Verzeichnissen bzw. Ordnern. Knoten einer BD enthalten in der Regel ein oder mehrere Elemente. Diese Elemente können unterschiedlichen Typs sein. Übliche Elemente bzw. Elementtypen sind: Text (im Falle eines Dateisystems wäre der Knotentext der Datei- oder Verzeichnisname), zusätzliche Notizen, Tabellen, Termine, Multimediaobjekte (Musik, Film, Bild), Icons, Formeln, Verweise (in der Regel auf externe Items), Zahlen, und / oder Binärcode (insbesondere falls es sich bei der BD um eine Verzeichnisstruktur handelt und der Knoten eine Datei ist). Ein Verweis kann eine eindeutige URI (Uniform Resource Identifier) sein, z.B. Hyperlink, lokaler Link/Verknüpfung auf eine Datei auf einem Speichermedium (z.B. Festplatte). Ein Verweis kann aber auch eine nicht eindeutige Be- Schreibung sein, die ein Item identifiziert (z.B. Titel eines Dokumentes, Autorenname, Foto, BibTeX Key, Name eines Ortes oder Produktes). Jedes der Elemente kann eine Anzahl von Attributen besitzen. So kann Text unterschiedlich formatiert sein, also hinsichtlich z.B. Größe und Farbe unterschiedliche Werte annehmen. Auch Knoten selbst können Attribute besitzen, insbesondere um die Anzeige der Knoten zu formatieren oder dem Knoten bestimmte Funktionen zuzuordnen. Beispielsweise können Knoten mittels Attributen als "eingeklappt" oder "ausgeklappt" dargestellt werden, das heißt für den Nutzer sichtbar oder unsichtbar sein. Genauso wie Knoten können einzelne Elemente eines Knotens sichtbar oder unsichtbar für den Nutzer sein. Examples of BD within the meaning of the invention are, but are not limited to, directory structures and / or file systems on a hard disk (folders and files) or so-called mind maps. If the BD is a file system, the "leaves" (which are the last nodes of a path in a BD, respectively) correspond to files or file associations, and all other nodes correspond to directories or folders. Nodes of a BD usually contain one or more elements. These elements can be of different types. Common elements or element types are: text (in the case of a file system, the node text would be the file or directory name), additional notes, tables, appointments, multimedia objects (music, film, image), icons, formulas, links (usually to external Items), numbers, and / or binary code (especially if the BD is a directory structure and the node is a file). A reference can be a unique URI (Uniform Resource Identifier), eg hyperlink, local link / link to a file on a storage medium (eg hard disk). A reference can also be a non-unique description that identifies an item (eg title of a document, author name, photo, BibTeX Key, name of a place or product). Each of the elements can have a number of attributes. Thus, text can be formatted differently, so take different values in terms of size and color. Nodes themselves can also have attributes, in particular to format the display of the nodes or to assign specific functions to the node. For example, nodes may be represented as "collapsed" or "expanded" by attributes, that is, visible or invisible to the user. Just like nodes, individual elements of a node can be visible or invisible to the user.
Kanten in einer BD sind in der Regel ungerichtet und enthalten üblicherweise keine textuellen Informationen. Kanten können aber auch gerichtet sein. Edges in a BD are usually undirected and usually contain no textual information. Edges can also be directed.
Item - Items sind beliebige Objekte, d.h., zum Beispiel Dokumente (Bücher, Webseiten, wissenschaftliche Artikel), Dateien, Werbeanzeigen (in Bild, Text, Ton), Personen, Musikstücke oder Musikalben, Filme, Produkte, geographische Orte, etc. oder deren digitale Repräsentation (d.h. nicht zwangsweise ein physisches Buch, sondern z.B. die digitale Kopie/Repräsentation des Buches in verschiedensten Formaten). Item items are arbitrary objects, ie, for example, documents (books, web pages, scientific articles), files, advertisements (in image, text, sound), persons, music pieces or music albums, movies, products, geographical locations, etc. or theirs Digital representation (ie not necessarily a physical book, but eg the digital copy / representation of the book in various formats).
Nutzer - Ein Nutzer ist eine Person die das erfindungsgemäße System anwendet bzw. nutzt. Ein Nutzer kann auch ein sogenannter Agent, eine Art elektronische Person bzw. ein System, welches das Verhalten einer realen Person simuliert. User - A user is a person who applies or uses the system according to the invention. A user can also be a so-called agent, a type of electronic person or a system that simulates the behavior of a real person.
Nutzermodell - Ein Nutzermodell umfasst die Interessen, das Wissen oder andere Informationen über die Person, üblicherweise in maschinenlesbarer Form. Im Folgenden werden die Begriffe Interessen bzw. Wissen eines Nutzers bzw. Information über den Nutzer synonym verwendet. - Verbindung zwischen BD und Nutzer - Eine BD steht mit einem Nutzer in Verbindung bzw. ist dem Nutzer zuordenbar, wenn dieser Nutzer z.B. die BD erstellt, editiert, heruntergeladen, oder geöffnet hat oder sich die BD im Besitz des Nutzers befindet oder befand (z.B. auf der Festplatte des Nutzers gespei- chert ist bzw. war). User Model - A user model includes the interests, knowledge or other information about the person, usually in machine-readable form. In the following, the terms interests or knowledge of a user or information about the user are used synonymously. - Connection between BD and user - A BD is in connection with a user or is assignable to the user if this user created, edited, downloaded or opened the BD, for example, or if the BD was or was in the possession of the user (eg is stored on the user's hard disk).
- Kollektion - Eine Kollektion ist die Menge aller BD auf die das erfindungsgemäße System Zugriff hat. Erfindungsgemäß werden baumförmige Datenstrukturen BD analysiert, die mit dem Nutzer in Verbindung stehen bzw. einem Nutzer zuordenbar sind, um ein Modell des Nutzers, d.h. ein Nutzermodell, zu erstellen. Ein Nutzermodell umfasst insbesondere, aber nicht ausschließlich, Informationen über die Interessen und das Wissen des Nutzers. - Collection - A collection is the set of all BD to which the system according to the invention has access. According to the invention, tree-shaped data structures BD which are associated with the user or can be assigned to a user are analyzed in order to obtain a model of the user, i. a user model to create. A user model includes, but is not limited to, information about the user's interests and knowledge.
Fig. 5 zeigt eine erfindungsgemäße baumförmige Datenstruktur BD. Eine baumförmige Datenstruktur BD umfasst eine Anzahl von Knoten, wobei ein spezieller Knoten den Root-Knoten bzw. den Wurzelknoten repräsentiert. Die anderen Knoten werden als Kinderknoten bezeichnet, wobei die Kinderknoten über Kanten mit dem Wurzelknoten oder mit einem Kinderknoten verbunden sind. Knoten, welche keine Kinderknoten enthalten, werden als "Blätter" bezeichnet. Jeder Knoten kann einen oder mehrere Verweise auf externe Items enthalten. In Fig. 5 besitzt der Knoten 2.i einen solchen Verweis auf ein Item. Erfindungsgemäß beschreiben der Inhalt einer baumförmige Datenstruktur und gegebenenfalls die Items die aus einer baumförmige Datenstruktur verlinkt werden bzw. die Inhalte der verlinkten Items die Interessen des Nutzers und können zur Generierung eines Nutzermodells verwendet werden. Vereinfacht gesagt bedeutet dies, wenn die Knoten einer baumförmigen Datenstruktur häufig das Wort "Patent" enthalten, kann daraus geschlossen werden, dass der Nutzer der baumförmige Datenstruktur bzw. der Nutzer, dem die baumförmige Datenstruktur zu- ordenbar ist sich für Patente interessiert oder Kenntnisse auf diesem Gebiet hat. Der gleiche Schluss kann auch gezogen, wenn das Wort nicht in der baumförmige Datenstruktur selbst vorkommt, aber viele Dokumente (z.B. Patentschriften oder Webseiten) in der baumförmige Datenstruktur verlinkt sind, die das Wort "Patent" enthalten. 5 shows a tree-shaped data structure BD according to the invention. A tree-shaped data structure BD comprises a number of nodes, wherein a special node represents the root node or the root node. The other nodes are referred to as children's nodes, where the children's nodes are connected via edges to the root node or to a child node. Nodes that do not contain child nodes are called "leaves". Each node may contain one or more references to external items. In Fig. 5, the node 2.i has such a reference to an item. According to the invention, the content of a tree-shaped data structure and possibly the items which are linked from a tree-shaped data structure or the contents of the linked items describe the interests of the user and can be used to generate a user model. In simple terms, if the nodes of a tree-shaped data structure frequently contain the word "patent", it can be inferred that the user of the tree-shaped data structure or the user to whom the tree-shaped data structure belongs. ordenbar is interested in patents or has knowledge in this field. The same conclusion can be drawn if the word does not appear in the tree-shaped data structure itself, but many documents (eg patents or web pages) are linked in the tree-shaped data structure containing the word "patent".
Fig. 7a und Fig. 7b zeigen ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens zum Erzeugen eines Nutzermodells aus zumindest einer baumförmigen Datenstruktur. FIGS. 7a and 7b show a flow diagram of a method according to the invention for generating a user model from at least one tree-shaped data structure.
In einem ersten Schritt findet eine Vorverarbeitung statt, bei der die baumförmigen Datenstrukturen für eine weitere Verarbeitung angepasst bzw. aufbereitet werden. Der Schritt der Vorverarbeitung ist ein optionaler Schritt und muss nicht notwendigerweise durchgeführt werden, etwa wenn die baumförmigen Daten- strukturen bereits das für die weitere Verarbeitung notwendige Format aufweisen. In a first step, a preprocessing takes place in which the tree-shaped data structures are adapted or processed for further processing. The preprocessing step is an optional step and does not necessarily have to be performed, for example if the tree-shaped data structures already have the format required for further processing.
Die Vorverarbeitung kann ein Konvertieren der baumförmigen Datenstrukturen in ein für das System lesbares Format umfassen. Ferner kann die Vorverarbeitung ein Löschen von Knoten aus den baumförmigen Datenstrukturen umfassen, d.h., es können bestimmte Knoten gelöscht werden, die für das Erzeugen eines Nutzermodells nicht relevant sind. Löschen eines Knoten heißt, dass dieser aus der baumförmige Datenstruktur entfernt wird und die Kinderknoten des zu löschenden Knotens entweder ebenfalls entfernt werden oder die Kinderknoten dem Elternknoten des zu löschenden Knotens zugeordnet werden. Ein Knoten kann etwa gelöscht werden, wenn der Knoten eines oder mehrere der folgenden Kriterien erfüllt: The preprocessing may include converting the tree-shaped data structures to a system-readable format. Further, preprocessing may involve deleting nodes from the tree-shaped data structures, i.e., deleting certain nodes that are not relevant to creating a user model. Deleting a node means that it is removed from the tree-shaped data structure and the child nodes of the node to be deleted are either also removed or the child nodes are assigned to the parent node of the node to be deleted. For example, a node may be dropped if the node meets one or more of the following criteria:
- Der Knoten ist leer; - The node is empty;
- Der Knoten enthält ein bestimmtes Element (nicht), wie z.B. Text oder Verweis; - Der Knoten besitzt ein bestimmtes Attribut (nicht); - Der Knoten oder Elemente des Knotens stehen nicht direkt mit dem Nutzer in Verbindung. Dies kann der Fall sein, wenn ein Knoten nicht vom Nutzer selbst erzeugt wurde (z.B. bei Knoten einer Mind Map die auf eine Datei verlinken und wo der Text des Knotens gleich dem Dateinamen der verlinkten Datei ist kann angenommen werden, dass der Knoten automatisch, z.B. durch "Drag & Drop" entstanden ist, also der Text des Knotens nicht vom Nutzer erzeugt wurde, und deshalb keine oder nur eine geringe Aussagekraft besitzt). - The node contains a specific element (not), such as text or reference; - The node has a certain attribute (not); - The node or elements of the node are not directly connected to the user. This may be the case if a node was not created by the user (eg nodes of a mind map linking to a file and where the text of the node is equal to the file name of the linked file, it can be assumed that the node is automatically, eg was created by "drag &drop", so the text of the node was not generated by the user, and therefore has little or no meaningfulness).
Selbstverständlich können beim Löschen eines Knotens auch noch weitere Krite- rien berücksichtigt werden. Of course, when deleting a node further criteria can be taken into account.
Nach der (optionalen) Vorverarbeitung wird in einem nächsten Schritt basierend auf der baumförmigen Datenstruktur ein Nutzermodell erzeugt. Hierbei werden die Knoten einer baumförmigen Datenstruktur bzw. die Elemente der Knoten ana- lysiert, um die Interessen etc. des Nutzers zu identifizieren und in einem Nutzermodell zu speichern, welches dem Nutzer zugeordnet wird. Dies geschieht in den folgenden Schritten: After the (optional) preprocessing, a user model is generated in a next step based on the tree-shaped data structure. In this case, the nodes of a tree-shaped data structure or the elements of the nodes are analyzed in order to identify the interests etc. of the user and store them in a user model which is assigned to the user. This happens in the following steps:
A) Gewichten der Knoten A) Weights the nodes
Dem Gewichten der Knoten liegt die Annahme zugrunde, dass einige Knoten bzw. ihre Elemente aussagekräftiger sind um die Interessen des Nutzers zu beschreiben als andere Knoten bzw. ihre Elemente. Bei der Gewichtung der Knoten können zwei Teilgewichte berechnet werden. Es ist aber auch möglich nur eines der beiden Teilgewichte zu berechnen und dieses eine Teilgewicht als Knotengewicht eines Knotens zu betrachten. Die beiden Teilgewichte umfassen die statische Knotengewi chtung und die dynamische Knotengewi chtung. Selbstverständlich können auch noch weitere hier nicht genannte Teilgewichte berechnet werden. Die Kombination der berechneten Teilgewichte ergibt das Knotengewicht eines Knotens. Bei der statischen Knotengewi chtung können folgende Kriterien berücksichtigt werden: The weighting of the nodes is based on the assumption that some nodes or their elements are more meaningful to describe the interests of the user than other nodes or their elements. When weighting the nodes, two partial weights can be calculated. However, it is also possible to calculate only one of the two partial weights and to consider this partial weight as the node weight of a node. The two subweights include static node weighting and dynamic node weighting. Of course, other subweights not mentioned here can also be calculated. The combination of the calculated part weights gives the node weight of a node. For static node weighting, the following criteria can be taken into account:
- Anzahl der Kinderknoten: Ein Knoten wird abhängig von der Anzahl der Kinderknoten gewichtet, z.B. je mehr Kinder der Knoten hat desto mehr Gewicht erhält dieser Knoten. Number of child nodes: A node is weighted depending on the number of child nodes, e.g. the more children the knot has the more weight this knot receives.
- Anzahl der Geschwisterknoten: Geschwisterknoten eines Knotens sind jene Knoten, die denselben Elternknoten wie der betrachtete Knoten haben. Hier wird der Knoten abhängig von der Anzahl der Geschwisterknoten des Knotens gewichtet, z.B. je mehr Geschwister ein Knoten hat, desto weniger Gewicht bekommt er. - Number of sibling nodes: Sibling nodes of a node are those nodes that have the same parent node as the considered node. Here, the node is weighted depending on the number of sibling nodes of the node, e.g. The more siblings a knot has, the less weight it gets.
- Knoten-Tiefe: Je weiter oben (also je näher zum Wurzelknoten) in einer baum- förmige Datenstruktur ein Knoten ist, desto mehr Gewicht erhält er. Der Wurzelknoten bekommt also viel Gewicht, die Blattknoten weniger. - Node Depth: The higher up (that is, the closer to the root node) in a tree-shaped data structure is a node, the more weight it receives. The root node gets so much weight, the leaf nodes less.
- Sichtbarkeit des Knotens: Sichtbare Knoten erhalten mehr Gewicht als un- sichtbare Knoten. - Knot visibility: Visible knots receive more weight than invisible knots.
- Attribute: Ist der Knoten durch ein bestimmtes Attribut hervorgehoben, z.B. durch farbige Markierung oder Unterstreichung, so erhält er mehr Gewicht. Ist er durch bestimmte Attribute abgeschwächt, z.B. indem er ausgegraut oder durchgestrichen wurde, erhält er weniger Gewicht. Attributes: If the node is highlighted by a particular attribute, e.g. by colored marking or underlining, he gets more weight. Is it weakened by certain attributes, e.g. by graying out or stroking it, it gets less weight.
Bei der statischen Knotengewichtung wird die baumförmige Datenstruktur nur zu einem bestimmten Zeitpunkt betrachtet. Erfindungsgemäß können die Knoten aber auch dynamisch gewichtet, d.h., Veränderungen und Nutzungsintensivität der baumförmigen Datenstruktur über die Zeit können in die Knotengewichtung ein- fließen. Wenn beispielsweise ein Knoten intensiver genutzt wird, bzw. in der Vergangenheit intensiver genutzt wurde als andere Knoten, so kann dieser Knoten ein höheres Gewicht erhalten als die anderen Knoten. Die Gewichtung kann sich unter anderem ergeben aus: - Alter des Knotens: Ältere Knoten können mehr oder weniger Gewicht erhalten als jüngere Knoten. Vorzugsweise erhalten jüngere Knoten ein höheres Gewicht. Es kann auch ein Schwellenwert vorgesehen sein, beispielsweise der Art "Knoten die mindestens 12 Stunden und maximal 5 Tage alt sind". Knoten, die das Schwellenwertkriterium erfüllen erhalten ein höheres Gewicht. With static node weighting, the tree-shaped data structure is only considered at a certain point in time. However, according to the invention, the nodes can also be weighted dynamically, ie changes and usage intensity of the tree-shaped data structure over time can flow into the node weighting. If, for example, a node is used more intensively, or has been used more intensively in the past than other nodes, then this node can receive a higher weight than the other nodes. The weighting can result among other things from: - Age of the knot: Older knots may receive more or less weight than younger knots. Preferably, younger knots get a higher weight. There may also be a threshold, for example of the type "nodes that are at least 12 hours and at most 5 days old". Nodes that meet the threshold criterion receive a higher weight.
- Zeitpunkt der letzten Bearbeitung (z.B. Editierung): Knoten die kürzlich editiert wurden erhalten ein höheres Gewicht. - Time of last processing (for example editing): Nodes that were recently edited receive a higher weight.
- Anzahl der Bearbeitungen: Vorzugsweise kann ein Knoten, der öfter editiert wurde als andere Knoten ein höheres Gewicht erhalten. - Anzahl der Verschiebungen: Je öfter ein Knoten verschoben (ausgeschnitten und wieder eingefügt) wurde, desto mehr Gewicht erhält er. Number of edits: Preferably, a node that has been edited more often than other nodes may be given a higher weight. - Number of shifts: The more often a node has been moved (cut and reinserted), the more weight it receives.
- Anzahl der Markierungen: Je öfter ein Knoten ausgewählt/markiert wurde desto mehr Gewicht erhält er. - Number of markers: The more often a node is selected / marked, the more weight it gets.
- Sichtbarkeitsdauer: Je länger ein Knoten sichtbar war, desto mehr Gewicht erhält er. - Visibility period: The longer a node was visible, the more weight it receives.
- Anzahl der Sichtbarkeiten: Je öfter ein Knoten unsichtbar und wieder sichtbar gemacht wurde, das heißt ein- und ausgeklappt wurde, desto stärker ist sein Gewicht. - Number of Visibility: The more often a node has been made invisible and visible again, ie it has been folded in and out, the stronger its weight.
- Anzahl der verfolgten Verweise: Je öfter ein Verweis eines Knoten geöffnet wurde, desto größer ist das Gewicht des Knoten. - Number of tracked links: The more often a link has been opened, the greater the weight of the node.
Jede der vorstehend genannten (dynamischen) Gewichtungen kann mittels eines Zeitparameters geschwächt oder verstärkt werden. Hierzu ein Beispiel: Ein Knoten wird doppelt so stark gewichtet wenn er wenigstens zwei Mal editiert wurde. Liegt die letzte Editierung aber schon länger als X Wochen zurück, wird die Gewichtung durch einen dämpfenden Zeitparameter nur 1,5 Mal so stark gewichtet. Each of the above-mentioned (dynamic) weights may be weakened or enhanced by a time parameter. Here is an example: A node is weighted twice as much if it has been edited at least twice. If the last edit is longer than X weeks, the weighting is weighted only 1.5 times by a damping time parameter.
Zusätzlich zur vorstehend genannten statischen und/oder dynamischen Knoten- gewichtung kann eine Vererbung von Gewichten vorgesehen sein. Die Vererbung wird vorzugsweise dann durchgeführt, nachdem die statische bzw. dynamische Gewichtung durchgeführt worden ist. Bei der Vererbung von Gewichten können Knoten Gewichtungen von ihren umliegenden Knoten "erben". Hat etwa ein Elternknoten ein sehr hohes Gewicht (weil er z.B. oft ausgewählt wurde), kann auch der Kindsknoten ein höheres Gewicht bekommen als wenn er nur für sich betrachtet würde. Bevorzugt bekommen alle Kinderknoten und deren Knoten, alle Geschwisterknoten und alle Elternknoten und deren Eltern bis zur Wurzel ein höheres Gewicht, wobei das zusätzliche Gewicht schwächer wird, je weiter entfernt von dem vererbenden Knoten sich der erbende Knoten befindet. Zudem kann vor- gesehen sein, dass nur Knoten, die einen Schwellenwert (z.B. Gewichtung fünf Mal größer als normal) überschreiten das Gewicht an umliegende Knoten vererben können. Gehören mehrere Knoten einer baumförmige Datenstruktur einer bestimmten "Gruppe" an, kann die Gewichtung der einzelnen Knoten der Gruppe aneinander angeglichen bzw. vererbt werden. Gruppen können visuell in der baumförmige Datenstruktur erkennbar sein oder sich durch bestimmte Attribute bzw. Elementtypen auszeichnen. Beispiel: Eine baumförmige Datenstruktur enthält einige Knoten, die Verweise haben. Alle diese Knoten sind der Gruppe "Verweis-Knoten" zugeordnet. Obwohl nur 95% dieser Knoten eine sehr hohe Gewichtung haben, vergibt das System an alle Knoten (also auch an die restlichen 5%) eine sehr hohe Gewichtung. Die schwachen Knoten einer Gruppe erben quasi von ihren anderen Gruppenknoten. In addition to the static and / or dynamic node weighting mentioned above, inheritance of weights may be provided. Inheritance is preferably performed after the static or dynamic weighting has been performed. When inheriting weights, nodes can "inherit" weights from their surrounding nodes. If, for example, a parent node has a very high weight (because, for example, he was often selected), the child node can also be given a higher weight than if it were only considered individually. Preferably, all children's nodes and their nodes, all sibling nodes and all parent nodes and their parents get a higher weight to the root, the additional weight getting weaker the farther away from the hereditary node is the inheriting node. In addition, it can be provided that only nodes that exceed a threshold value (eg weighting five times greater than normal) can inherit the weight to surrounding nodes. If several nodes belong to a tree-shaped data structure of a certain "group", the weighting of the individual nodes of the group can be matched or inherited. Groups can be visually recognizable in the tree-shaped data structure or can be distinguished by specific attributes or element types. For example, a tree-shaped data structure contains some nodes that have references. All of these nodes are assigned to the Reference Node group. Although only 95% of these nodes have a very high weighting, the system assigns a very high weighting to all nodes (including the remaining 5%). The weak nodes of a group inherit from their other group nodes.
B) Identifizieren der Elemente in den Knoten In einem weiteren Schritt werden die Elemente in den Knoten identifiziert und ggf. einer Vorverarbeitung zugeführt. Hierbei werden zunächst die in jedem Knoten enthaltenden Elemente und deren Attribute identifiziert bzw. ermittelt. B) Identifying the Elements in the Nodes In a further step, the elements in the nodes are identified and possibly fed to preprocessing. First of all, the elements and their attributes contained in each node are identified or determined.
Handelt es sich bei dem ermittelten Element um ein Textelement, so wird dieser Text weiter zerlegt und zwar in Token bzw. Terme (Begriffe). Häufig kann als Term ein einzelnes Wort gelten, manchmal aber auch zusammengesetzte Wörter wie "Mind Map". Im Folgenden gilt jeder Term als eigenständiges Element vom Typ Text. If the determined element is a text element, this text is further decomposed into tokens or terms (terms). Often the term can be a single word, but sometimes also compound words like "Mind Map". In the following, each term is considered an independent element of type Text.
Die Terme können weiter verarbeitet werden. Hierfür können aus dem Stand der Technik bekannte Verfahren, etwa aus dem Bereich Information Retrieval herangezogen werden. Beispiele für solche Verfahren sind etwa The terms can be processed further. For this purpose, methods known from the prior art, for example in the field of information retrieval, can be used. Examples of such methods are about
- Stemming: Wörter werden auf ihre Stämme reduziert. Beispielsweise würde das Wort "Stämme" auf "Stamm" gestemmt bzw. reduziert. - Stemming: words are reduced to their stems. For example, the word "trunks" would be truncated to "tribe".
- Stop Word Rem oval: Sehr häufig vorkommende Wörter mit wenig Aussage- kraft (beispielsweise der, die, das, wo, wer, weshalb, schon, so, darum, ...) werden entfernt. - Stop Word Rem oval: Very frequently occurring words with little informative value (for example, those who, who, where, who, why, already, so, therefore, ...) are removed.
- Latent Semantic Indexing (LSI): Mit Latent Semantic Indexing werden Synonyme von Wörtern zusammengefasst bzw. berücksichtigt. - Latent Semantic Indexing (LSI): Latent Semantic Indexing combines or considers synonyms of words.
- Translation: die Worte werden in eine Referenzsprache, z.B. Englisch, über- setzt. Translation: the words are translated into a reference language, e.g. English, translated.
- Spelling Correction: Rechtschreibfehler werden erkannt und korrigiert oder gelöscht. - Spelling Correction: spelling errors are detected and corrected or deleted.
Bei dem ermittelten Element kann es sich auch um einen Verweis handeln. Ver- weise können ebenfalls vorverarbeitet werden, indem beispielsweise für jeden Verweis die URI (Uniform Ressource Identifier) und/oder die Sonderzeichen auf ein einheitliches Format konvertiert werden oder falls es sich um keinen eindeutigen Verweis handelt (z.B. lediglich der Titel eines Dokumentes), versucht wird einen eindeutigen Identifikator zu finden (im Falle eines Dokumentes beispiels- weise die ISBN). The determined element can also be a reference. References can also be preprocessed by, for example, converting the URI (Uniform Resource Identifier) and / or the special characters to a uniform format for each reference or, if it is not a unique reference (eg only the title of a document) will find a unique identifier (in the case of a document, for example, the ISBN).
C) Gewichten der Elemente Ähnlich wie die Knoten kann auch jedes Element eines Knotens gewichtet werden. Besonders Text- und Verweiselemente sind wichtig für die Erstellung des erfindungsgemäßen Nutzermodells. Vorzugsweise erhält jedes Element zunächst eine vorbestimmte Gewichtung (Initialgewichtung), etwa die Gewichtung 1 oder die Gewichtung seines zugehörigen Knotens. Dies kann etwa in einem Initialisierungsschritt erfolgen, bei dem alle Elemente mit einer Initialgewichtung versehen werden. C) Weights the elements Similar to the nodes, each element of a node can also be weighted. Especially text and reference elements are important for the creation of the user model according to the invention. Preferably, each element first receives a predetermined weighting (initial weighting), such as the weighting 1 or the weighting of its associated node. This can be done, for example, in an initialization step in which all elements are provided with an initial weighting.
Die Initialgewichtung eines Elementes kann verstärkt bzw. geschwächt werden, vorzugsweise basierend auf einen oder mehreren der folgenden Faktoren: The initial weight of an element may be strengthened or weakened, preferably based on one or more of the following factors:
- Element-Typ: Elemente bestimmter Typen können unterschiedliche Basisgewichtungen erhalten. Beispielsweise kann ein Text-Element welches den allgemeinen Knotentext darstellt eine höhere Gewichtung erhalten als ein Text- Element welches eine zusätzliche Notiz darstellt. - Attribute: Abhängig von den Attributen können Elemente eine stärkere oder schwächere Gewichtung bekommen. Beispielsweise kann ein Text-Element, welches fett formatiert ist stärker gewichtet werden als ein Text-Element ohne Formatierung. - Element Type: Elements of certain types can receive different basis weights. For example, a text element representing the general node text may receive a higher weighting than a text element representing an additional note. - Attributes: Depending on the attributes, elements can get a stronger or weaker weighting. For example, a text element that is bolded may be weighted more heavily than a text element without formatting.
- Element Frequenz: Je öfter ein Element in der baumförmigen Datenstruktur vorkommt, desto stärker kann seine Gewichtung sein. - Frequency element: The more often an element occurs in the tree-shaped data structure, the stronger its weighting can be.
- BD Frequenz: In je weniger baumförmigen Datenstrukturen der gesamten Kollektion ein Element vorkommt, desto stärker wird es gewichtet. Dies beruht auf der Annahme, dass ein Element, welches nur wenige Male in allen baumförmigen Datenstrukturen vorkommt, aussagekräftiger ist als ein Element, das in fast jeder baumförmigen Datenstruktur vorkommt. Enthält beispielsweise in einer Kollektion von 100 baumförmigen Datenstrukturen nur eine einzige baumför- mige Datenstruktur den Term "Baum", dann würde dieser Term stärker gewichtet in Bezug auf die baumförmige Datenstruktur als wenn 90 weitere baumförmige Datenstrukturen diesen Term ebenfalls enthalten. Kollektionsfrequenz: Je seltener das Element in der Gesamtmenge aller Elemente der gesamten Kollektion vorkommt, desto stärker wird es gewichtet. Dies ist sehr ähnlich zur BD Frequenz, mit dem Unterschied, dass bei der BD Frequenz die Anzahl der baumförmigen Datenstrukturen gezählt wird in denen das Element vorkommt und bei er Kollektionsfrequenz die Gesamtanzahl der Elemente selbst. - BD frequency: the less tree-shaped data structures in the entire collection have an element, the more it is weighted. This is based on the assumption that an element, which occurs only a few times in all tree-shaped data structures, is more meaningful than an element that occurs in almost every tree-shaped data structure. For example, in a collection of 100 tree-shaped data structures, if only a single tree-shaped data structure contains the term "tree," then this term would be weighted more heavily with respect to the tree-shaped data structure than if 90 other tree-shaped data structures also contained that term. Collection Frequency: The less often the element appears in the total of all elements of the entire collection, the more it is weighted. This is very similar to the BD frequency, except that the BD frequency counts the number of tree-shaped data structures in which the element occurs and, at its collection frequency, the total number of elements itself.
BD Größe: Je größer die baumförmige Datenstruktur, desto weniger stark wird das Element gewichtet. Dies unterliegt der Annahme, dass große baumförmige Datenstrukturen tendenziell mehr Elemente enthalten aber nicht gegenüber kleinen baumförmige Datenstrukturen bevorzugt werden sollen. Die Größe einer baumförmigen Datenstruktur kann angegeben werden durch die Anzahl der Knoten einer baumförmigen Datenstruktur oder durch die Anzahl der Elemente in einer baumförmigen Datenstruktur. BD size: The larger the tree-shaped data structure, the less heavily the element is weighted. This is based on the assumption that large tree-shaped data structures tend to contain more elements but should not be favored over small tree-shaped data structures. The size of a tree-shaped data structure can be specified by the number of nodes of a tree-shaped data structure or by the number of elements in a tree-shaped data structure.
Position im Knoten: Elemente die vorne im Knoten stehen werden anders gewichtet als Elemente weiter hinten im Knoten. Enthält ein Knoten beispielsweise 100 Terme, dann kann vorgesehen sein, dass nur die ersten 10 Terme berücksichtigt werden. Ferner kann vorgesehen sein, dass die weiteren Terme (z.B. die nächsten 10 Terme) mit weniger Gewicht berücksichtigt werden. Position in the node: Elements that are in the front of the node are weighted differently than elements further back in the node. If a node contains, for example, 100 terms, then it can be provided that only the first ten terms are taken into account. Furthermore, it can be provided that the further terms (for example the next 10 terms) are taken into account with less weight.
Sprache (falls der Knoten ein Text-Elemente enthält): Im Gegensatz zu Dokumenten, wie Webseiten, kommt es bei baumförmigen Datenstrukturen häufig vor, dass Terme in verschiedenen Sprachen enthalten sind. Die Elemente eines Knotens können abhängig von der Sprache unterschiedlich stark gewichtet werden. Das heißt auch, dass wenn z.B. der Text eines Knotens in einer bestimmten Sprache ist, die anderen Elemente des Knotens (zum Beispiel ein Verweis) weniger oder mehr gewichtet werden. Language (if the node contains text elements): Unlike documents, such as web pages, tree-shaped data structures often include terms in different languages. The elements of a node can be weighted differently depending on the language. This also means that if e.g. the text of a node in a particular language is weighting the other elements of the node (for example, a reference) less or more.
Knotenlänge: Elemente werden abhängig von der Knotenlänge gewichtet. Je weniger Elemente ein Knoten enthält, desto stärker können seine Elemente gewichtet werden. - Abstand zu gleichartigen Elementen: Je weniger gleichartige Elemente es in der Nähe eines Knotens gibt zu dem das Element gehört, desto mehr Gewicht bekommt das Element. Zum Beispiel: Hat ein Knoten einen Verweis auf ein Item und die umliegenden Knoten (z.B. alle Kinder, Geschwister und Eltern- knoten) enthalten keine Verweise, dann könnte dieser Verweis ein besonders hohes Gewicht bekommen, da die Vermutung nahe liegt, dass sich der Verweis auch auf die umliegenden Knoten bezieht. Haben hingegen Geschwisterknoten ebenfalls Verweise, bekommt dieser Verweis kein besonders hohes Gewicht. Node length: Elements are weighted depending on the node length. The fewer elements a node contains, the more its elements can be weighted. - Distance to similar elements: The less similar elements in the vicinity of a node to which the element belongs, the more weight the element gets. For example: If a node has a reference to an item and the surrounding nodes (eg all children, siblings and parent nodes) do not contain any references, then this reference could be given a particularly high weight, as it seems reasonable to assume that the reference also refers to the surrounding nodes. If, on the other hand, sibling nodes also have references, this reference does not receive a particularly high weight.
- Element-Wiederholung: Baumförmige Datenstrukturen können sehr benutzer- spezifisch erstellt werden. Beispielsweise kann es vorkommen, dass ein Nutzer- Element repetition: Tree-shaped data structures can be created very user-specifically. For example, it may happen that a user
Elemente in den Knoten oft wiederholt, ein anderer Nutzer aber nicht. Hier kann es vorteilhaft sein, das Gewicht eines Elementes zu verringern, je öfter einer der Elternknoten (bis hoch zum Wurzelknoten) oder Geschwisterknoten dieses Element bereits enthält. Fig. 6a und Fig. 6b verdeutlichen diesen Fall. Fig. 6a und Fig. 6b zeigen jeweils eine baumförmige Datenstruktur mit der gleichen Aussage von zwei Nutzern, wobei die baumförmigen Datenstrukturen dennoch unterschiedlich aussehen. In Fig. 6a wiederholt sich der Term "Re- commender" mehrfach, in Fig. 6b hingegen nicht. Trotzdem wäre der Term "Recommender" für beide baumförmigen Datenstrukturen bzw. Nutzer glei- chermaßen zutreffend und sollte gleichermaßen gewichtet werden. Elements in the nodes often repeated, but not another user. Here, it can be advantageous to reduce the weight of an element, the more often one of the parent nodes (up to the root node) or sibling node already contains this element. Fig. 6a and Fig. 6b illustrate this case. FIGS. 6a and 6b each show a tree-shaped data structure with the same statement of two users, the tree-shaped data structures nevertheless appearing differently. In FIG. 6a, the term "recommending" is repeated several times, but not in FIG. 6b. Nevertheless, the term "recommender" would be equally applicable for both tree-shaped data structures or users and should be equally weighted.
Die Gewichtung der Elemente kann auch mit den gleichen Verfahren stattfinden mit dem die Knoten gewichtet werden. Beispielsweise können ältere Elemente schwächer gewichtet werden als neuere und auch bei den Elementgewichtungen kann eine Vererbung stattfinden. The weighting of the elements can also take place using the same methods with which the nodes are weighted. For example, older elements can be weighted less heavily than newer ones, and inheritance can also take place in element weights.
D) Speichern des Nutzermodells D) Save the user model
In einer vorteilhaften Ausgestaltung der Erfindung kann es vorteilhaft sein, das generierte Nutzermodell zu speichern, um es etwa einem Empfehlungsdienst zur Verfügung zu stellen. Alternativ kann ein Nutzermodell aber auch auf Anforderung erstellt werden, ohne es zu speichern. In an advantageous embodiment of the invention, it may be advantageous to store the generated user model to make it about a recommendation service for To make available. Alternatively, a user model can also be created on demand without saving it.
Erfindungsgemäß können mindestens zwei verschiedene Ansätze genutzt werden, um ein Nutzermodell zu speichern. Die beiden hier gezeigten Ansätze sind das Typ-Neutrale Speichern und das Typ- Abhängige Speichern eines Nutzermodells. According to the invention, at least two different approaches can be used to store a user model. The two approaches shown here are type-neutral storage and type-dependent storage of a user model.
Bei der Typ-Neutralen Speicherung werden alle Elemente mit ihrer Gewichtung gespeichert. Das heißt, Terme, Links/Verweise, Bilder, etc. werden alle gemein- sam in dem Model gespeichert. In einer konkreten Ausgestaltung des erfindungsgemäßen Verfahrens kann hierfür das eingangs beschriebene Vector Space Model genutzt werden, welches durch die Erfindung so erweitert wird, dass nicht nur Terme mit einer Gewichtung gespeichert werden können, sondern vielmehr beliebige Elemente verschiedenen Typs mit ihrer Gewichtung und ihrem Typ. In type-neutral storage, all elements are stored with their weighting. That is, terms, links, links, images, etc. are all stored together in the model. In a concrete embodiment of the method according to the invention, the vector space model described at the outset can be used for this purpose, which is extended by the invention such that not only terms with a weighting can be stored, but also any elements of different types with their weighting and their type.
Bei der Typ- Abhängigen Speicherung kann für jeden Elementtyp ein separates Nutzermodell erzeugt werden, welche zusammen ein Gesamtnutzermodell bilden. Ein Nutzermodell umfasst dann beispielsweise ein Text-Modell und ein Verweis- Modell. Hierfür können Standardverfahren aus dem Information Retrieval Bereich bzw. User Modelling Bereich genutzt werden. Ein Standardmodell für ein Textbasiertes Modell wäre beispielsweise wieder das genannte Vector Space Model in dem die einzelnen Terme entsprechend des oben beschriebenen Verfahrens gewichtet sind. Verweise können auch in anderen Modellen gespeichert werden, die beispielsweise auch die Reihenfolge der Elemente in der baumförmigen Daten- struktur berücksichtigen. With type-dependent storage, a separate user model can be generated for each element type, which together form an overall user model. A user model then includes, for example, a text model and a reference model. For this purpose, standard methods from the information retrieval area or user modeling area can be used. For example, a standard model for a text-based model would again be the named vector space model in which the individual terms are weighted according to the method described above. References can also be stored in other models that, for example, also take into account the order of the elements in the tree-shaped data structure.
E) Weitere Schritte E) Further steps
Die nachfolgenden Schritte können optional zu den vorstehend genannten Schrit- ten ausgeführt werden. Hat ein Nutzer Beziehungen zu mehreren baumförmigen Datenstrukturen, kann für jede baumförmige Datenstruktur ein (bzw. mehrere) Modelle erzeugt werden, wie vorstehend beschrieben, und die verschiedenen Modelle am Ende zu einem Gesamtmodell zusammen gefügt werden. Hierbei können unterschiedliche baum- förmige Datenstrukturen mit unterschiedlicher Gewichtung versehen werden. Die Gewichtung erfolgt nach ähnlichen Prinzipien wie die Gewichtung der Knoten oder der Elemente. Beispielsweise kann eine neuere baumförmige Datenstruktur oder baumförmige Datenstrukturen, die häufiger geöffnet oder editiert wurden, stärker gewichtet werden. The subsequent steps can optionally be carried out for the abovementioned steps. If a user has relationships with several tree-shaped data structures, one (or more) models can be generated for each tree-shaped data structure, as described above, and the various models are finally joined together to form an overall model. Here, different tree-shaped data structures can be provided with different weighting. The weighting follows similar principles as the weighting of the nodes or elements. For example, a newer tree-shaped data structure or tree-shaped data structures that are opened or edited more frequently may be weighted more heavily.
Entsteht eine neue Beziehung zwischen einer baumförmigen Datenstruktur und einem Nutzer zu dem bereits ein Nutzermodell existiert, kann das bestehende Nutzermodell um die Elemente der neuen baumförmigen Datenstruktur erweitert werden. If a new relationship arises between a tree-shaped data structure and a user for whom a user model already exists, the existing user model can be extended by the elements of the new tree-shaped data structure.
Enthält eine baumförmige Datenstruktur Verweise auf Items, können diese Items ebenfalls für die Generierung eines Nutzermodells genutzt werden. Das heißt, die Elemente in dem verlinkten Item werden in das Nutzermodell eingefügt und zwar auf vergleichbare Weise wie Elemente der baumförmige Datenstruktur selbst. Diese Items können mit einer niedrigeren Gewichtung versehen werden. Ist das verlinkte Item eine baumförmige Datenstruktur, werden deren Elemente mit dem vorstehend beschriebenen Verfahren gewichtet. Ist das verlinkte Element z.B. eine Webseite, dann kann die Gewichtung mit Standardverfahren, wie dem TF-IDF durchgeführt werden. If a tree-shaped data structure contains references to items, these items can also be used to generate a user model. That is, the elements in the linked item are inserted into the user model in a manner similar to elements of the tree-shaped data structure itself. These items can be given a lower weighting. If the linked item is a tree-shaped data structure, its elements are weighted using the method described above. If the linked element is e.g. a web page, then the weighting can be done with standard methods, like the TF-IDF.
Die vorstehend genannten Typ-Neutralen und Typ-Abhängigen Modelle können in Untermodelle unterteilt sein, beispielsweise in The above type-neutral and type-dependent models may be subdivided into submodels, for example, in FIG
- Modelle für Kurzzeitinteressen: Dieses Modell würde beispielsweise nur Daten aus einer Session bzw. der zuletzt editierten baumförmigen Datenstruktur ent- halten (oder Daten der baumförmigen Datenstruktur, die in einem bestimmten Zeitraum editiert wurden). - Modelle für Langzeitinteressen: Dieses Modell würde Interessen basierend auf allen oder zumindest mehreren baumförmigen Datenstrukturen enthalten. - Models for short-term interests: For example, this model would only contain data from a session or the last edited tree-shaped data structure (or data of the tree-shaped data structure that were edited in a certain period of time). Long term interest models: This model would contain interests based on all or at least several tree-shaped data structures.
- Modelle für verschiedene Interessen: Es ist denkbar, dass Nutzer verschiedene baumförmige Datenstrukturen erstellen für z.B. verschiedene Projekte. Das heißt, eine baumförmige Datenstruktur (oder auch mehrere) werden genutzt für Projekt A und eine andere baumförmige Datenstruktur (oder auch mehrere) für ein anderes Projekt B. Erfindungsgemäß können baumförmige Datenstrukturen, die sehr unterschiedlich sind für die Erstellung unterschiedlicher Modelle genutzt werden (die ggf. auch wieder unterteilt werden in Langzeit und Kurzzeitinteressen). Die Identifizierung von zusammengehörigen baumförmigen Datenstrukturen kann folgendermaßen erfolgen: Models for Different Interests: It is conceivable that users create different tree-shaped data structures for e.g. different projects. That is, a tree-shaped data structure (or even several) are used for project A and another tree-shaped data structure (or more) for another project B. According to the invention, tree-shaped data structures that are very different can be used for creating different models (the possibly also be subdivided into long-term and short-term interests). The identification of related tree-shaped data structures can be done as follows:
- Inhaltliche Analyse: Hier werden mit den Verfahren zur Gewichtung von Termen oder Verweisen ähnliche baumförmige Datenstrukturen ermittelt. Unterschreiten die baumförmigen Datenstrukturen einen bestimmten Ähnlichkeits-Schwellenwert, werden sie für unterschiedliche Nutzermodelle genutzt. - Content analysis: Here are the methods for weighting terms or links similar tree-shaped data structures determined. If the tree-shaped data structures fall below a certain similarity threshold, they are used for different user models.
- Zeitliche Analyse: Baumförmige Datenstrukturen, die selten oder nie zur gleichen Zeit genutzt, geöffnet, etc. werden, werden für unterschiedliche Nutzermodelle genutzt. - Temporal analysis: Tree-shaped data structures that are rarely or never used at the same time, opened, etc., are used for different user models.
Baumförmige Datenstrukturen können für unterschiedliche Arten von Anwendungen genutzt werden, zum Beispiel Dateiverwaltung, Brainstorming, Dokumentenmanagement, Projektplanung etc. Die Art der Anwendung wird im Nutzermodell vermerkt. Wenn ein Nutzer verschiedene baumförmige Datenstrukturen für verschiedene Arten von Anwendungen erstellt, werden wieder jeweils verschiedene Nutzermodelle erstellt. Die Art der Anwendung kann wie folgt festgestellt werden: Tree-shaped data structures can be used for different types of applications, such as file management, brainstorming, document management, project planning, etc. The type of application is noted in the user model. When a user creates different tree-shaped data structures for different types of applications, different user models are created again. The type of application can be determined as follows:
- Über die Anwendung, mit der die baumförmige Datenstruktur erstellt wurde. Beispielsweise kann pauschal angenommen werden, dass eine baumförmige Datenstruktur, mit dem Windows Explorer erstellt worden ist zur Dateiverwaltung dient. - About the application that created the tree-shaped data structure. For example, it can be assumed that a tree-shaped Data structure with which Windows Explorer has been created is used for file management.
- Durch manuelle Angabe des Nutzers: Der Nutzer kann in der Anwendung zum Erstellen der baumförmigen Datenstruktur angeben für welchen Zweck er die baumförmige Datenstruktur erstellen will (z.B. Brainstorming, Projektplanung, etc.). By manually indicating the user: In the application for creating the tree-shaped data structure, the user can specify for which purpose he wants to create the tree-shaped data structure (for example brainstorming, project planning, etc.).
- Automatische Analyse: Das System analysiert die baumförmige Datenstruktur und schließt, z.B. an Hand ihres Aufbaus, ihrer Nutzung oder ihres Quellformates, automatisch auf die Art der Anwendung. Automatic analysis: the system analyzes the tree-shaped data structure and closes, e.g. on the basis of their structure, their use or their source format, automatically on the type of application.
Bei der automatischen Analyse können folgende Regeln angewandt werden: For automatic analysis, the following rules can be applied:
- Enthalten baumförmige Datenstrukturen viele Verweise, ist die primäre Anwendung Datei verwaltung, Web Seitenverwaltung bzw. Dokumentenverwaltung. - If tree-shaped data structures contain many references, the primary application is file management, web page management or document management.
- Werden erst sehr schnell sehr viele Knoten in der baumförmigen Datenstruktur erstellt, diese dann verschoben und editiert und die baumförmige Datenstruktur danach nie oder nur selten geöffnet, wurde sie für Brainstorming erstellt. - If very many nodes in the tree-shaped data structure are created very quickly, then moved and edited and the tree-shaped data structure then never or rarely opened, it was created for brainstorming.
- Wächst die baumförmige Datenstruktur langsam und kontinuierlich ist es keine baumförmige Datenstruktur für Brainstorming. - If the tree-shaped data structure grows slowly and continuously, it is not a tree-shaped data structure for brainstorming.
Bei der automatischen Analyse können Faktoren wie Wachstumsrate, Größe, Nutzungsdauer, Art der Nutzung, Anwendung zum Erstellen der baumförmigen Datenstruktur und/oder weitere Faktoren eine Rolle spielen. The automatic analysis may include factors such as growth rate, size, duration of use, type of usage, application to create the tree-shaped data structure, and / or other factors.
Mit dem vorstehend beschriebenen erfindungsgemäßen Verfahren sind für eine Anzahl von Nutzer jeweils ein oder auch mehrere Nutzermodelle erzeugt worden. Diese Nutzermodelle werden erfindungsgemäß genutzt, um einem Nutzer Empfehlungen für Items zu geben. Das heißt, basierend auf den Nutzermodellen können Items identifiziert werden, die der Nutzer wahrscheinlich als interes- sant/relevant empfindet. Um Items zu empfehlen, wird gemäß der Erfindung ein Verfahren vorgeschlagen, welches sowohl Item-Modelle als auch Nutzermodelle als gleich ansieht. Im Folgenden werden Items und Nutzer zusammengefasst als Objekt bezeichnet, wobei jedes Objekt einen Typ haben kann (Typ = Nutzer; Typ = Webseite; Typ = Email; Typ = Wissenschaftlicher Artikel; etc.). With the method according to the invention described above, in each case one or more user models have been generated for a number of users. These user models are used according to the invention to give a user recommendations for items. That is, based on the user models, items can be identified that the user is likely to consider interesting. sant / relevant. In order to recommend items, according to the invention a method is suggested which considers both item models and user models as equal. In the following, items and users are summarized as an object, whereby each object can have a type (type = user, type = website, type = email, type = scientific article, etc.).
Das erfindungsgemäße Verfahren zum Vorschlagen von Objekten kann zumindest die nachfolgend genannten Schritte umfassen: Die Nutzermodelle wurden bereits mit vorstehen genannten erfindungsgemäßen Verfahren erstellt und gespeichert. Nun wird von allen Items die potentiell empfohlen werden können, ein Item-Modell mit aus dem Stand der Technik bekannten Verfahren erzeugt. Handelt es sich bei dem Item beispielsweise um eine Webseite könnten Terme mittels TF-IDF gewichtet und als Vector Space Model gespeichert werden. Handelt es sich bei dem Item um eine wissenschaftliche Arbeit könnte ebenfalls TF-IDF genutzt werden, aber auch andere Verfahren, wie etwa Citation Proximity Analysis um das Item abzubilden. The method according to the invention for proposing objects can comprise at least the following steps: The user models have already been created and stored with the aforementioned methods according to the invention. Now, of all items that can potentially be recommended, an item model is generated using techniques known in the art. For example, if the item is a web page, terms could be weighted using TF-IDF and saved as a Vector Space Model. If the item is a scientific paper, TF-IDF could be used, as well as other methods, such as Citation Proximity Analysis, to model the item.
Es kann auch das vorstehend genannte Typ-Neutrale Verfahren genutzt werden, um ein entsprechendes Modell von Items zu erstellen die, wie baumförmige Datenstrukturen, mehrere Elementtypen enthalten. Dies trifft zum Beispiel auf wissenschaftliche Artikel zu. Eine wissenschaftliche Arbeit enthält in der Regel Text und Verweise (Referenzen auf andere wissenschaftlichen Arbeiten), vergleichbar zu einer baumförmigen Datenstruktur, die ebenfalls Text und Verweise (z.B. auf Dateien) enthält. Darum können beide relativ leicht mit kompatiblen Modelltypen abgebildet werden. Wichtig ist, dass erfindungsgemäß alle Objekte in dem gleichen bzw. einem kompatiblen Modell abgebildet werden, um diese später miteinander vergleichen zu können. Nachdem von allen Objekten Modelle erstellt und gespeichert wurden, werden diese auf Ähnlichkeit verglichen. Enthalten die Objektmodelle mehrere Untermo- delle (beispielsweise für Kurz- und Langzeitinteressen oder für verschiedene Elementtypen), wird jedes dieser Untermodelle mit den anderen Objektmodellen verglichen. Der Vergleich kann mit Standardverfahren stattfinden, wie Cosine für Vergleiche im Vector Space Model oder Ähnlichkeitsmaßen wie Greedy Citation Tiling für verweisbasierte Modelle. Das heißt letztlich, dass durch das Objekt- Objekt Matching die Ähnlichkeit der Nutzer zueinander, die Ähnlichkeit der Items zueinander und die Ähnlichkeit der Items und Nutzer zueinander in einem Schritt berechnet werden. Dies hat den Vorteil, dass einem Nutzer später sehr flexible Empfehlungen gegeben werden können. The above type-neutral method can also be used to create a corresponding model of items which, like tree-shaped data structures, contain several element types. This applies, for example, to scientific articles. A scientific paper usually contains text and references (references to other scientific papers), comparable to a tree-shaped data structure, which also contains text and references (eg to files). Therefore, both can be mapped relatively easily with compatible model types. It is important that according to the invention all objects are mapped in the same or a compatible model in order to be able to compare them later. Once models have been created and saved from all objects, they are compared for similarity. Do the object models contain several submissions? For example, for short-term and long-term interests or for different element types, each of these submodels is compared to the other object models. The comparison can take place using standard methods, such as Cosine for comparisons in the Vector Space Model or similarity measures such as Greedy Citation Tiling for reference-based models. In the end, this means that the similarity of the users to each other, the similarity of the items to one another and the similarity of the items and users to one another are calculated in one step by the object object matching. This has the advantage that a user can be given very flexible recommendations later.
Soll nun einem Nutzer eine Empfehlung gegeben werden, werden basierend auf seinem Objekt bzw. Nutzermodell: If a user is to be given a recommendation, based on his object or user model:
- alle Objekte empfohlen, die einen bestimmten Typ haben (z.B. Webseite bzw. allgemein„Item") oder ungleich eines bestimmten Typs sind (z.B. Nutzer) und einen gewissen Ähnlichkeitswert überschreiten; - recommends all objects that are of a certain type (e.g., website or "item" in general) or are of a different type (e.g., users) and exceed a certain similarity value;
- alle Objekte empfohlen, auf die in einem der im vorherigen Schritt bestimmten Objekte mit hohem Gewicht verwiesen wird. Wurde z.B. im vorherigen Schritt ein zum Nutzermodell ähnliches Objekt vom Typ Webseite bestimmt, werden dem Nutzer die Webseiten empfohlen die häufig auf der ähnlichen Webseite verlinkt sind. Oder, wurde ein ähnliches Objekt vom Typ "Nutzer" bestimmt werden die Items empfohlen, auf die häufig in dem Nutzermodell des ähnlichen Nutzers verwiesen wird bzw. die in enger Verbindung zu dem Nutzer stehen; und/oder - recommended all objects referenced in any of the high-weight objects identified in the previous step. Was e.g. In the previous step, a web-type object of the type web page is determined, the user is recommended the web pages that are often linked to the similar web page. Or, if a similar object of type "user" has been determined, the items that are frequently referenced in the user model of the similar user or that are in close association with the user are recommended; and or
- alle Objekte empfohlen, die ähnlich zu den Objekten sind, auf die im Nutzer- modell des Nutzers verwiesen wird. Das heißt: Hat ein Nutzer in seinem Nutzermodell einen Verweis auf eine Webseite X, werden die Objekte empfohlen die ähnlich zu dieser Webseite X sind. - recommended all objects that are similar to the objects referenced in the user's user model. This means: If a user has a reference to a website X in his user model, the objects that are similar to this website X are recommended.
Zusätzlich bzw. alternativ zu dem vorstehend beschriebenen Ansatz kann ein Ver- fahren basierend auf Machine Learning genutzt werden. Die Verweise eines Nut- zermodells können mit Machine Learning Verfahren genutzt werden, um die Präferenzen von Nutzern zu lernen. Hierbei gilt jeder Verweis auf ein Item als positive Assoziation, welche das System lernt und darauf basierend Empfehlungen für neue Items gibt. In addition or as an alternative to the approach described above, a method based on machine learning can be used. The references of a groove Zermodells can be used with machine learning techniques to learn user preferences. Here, any reference to an item is considered a positive association that the system learns and provides recommendations for new items based on it.
In einer speziellen Ausführung des erfindungsgemäßen Verfahrens kann dieses verwendet werden, um Empfehlungen für Fördergelder/Förderprogramme zu geben. Hierzu wird zunächst ein aus einer baumförmigen Datenstruktur ein Nutzermodell erzeugt, wie vorstehend beschrieben. Das Förderprogramm selbst wird als Item betrachtet. Das Item wiederum wird repräsentiert durch einen Text welcher das Förderprogramm beschreibt. Dieser Text kann eine Webseite sein, eine Broschüre im PDF Format, Social Tags, etc. Enthält beispielsweise ein Nutzermodell den stark gewichteten Term "Recommender Systems" und gibt es ein Förderprogramm, dessen Webseite ebenfalls diesen Term oft beinhaltet, würde dieses Förderprogramm dem Nutzer empfohlen. In a specific embodiment of the method according to the invention, this can be used to make recommendations for subsidies / funding programs. For this purpose, a user model is first generated from a tree-shaped data structure, as described above. The support program itself is considered an item. The item in turn is represented by a text describing the funding program. This text can be a website, a brochure in PDF format, social tags, etc. If, for example, a user model contains the heavily weighted term "Recommender Systems" and there is a funding program whose website also often includes this term, this support program would be recommended to the user ,
Durch die erfindungsgemäßen Nutzermodelle und Empfehlungen kann der Nutzen vieler Softwareprogramme für den Anwender gesteigert werden, da sie interessante Empfehlungen erhalten. By the user models and recommendations according to the invention, the benefit of many software programs for the user can be increased because they receive interesting recommendations.

Claims

Ansprüche claims
Computer-implementiertes Verfahren zum Erzeugen eines Nutzermodells, insbesondere für einen Empfehlungsdienst, aus zumindest einer baumförmi- gen Datenstruktur, wobei das Nutzermodell Informationen über einen Nutzer umfasst, wobei die zumindest eine baumförmige Datenstruktur dem Nutzer zuordenbar ist, wobei die baumförmige Datenstruktur einen Wurzelknoten und eine Anzahl von Kinderknoten umfasst, welche über Kanten mit dem Wurzelknoten oder mit einem Kinderknoten verbunden sind, wobei zumindest einem Knoten zumindest ein Element zugeordnet ist, und wobei A computer-implemented method for generating a user model, in particular for a recommendation service, from at least one tree-shaped data structure, wherein the user model comprises information about a user, wherein the at least one tree-shaped data structure can be assigned to the user, wherein the tree-shaped data structure comprises a root node and a Number of child nodes, which are connected via edges to the root node or with a child node, wherein at least one node is associated with at least one element, and wherein
- die den Knoten zugeordneten Elemente ermittelt werden, wobei die Elemente einen Inhalt des jeweiligen Knoten repräsentieren, the elements associated with the nodes are determined, the elements representing a content of the respective node,
- die ermittelten Elemente gewichtet werden und jedem Element eine Elementgewichtung zugeordnet wird, und weighting of the determined elements and assigning an element weighting to each element, and
- ein Nutzermodell generiert wird, wobei das generierte Nutzermodell die ermittelten Elemente und die dem jeweiligen Element zugeordnete Elementgewichtung umfasst. a user model is generated, wherein the generated user model comprises the determined elements and the element weight assigned to the respective element.
Verfahren nach Anspruch 1, wobei die Knoten der baumförmigen Datenstruktur gewichtet werden und jedem Knoten eine Knotengewi chtung zugeordnet wird. 3. Verfahren nach einem der vorhergehenden Ansprüche, wobei in einem Initialisierungsschritt jedem Element eine vorbestimmte Elementgewichtung oder die Knotengewichtung des zugeordneten Knotens zugeordnet wird. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren ferner einen Vorverarbeitungsschritt umfasst, bei dem The method of claim 1, wherein the nodes of the tree-shaped data structure are weighted and each node is assigned a node weighting. 3. The method according to any one of the preceding claims, wherein in an initialization step each element is assigned a predetermined element weighting or the node weighting of the associated node. Method according to one of the preceding claims, wherein the method further comprises a preprocessing step, in which
- Knoten, denen keine Elemente zugeordnet sind, gelöscht werden, und/oder - nodes that have no elements assigned are deleted, and / or
- Knoten gelöscht werden, denen ein vorbestimmtes Element zugeordnet oder nicht zugeordnet ist, und/oder - Nodes are deleted to which a predetermined element is assigned or not assigned, and / or
- Knoten gelöscht werden, welche vorbestimmte Attribute aufweisen oder nicht aufweisen, und/oder - nodes are deleted, which have or do not have predetermined attributes, and / or
- Knoten und/oder Elemente der Knoten gelöscht werden, welche nicht direkt dem Nutzer zugeordnet sind. - Nodes and / or elements of the nodes are deleted, which are not assigned directly to the user.
Verfahren nach einem der vorhergehenden Ansprüche, wobei das Gewichten der Knoten eine statische Knotengewi chtung und/oder eine dynamische Knotengewi chtung umfasst, wobei Method according to one of the preceding claims, wherein the weighting of the nodes comprises a static knot weighting and / or a dynamic knot weighting, wherein
- bei der statischen Knotengewi chtung die Anzahl der dem jeweiligen Knoten zugeordneten Kinderknoten, die Anzahl der jeweiligen Geschwisterknoten, die Tiefe des jeweiligen Knotens in der baumförmigen Datenstruktur, die Sichtbarkeit des Knotens, oder eine Kombination hiervon berücksichtigt werden, und in the case of static node management, the number of child nodes assigned to the respective node, the number of the respective sibling nodes, the depth of the respective node in the tree-shaped data structure, the visibility of the node, or a combination thereof are taken into account, and
- bei der dynamischen Knotengewi chtung für jeden Knoten das Alter, der Zeitpunkt der letzen Änderung, die Anzahl der Änderungen, die Anzahl der Verschiebungen innerhalb der baumförmigen Datenstruktur, die Anzahl der Markierungen, die Sichtbarkeit des Knotens, ein Dämpfungsfaktor, oder eine Kombination hiervon berücksichtigt werden. for the dynamic node weighting, the age, the time of the last change, the number of changes, the number of shifts within the tree-shaped data structure, the number of markings, the visibility of the node, an attenuation factor, or a combination thereof are taken into account for each node become.
Verfahren nach einem der vorhergehenden Ansprüche, wobei das Ermitteln der den Knoten zugeordneten Elemente ein Vorverarbeiten der ermittelten Elemente umfasst, wobei beim Vorverarbeiten der Elemente Text in Token und/oder Terme zerlegt wird, sofern das Element ein Textelement ist, und/oder Verweise verarbeitet werden, sofern das Element ein Verweiselement ist. Method according to one of the preceding claims, wherein the determination of the elements associated with the nodes comprises a preprocessing of the determined elements, wherein the preprocessing of the elements decomposes text into tokens and / or terms, provided that the element is a text element, and / or references, provided that the element is a reference element.
Verfahren nach einem der vorhergehenden Ansprüche, wobei die in dem Initialisierungsschritt den Elementen zugeordneten Elementgewichtungen ange- passt werden, wobei beim Anpassen der jeweiligen Elementgewichtung der Elementtyp, Attributsausprägungen der von dem Element zugeordneten Attribute, eine Häufigkeit des Elements innerhalb der baumförmigen Datenstruktur, die Anzahl der baumförmigen Datenstrukturen in einer Kollektion von baumförmigen Datenstrukturen in denen das Element vorkommt, eine Häufigkeit des Elements innerhalb einer Kollektion von baumförmigen Datenstrukturen, die Größe der baumförmigen Datenstruktur im Verhältnis zu anderen baumförmigen Datenstrukturen in einer Kollektion von baumförmigen Datenstrukturen, die Position des Elementes innerhalb des Knotens, die Sprache des Elementes, die Anzahl der Elemente innerhalb des Knotens, der Abstand des Elementes zu gleichartigen Elementen anderer Knoten, Häufigkeit des Elementes in dem Pfad zwischen dem Knoten und dem Wurzelknoten, das Alter des Elements, der Zeitpunkt der letzen Änderung, die Anzahl der Änderungen, die Anzahl der Markierungen, die Sichtbarkeit des Elements, ein Dämpfungsfaktor, oder eine Kombination hiervon berücksichtigt werden. Method according to one of the preceding claims, wherein the element weights assigned to the elements in the initialization step are adapted, wherein, when adjusting the respective element weighting, the element type, attribute values of the attributes assigned by the element, a frequency of the element within the tree-shaped data structure, the number of tree-shaped data structures in a collection of tree-shaped data structures in which the element occurs, a frequency of the element within a collection of tree-shaped data structures, the size of the tree-shaped data structure relative to other tree-shaped data structures in a collection of tree-shaped data structures, the position of the element within the node , the language of the element, the number of elements within the node, the distance of the element to similar elements of other nodes, frequency of the element in the path between the node and the root node, the age of the element, the time of the last change, the number of changes, the number of marks, the visibility of the element, a damping factor, or a combination thereof.
Verfahren nach einem der Ansprüche 5 bis 7, wobei bei der statischen Kno- tengewichtung und/oder bei der dynamischen Knotengewi chtung oder nach der statischen Knotengewi chtung und/oder nach der dynamischen Knotenge- wichtung und/oder bei oder nach der Elementgewichtung die Vererbung des Knotengewichts bzw. des Elementgewichts berücksichtigt werden. Method according to one of claims 5 to 7, wherein in the case of static nodal weighting and / or dynamic nodule weighting or static nodal weighting and / or dynamic nodal weighting and / or element weighting, the heredity of the Node weight or the element weight are taken into account.
Verfahren nach einem der vorhergehenden Ansprüche, wobei das generierte Nutzermodell in einer Speichereinrichtung gespeichert wird, um dem Empfehlungsdienst zur Verfügung gestellt zu werden. Method according to one of the preceding claims, wherein the generated user model is stored in a memory device to be provided to the recommendation service.
10. Verfahren nach Anspruch 9, wobei alle Elemente zusammen mit den jeweiligen Elementgewichtungen als Nutzermodell gespeichert werden, oder wobei für jeden Elementtyp ein eigenes Nutzermodell gespeichert wird, wobei die Nutzermodelle der verschiedenen Elementtypen ein Gesamtnutzermodell bil- den. 10. The method according to claim 9, wherein all elements are stored together with the respective element weights as a user model, or wherein for each element type a separate user model is stored, the user models of the different element types form an overall user model.
11. Verfahren nach einem der vorhergehenden Ansprüche, wobei bei mehreren dem Nutzer zuordenbaren baumförmigen Datenstrukturen für jede baumför- mige Datenstruktur eine Anzahl von Nutzermodellen generiert wird, welche zusammen ein dem Nutzer zugeordnetes Gesamtnutzermodell bilden. 11. The method according to any one of the preceding claims, wherein in the case of a plurality of tree-shaped data structures that can be assigned to the user, a number of user models is generated for each tree-shaped data structure, which together form an overall user model assigned to the user.
12. Verfahren nach Anspruch 11, wobei jeder baumförmigen Datenstruktur eine Baumgewi chtung zugeordnet wird. 13. Verfahren nach Anspruch 11 oder 12, wobei für eine neue dem Nutzer zuor- denbare baumförmige Datenstruktur das dem Nutzer zugeordnete Nutzermodell angepasst wird. 12. The method of claim 11, wherein each tree-shaped data structure is assigned a tree weighting. 13. The method according to claim 11, wherein the user-assigned user model is adapted for a new tree-shaped data structure that can be assigned to the user.
14. Verfahren nach einem der vorhergehenden Ansprüche, wobei von der baum- förmigen Datenstruktur referenzierte Elemente in das Nutzermodell eingefügt werden und wie Elemente der baumförmigen Datenstruktur behandelt werden. 14. The method according to any one of the preceding claims, wherein elements referenced by the tree-shaped data structure are inserted into the user model and treated as elements of the tree-shaped data structure.
Verfahren nach einem der vorhergehenden Ansprüche, wobei einem generierten Nutzermodell eine Information über den Nutzermodelltyp zugeordnet wird. Method according to one of the preceding claims, wherein information about the user model type is assigned to a generated user model.
16. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren ferner ein Auswählen von Objekten anhand vorbestimmter Auswahlkriterien umfasst, wobei ein Objekt ein Nutzermodell oder ein Itemmodell umfasst. 16. The method of claim 1, wherein the method further comprises selecting objects based on predetermined selection criteria, wherein an object comprises a user model or an item model.
17. Verfahren nach Anspruch 16, wobei die Auswahlkriterien umfassen: 17. The method of claim 16, wherein the selection criteria include:
- Objekte eines vorbestimmten Typs, und/oder - Objects of a predetermined type, and / or
- Objekte die eine vorbestimmte Ähnlichkeit zu dem Nutzermodell und/oder Itemmodell aufweisen, wobei vor dem Auswählen Ähnlichkeits werte zwischen dem generierten Nutzermodell und/oder Itemmodell und den Objekten ermittelt werden. Objects which have a predetermined similarity to the user model and / or item model, wherein similarity values are determined between the generated user model and / or item model and the objects before the selection.
18. Verfahren nach einem der vorhergehenden Ansprüche, wobei durch ein Itemmodell ein Förderprogramm repräsentiert wird, und wobei das das Förderprogramm repräsentierende Itemmodell ausgewählt wird, wenn das Nutzermodell eine vorbestimmte Ähnlichkeit zu dem Itemmodell aufweist. 18. The method according to claim 1, wherein a promotion program is represented by an item model, and wherein the item model representing the promotion program is selected when the user model has a predetermined similarity to the item model.
19. System zum Erzeugen eines Nutzermodells, insbesondere für einen Empfehlungsdienst, aus zumindest einer baumförmigen Datenstruktur, wobei das Nutzermodell Informationen über einen Nutzer umfasst, wobei die baumför- mige Datenstruktur dem Nutzer zuordenbar ist, wobei die baumförmige Datenstruktur einen Wurzelknoten und eine Anzahl von Kinderknoten umfasst, welche über Kanten mit dem Wurzelknoten oder mit einem Kinderknoten verbunden sind, und wobei zumindest einem Knoten zumindest ein Element zugeordnet ist, aufweisend 19. System for generating a user model, in particular for a recommendation service, from at least one tree-shaped data structure, the user model comprising information about a user, wherein the tree-shaped data structure can be assigned to the user, wherein the tree-shaped data structure comprises a root node and a number of child nodes comprising, which are connected via edges to the root node or to a child node, and wherein at least one node is associated with at least one element comprising
- wenigstens eine Speichereinrichtung zum Speichern wenigstens einer baumförmigen Datenstruktur, und at least one memory device for storing at least one tree-shaped data structure, and
- eine Verarbeitungseinrichtung, welche mit der Speichereinrichtung gekoppelt ist und welche angepasst ist ein Verfahren nach einem der vorhergehenden Ansprüche auszuführen, um ein Nutzermodell zu generieren und das generierte Nutzermodell in der Speichereinrichtung abzuspeichern und einem Empfehlungsdienst zur Verfügung zu stellen. a processing device which is coupled to the storage device and which is adapted to carry out a method according to one of the preceding claims, in order to generate a user model and to store the generated user model in the storage device and make it available to a recommendation service.
20. Datenträgerprodukt mit einem darauf gespeicherten Programmcode, welcher in einen Computer und / oder in ein Computernetzwerk ladbar ist und ange- passt ist, ein Verfahren nach einem der Ansprüche 1 bis 18 auszuführen. 20. A data carrier product with a program code stored thereon which can be loaded into a computer and / or into a computer network and is adapted to carry out a method according to one of claims 1 to 18.
PCT/EP2011/070873 2011-11-23 2011-11-23 Method and system for creating user models WO2013075745A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2011/070873 WO2013075745A1 (en) 2011-11-23 2011-11-23 Method and system for creating user models

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2011/070873 WO2013075745A1 (en) 2011-11-23 2011-11-23 Method and system for creating user models

Publications (1)

Publication Number Publication Date
WO2013075745A1 true WO2013075745A1 (en) 2013-05-30

Family

ID=45023849

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/070873 WO2013075745A1 (en) 2011-11-23 2011-11-23 Method and system for creating user models

Country Status (1)

Country Link
WO (1) WO2013075745A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825478A (en) * 2019-11-05 2020-02-21 广东优世联合控股集团股份有限公司 Main interface content adding method, device, medium and electronic equipment
CN111159503A (en) * 2019-12-30 2020-05-15 广东三扬网络科技有限公司 Product feature display method based on mind map, electronic equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Die einzigen technischen Aspekte der beanspruchten Erfindung beziehen sich auf allgemein gebräuchliche Datenverarbeitungstechnologie. Aufgrund seiner weiten Verbreitung kann die allgemeine Bekanntheit eines solchen Standes der Technik nicht bezweifelt werden. Siehe Amtsblatt 11/2007, S. 592. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825478A (en) * 2019-11-05 2020-02-21 广东优世联合控股集团股份有限公司 Main interface content adding method, device, medium and electronic equipment
CN111159503A (en) * 2019-12-30 2020-05-15 广东三扬网络科技有限公司 Product feature display method based on mind map, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
DE69822687T2 (en) Summary apparatus and method
DE60120822T2 (en) Meta-document and method for managing meta-documents
DE102018007936A1 (en) Answer questions for data visualizations
DE112018005894T5 (en) MACHINE LEARNING TO INTEGRATE KNOWLEDGE AND NATURAL LANGUAGE PROCESSING
DE102017008430A1 (en) Methods and systems for generating virtual reality environments from electronic documents
DE202018107014U1 (en) Generate slide presentations using a collaborative multi-content application
DE102017111438A1 (en) API LEARNING
DE112012001794T5 (en) Method for determining a mood from a text
DE102013003055A1 (en) Method and apparatus for performing natural language searches
DE102018005611A1 (en) Automatic pairing of fonts using asymmetric metric learning
WO2009030288A1 (en) Detecting correlations between data representing information
DE102018007165A1 (en) FORECASTING STYLES WITHIN A TEXT CONTENT
DE102015009912A1 (en) Adaptively modify content presented in electronic forms
DE112018005076T5 (en) CREATE A RANKING OF DOCUMENTS BASED ON YOUR SEMANTIC Wealth
DE102018006241A1 (en) Designing a document using intelligent feature suggestions based on text-based analysis
EP2425331A1 (en) Method for producing at least one application guide
DE102006040208A1 (en) Patent-related search procedure and system
DE60101668T2 (en) METHOD AND DEVICE FOR GENERATING AN INDEX BASED ON A FORMAT FOR A STRUCTURED DOCUMENT
Möhr et al. SGML und XML: Anwendungen und Perspektiven
DE202013012665U1 (en) Method for implementing structured and unstructured data in XML documents
DE112021001743T5 (en) VECTOR EMBEDDING MODELS FOR RELATIONAL TABLES WITH NULL OR EQUIVALENT VALUES
DE102012025349B4 (en) Determination of a similarity measure and processing of documents
WO2013075745A1 (en) Method and system for creating user models
DE102016015536A1 (en) Organizing electronically stored files using an automatically generated memory hierarchy
DE102012025350A1 (en) Processing an electronic document

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11787694

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11787694

Country of ref document: EP

Kind code of ref document: A1