Temporal search engine

FR3153165A3Active Publication Date: 2025-03-21SARL LAURENT BALEYDIER
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
FR2023009904
Authority / Receiving Office
FR · FR
Patent Type
Utility models
Current Assignee / Owner
Filing Date
2023-09-19
Publication Date
2025-03-21
Estimated Expiration
2033-09-19

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A search engine (1) in a computer system or network that identifies a series of objects linked by one or more common parameters, comprising: A query module (2); A search module (3); A parameterization module (4) that assigns a score to each identified object and a link value between objects; A mapping calculation module (5) that maps the objects in a 2D or 3D result space based on the score and link values, displaying the resulting map on a screen; A reference identification module (6) that identifies a reference iteration and a reference map for an iteration corresponding to a stabilized map; A timing module (7) that timestamps the iterations performed by the mapping module. FIGURE 1
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Temporal search engine Technical field

[0001] The present invention relates to a search engine in a computer system or network for identifying a series of objects linked together by one or more common parameters, comprising a query module, a search module, a mapping calculation module for mapping the objects in a 2D or 3D result space according to the score and link values ​​for displaying the resulting mapping on a screen. The invention also relates to the corresponding search method. Prior art

[0002] Today, there are many search engines of all types. Some well-known tools are generalist. Others are specialized in certain types of data, such as travel, cars, real estate, etc. In all these tools, the results identified are most of the time presented in the form of a list of successive elements, often presented by favoring certain criteria considered more important than others. If a new search is carried out later, the results are presented in the same way. Since the results are often numerous, it is then difficult for a user to objectively compare the results of successive searches.

[0003] To try to overcome these drawbacks of traditional engines, some search tools integrate a time parameter to present the data.

[0004] For example, document WO2010 / 078925 describes a suitable search engine for identical searches that can be performed at multiple time intervals with varying degrees of spacing. Similarity and distances between concepts are calculated, and graphical coordinates of the concepts are calculated. The search engine is queried for more time periods, and similarity, distances, and coordinates are calculated for the concepts for each time period. Consecutive time periods are mapped onto each other. A dynamic graph of the relationships between concepts and their evolution over time is generated.

[0005] The search engine of document WO2010 / 078925 takes into account time according to a predetermined time interval. The calculations of distances and similarities are carried out independently for each query: in other words for each value Ti where a query is carried out. The engine therefore makes calculations of distances and similarities over several successive times. Finally, a “timeline” (as shown in Figures 6 and 7) makes it possible to choose the value of Ti that one wishes to visualize, but with a display of only one result at a time.

[0006] The search engine of document WO2010 / 078925, to take time into account, restarts the calculation to have a map at time Ti+1, and then performs a Procrustean analysis (an interpolation with deformations and rotations). Restarting the calculation can cause disruptions on the map, making any overlay difficult to read. The user must manipulate the time slider to see the evolution, only to end up seeing only one result at a time, at a time selected on the slider.

[0007] Document US6638313 describes a system and method for operating document workflows in which documents are stored in one or more chronologically ordered streams. The location and nature of file storage are transparent to the user. Information is organized as needed rather than at the time of document creation. Sophisticated logic is provided to summarize a large group of related documents when a user desires a concise overview. Finally, archiving is automatic. Documents may include text, images, animations, software, or any other type of data.

[0008] This tool performs regular backups of a document X at different time intervals. If a user wishes to retrieve a previous version of document X, the tool allows them to "go back in time" by displaying a series of icons of document X at various time intervals. The user can choose the time they wish to view and retrieve the version of document X at the selected time.

[0009] The system described is NOT a search engine, but a document backup and recovery system. Furthermore, the system presented does not perform similarity and distance calculations, and does not present the evolution of document X over time. The user must select a specific time to see the status of the document at that specific time.

[0010] There is therefore a need for a search engine that takes into account the time parameter in an efficient and organized manner.

[0011] To overcome these various drawbacks, the invention provides various technical means. Summary of the invention

[0012] A first objective of the invention consists of providing a search engine taking into account the time parameter.

[0013] Another objective of the invention consists of providing a search engine whose time parameter is integrated into the presentation of the results.

[0014] To do this, the invention firstly provides a search engine in a computer system or network enabling the identification of a series of objects (or results) linked together by one or more common parameters (or connected together by one or more links), comprising: i. A query module to allow a user to provide keywords for a given search; ii. A search module to perform a comparison between the received keywords and those available in an index of target documents and identify documents corresponding to the parameters; iii. A configuration module allowing a score (or mass) to be assigned to each of the identified objects and a link value to be assigned between the objects; iv. A mapping calculation module for mapping objects in a 2D or 3D result space based on score and link values ​​for displaying the resulting mapping on a screen; v. A reference identification module, allowing to identify a reference iteration and a reference mapping for an iteration corresponding to a stabilized mapping; vi. A time module allowing the dating of the iterations carried out by the mapping module. (The different time values ​​Ti are chosen automatically or by a user); vii. The mapping module is configured to calculate an initial mapping loop using any initial positions (random or based on user choice) of the objects to be mapped, and at least one subsequent mapping loop using initial positions corresponding to equilibrium positions of a previous mapping. viii. A 3D extrusion module allowing the results of successive mappings to be superimposed according to a plurality of time values ​​Ti.

[0015] Thanks to its characteristics, the search engine allows the evolution of the results over time for a given search to be viewed at a single time. Because it takes into account the results of previous mapping calculations to perform the following calculations, a stable and rapid temporal mapping is obtained with a reduced number of calculations for successive mappings. The result space is in 2D, for example an XY plane, or in 3D, for example a sphere.

[0016] According to an advantageous embodiment, the first subsequent mapping loop uses the initial mapping (or reference mapping) to define the initial position of the objects.

[0017] According to another advantageous embodiment, the second subsequent mapping loop, as well as the following ones, use the previous subsequent mappings to define the initial position of the objects.

[0018] Advantageously, the mapping module operates using iterative calculations making it possible to identify, for given objects, an equilibrium position taking into account the score values ​​and links between the objects.

[0019] The invention also provides a search method for a computer system or network making it possible to identify a series of objects linked together by at least one common parameter, comprising the steps of: i. receive one or more keywords for a search to be performed using a query module; ii. carry out a comparison between the keywords received and those available in an index of target documents using a search module and identification of the documents to be selected; iii. assign a score (or mass) to each of the identified objects and a link value between the objects using a parameterization module; iv. map objects into a 2D or 3D result space based on score and link values ​​using a mapping computation module; v. identify a reference iteration and a reference mapping for an iteration corresponding to a stabilized mapping, using a reference identification module; vi. date the iterations performed by the mapping module using a time module. (The different time values ​​Ti are chosen automatically or by a user); vii. compute an initial mapping loop using any initial positions (random or based on user choice) of the objects to be mapped, and at least one subsequent mapping loop using initial positions corresponding to equilibrium positions of a previous mapping. viii. superimpose the results of successive mappings according to a plurality of time values ​​Ti using a 3D extrusion module. ix. display the resulting map on a screen using a graphic mapping module;

[0020] According to an advantageous embodiment, the first subsequent mapping loop uses the initial mapping (or reference mapping) to define the initial position of the objects.

[0021] According to another advantageous embodiment, the second subsequent mapping loop, as well as the following ones, use the previous subsequent mappings to define the initial position of the objects.

[0022] Advantageously, the mapping module operates using iterative calculations making it possible to identify, for given objects, an equilibrium position. taking into account the score and link values ​​between objects. Brief description of the drawings

[0023] All the details of the embodiment are given in the following description, supplemented by figures 1 to 21 presented solely for the purposes of non-limiting examples, and in which: Fig.l

[0024] [Fig.l] [Fig.l] is a schematic representation illustrating an example of the architecture of a temporal search engine; Fig.2

[0025] [Fig.2] [Fig.2] illustrates an example of representation of objects in their position initial, placed in any or random way before the start of a mapping loop; Fig.3

[0026] [Fig.3] [Fig.3] illustrates an example of representation of objects positioned according to a unstable layout during a mapping loop; Fig.4

[0027] [Fig.4] [Fig.4] shows the objects of [Fig.3] in a stabilized position, after a mapping loop; Fig.5

[0028] [Fig.5] [Fig.5] illustrates the objects of [Fig.4] modified following a ul search interior; Fig.6

[0029] [Fig.6] [Fig.6] is a perspective view of a third example of a guitar modular with partial fixed cladding; Fig.7

[0030] [Fig.7] [Fig.7] to 17 illustrate the different stages of the extrusion phase for present the objects of the previous figures at various time values ​​Ti; Fig.8

[0031] [Fig.8] [Fig.8] illustrates one of the different stages of the extrusion phase for present the objects of the previous figures at various time values ​​Ti; Fig.9

[0032] [Fig.9] [Fig.9] illustrates one of the different stages of the extrusion phase for present the objects of the previous figures at various time values ​​Ti; Fig. 10

[0033] [Fig.10] [Fig.10] illustrates one of the different stages of the extrusion phase for present the objects of the previous figures at various time values ​​Ti; Fig. ll

[0034] [Fig. 11] [Fig. 11] illustrates one of the different stages of the extrusion phase to present the objects of the previous figures at various time values ​​Ti; Fig. 12

[0035] [Fig.12] [Fig.12] illustrates one of the different stages of the extrusion phase for present the objects of the previous figures at various time values ​​Ti; Fig. 13

[0036] [Fig.13] [Fig.13] illustrates one of the different stages of the extrusion phase for present the objects of the previous figures at various time values ​​Ti; Fig. 14

[0037] [Fig.14] [Fig.14] illustrates one of the different stages of the extrusion phase for present the objects of the previous figures at various time values ​​Ti; Fig. 15

[0038] [Fig.15] [Fig.15] illustrates one of the different stages of the extrusion phase for present the objects of the previous figures at various time values ​​Ti; Fig. 16

[0039] [Fig.16] [Fig.16] illustrates one of the different stages of the extrusion phase for present the objects of the previous figures at various time values ​​Ti; Fig. 17

[0040] [Fig.17] [Fig.17] illustrates one of the different stages of the extrusion phase for present the objects of the previous figures at various time values ​​Ti; Fig. 18

[0041] [Fig.18] [Fig.18] shows the objects of [Fig.16] on a spherical support; Fig. 19

[0042] [Fig.19] [Fig.19] 19 illustrates various examples of extrusion types; Fig. 20

[0043] [Fig.20] [Fig.20] illustrates the effect of speed on the results of an extrusion; Fig.21

[0044] [Fig.21] [Fig.21] illustrates an extrusion result following the operating mode manual operation. Description of the embodiments DEFINITIONS:

[0045] By "object" is meant a tangible result element obtained following a search carried out by the search engine. The nature of the object varies depending on the purpose of the search. It may be objects corresponding to real objects such as parts, cars, tools, furniture, clothing, etc., people, documents, websites, etc.

[0046] By "link" is meant a note or rating or value corresponding to one or more parameters common to at least two objects. The more important the parameter, the higher its score.

[0047] By "score" or "mass" is meant a note or rating or value corresponding to the importance of an object with regard to a given search. The more the object is directly linked to the keywords of the search, the higher its score or mass. The score can be linked for example to the number of occurrences of a keyword in a document.

[0048] By “mapping” or “cartography”, we mean a positioning of objects on a reference space which may be a plane for a 2D representation or a sphere (often partial) for a 3D representation, without these supports being limiting.

[0049] By "initial mapping loop" is meant an iterative calculation allowing, after an initial search, to carry out a mapping of the objects from any or random position of the objects until stability. The result of the initial mapping loop serves as a reference mapping.

[0050] By "subsequent mapping loop" is meant an iterative calculation making it possible to carry out a mapping of the objects where the iterations are made from the position of the objects at the previous time (t-1), until stability. The first subsequent mapping loop uses the reference mapping to define the initial position of the objects. This subsequent mapping loop makes it possible to obtain results with a reduced number of iterations in comparison with the initial mapping loop. The subsequent mapping loop makes it possible to position the objects in connection with a subsequent search using the same keywords as the initial search. This subsequent mapping loop is launched following the obtaining of new results from a search: either in automatic mode, with continuous search, or in manual mode, by launching a subsequent search by the user.

[0051] By “extrusion” we mean a calculation making it possible to position in a volume the successive mappings of a search carried out several times at given time intervals.

[0052] The technology presented consists of a search engine with display by “mapping” with a temporal space.

[0053] The concept aims to allow a user to track the evolution of the results of a search over time.

[0054] Indeed, with a display by mapping of the results of a search, if we carry out a search on a given object or subject at various periods, and if the results evolve significantly, the maps produced will be very distinct and comparisons between the different maps at given intervals may prove tedious, or even impossible. Indeed, if we try to superimpose several very different maps different from each other, the display quickly becomes illegible.

[0055] Two features are implemented in this so-called temporal search engine:

[0056] i: a first search is carried out, calculations of attraction forces and distances between the results are carried out in order to establish a map of the search results. A second search on the same object is carried out. To establish the map of the results, rather than carrying out a new calculation, the cartographic data of the previous result are taken into account. In particular, the X, Y positions of the objects are based on the initial positions, then a new equilibrium position is calculated according to the new links between the results.

[0057] ii: an extrusion step is provided to allow superposition of the results obtained during successive searches. The extruded results obtained make it possible to obtain the results at various time intervals in one go, with continuity between the results. Carrying out the iterations while taking into account the previous results prevents the objects from being dispersed on the display and provides perfect readability of the results thanks to the continuity obtained by the extrusion.

[0058] Construction of the temporal evolution of a complex graph Initial data

[0059] To describe the search engine and process, let's take an example of a simple search that identified five relevant objects, A, B, C, D and E. These objects have links between them. The mapping takes into account the values ​​of the links so that the higher the value of the links, the closer the objects are positioned to each other.

[0060] On the other hand, the objects have a mass m, used for example to indicate the importance of an object in relation to the search criteria.

[0061] Mapping allows the results to be arranged in a 2D or 3D space that is easily understood by the user. Mapping calculations are performed in order to assign coordinates to the identified objects.

[0062] In the following, object Aa has coordinates Ax and Ay, object B has coordinates Bx and By, etc. Furthermore, the objects are assigned the following masses: mA, mB, mC, mD and mE are the starting masses.

[0063] In a simple embodiment, the initial positions of the objects are randomly assigned to random coordinates, as illustrated in [Fig.2].

[0064] Alternatively, at least one object of greater mass can be favored, and a key position assigned to it, such as a central position.

[0065] Table 1 illustrates a first example of objects resulting from a first search with the initial coordinates and the initial masses. Table 1: t Ax Ay m A Bx By mB Cx Cy mC Dx Dy m D Ex Ey mE 0 40 0 ​​20 0 1 400 400 1 500 400 1 500 300 1 600 200 1

[0067] A value t = 0 is assigned for the moment when a first search is carried out.

[0068] In this example, at t= 0, the relationships between the objects are as follows: Link (A,B)=1 Link (B,C)=1 Link (D,C)=1 Link (E,C)=1

[0069] It is now a question of identifying a spatial equilibrium position taking into account the links between the objects. With several objects having several links between them, a series of iterative calculations is required before obtaining a stabilized result.

[0070] An iterative calculation makes it possible to calculate the positions at time t+l as illustrated in [Fig.3],

[0071] Bodies repel each other with a force proportional to the inverse square of their distance:

[0072] repulsion = KR / (1 + distance) where KR is a fixed coefficient in this example (here, KR=300,000)

[0073] Bodies experience an attractive force when they have a common bond. For example, for (A,B):

[0074] attraction= KA * Link *(1-1 / (1 + (distance-100) A2)

[0075] where KA is a fixed coefficient. In this example (KA=15).

[0076] The distance is calculated from the coordinates of objects A and B.

[0077] Link = Link (A,B) = 1

[0078] To prevent objects from being positioned too close to each other, the attractive force is only triggered if the distance is greater than 100 so that the objects are not too close to each other.

[0079] The force of attraction is then calculated with its components forceX and forceY:

[0080] forceX (A,B) = (attraction-repulsion) * (Bx-Ax) / distance

[0081] forceY (A,B) = (attraction-repulsion) * (By-Ay) / distance

[0082] where distance, attraction and repulsion depend on A and B.

[0083] The overall attractive force for an object is the sum of all forces with other points.

[0084] From the forces, we calculate the speed of each point:

[0085] Vx(A)(t+l) = Vx(A)(t) * forceX(A)(t) / mA(t) / KV

[0086] where KV is a braking coefficient equal to 2 in this example

[0087] The speed allows the calculation of the new coordinates:

[0088] Ax(t+1) = Ax(t) + Vx(A)(t+l) Evolution and equilibrium positions

[0089] The system evolves by recurrence. The mapping module calculates the forces, then the accelerations, the speeds and finally the coordinates step by step. After a certain number of iterations, the coordinates change little and the system stabilizes in an equilibrium position.

[0090] When the system contains many objects and links, it is possible to force an equilibrium position by decreasing the forces with the number of iterations: first the attractive forces, then the repulsive forces.

[0091] In this example, since the initial positions are random, the system takes two hundred iterations to stabilize. At t=200, an equilibrium position is obtained. This position is illustrated in [Fig.3].

[0092] Evolution of the system based on successive search results

[0093] For a given search (or query), it is likely that the results will change over time. For example, for identical objects identified, it is common for the values ​​of the links between these objects to change.

[0094] Let us take for example for t=201, an evolution of the strength of the link between A and B such that: Link (A,B)=2. This new value breaks the equilibrium position previously identified at t=200. It is now necessary to establish a new equilibrium position. The calculation is restarted and a new equilibrium position is found for t=250, as illustrated in [Fig.4].

[0095] At t=251, the mass of C increases from 1 to 1.5. This new value breaks the equilibrium position previously identified at t=250. A new equilibrium position must now be established. The calculation continues and a new equilibrium position is found for t=300, as shown in [Fig.5].

[0096] At t=301, a new link appears: link(D,E) = 1. This new value breaks the equilibrium position previously identified at t=300. A new equilibrium position must now be established. The calculation continues and a new equilibrium position is found for t=350, as illustrated in [Fig.6].

[0097] Table 2 illustrates the results of the calculations for the key steps of the previous example. It is observed that the calculations subsequent to the initial search involve a strong reduction in the number of iterations, which go from 200 iterations to obtain stabilization during the initial mapping, to 50 iterations only for the subsequent mappings. This strong reduction in the number of iterations comes from the fact that the subsequent mappings are carried out on the basis of the positions of the previous mapping. Table 2: Search Ax Ay m A Bx By mB Cx Cy mC Dx Dy m D Ex Ey m E balance Rref launched 0 40 0 ​​20 0 1 40 0 ​​40 0 ​​1 50 0 40 0 ​​1 50 0 30 0 1 60 0 20 0 1 no Rref 1 39 0 19 6 1 37 8 40 3 1 51 8 41 4 1 50 5 29 0 1 60 8 19 7 1 no Rref end 200 19 2 37 4 1 33 9 33 7 1 55 7 28 1 1 61 8 11 1 1 69 4 39 8 1 yes RI launched 201 19 2 37 4 1 33 9 33 7 1 55 7 28 1 1 61 8 11 1 1 69 4 39 8 1 yes RI end 250 22 0 36 7 1 32 7 34 0 1 55 0 28 2 1.5 61 4 11 3 1 68 8 39 8 1 yes R2 launched 251 22 0 36 7 1 32 7 34 0 1 55 0 28 2 1.5 61 4 11 3 1 68 8 39 8 1 yes R2 end 300 22 1 36 7 1 32 8 34 0 1 55 0 28 2 1.5 61 5 12 0 1 68 6 39 2 1 yes R3 launched 301 22 1 36 7 1 32 8 34 0 1 55 0 28 2 1.5 61 5 12 0 1 68 6 39 2 1 yes R3 end 350 20 8 37 1 1 31 4 34 3 1 53 4 28 6 1.5 65 9 18 3 1 69 3 31 5 1 yes Extrusion

[0099] To create a 3D representation, this example uses stacked cylinders. The stacking is done so as to maintain an intersection area between successive cylinders. To ensure continuity in the positioning of the cylinders and that two successively placed cylinders touch, it may be necessary to create steps at intermediate time values.

[0100] In this example, the interval of 50 iterations is subdivided into 3. The results are represented here by cylinders with a height of 20 and a radius calculated by multiplying the mass by 50. The radius of the cylinders is preferably chosen to limit the interactions between the different objects.

[0101] Here (table 3) are the values ​​extracted from the previous calculations where z is the elevation coordinate, equal to the height of the cylinders: Table 3:

[0102] Further search Step t Ax Ay Bx By Cx Cy Dx Dy Ex Ey z RI 1 200 192 374 339 337 557 281 618 111 694 398 0 2 217 218 368 325 340 551 282 616 113 691 397 20 3 234 220 367 327 340 550 282 614 113 689 398 40 R2 4 250 220 367 327 340 550 282 614 113 688 398 60 5 267 221 367 328 340 550 282 614 113 688 399 80 6 284 221 367 328 340 550 282 614 112 688 399 100 R3 7 300 221 367 328 340 550 282 615 120 686 392 120 8 317 213 369 319 342 531 287 656 183 690 316 140 9 334 209 371 315 343 533 286 658 183 693 316 160 350 208 371 314 343 534 286 659 183 693 315 180

[0103]

[0104]

[0105]

[0106]

[0107]

[0108]

[0109]

[0110] [YES]

[0112] Graphical result of extrusion Figures 7 to 16 illustrate the results of each of steps 1 to 10 in Table 3. Step 1 - RI balance: see [Fig.7] Step 2 (intermediate): see [Fig.8] Step 3 (intermediate): see [Fig.9] Step 4 - R2 balance: see [Fig. 10] Step 5 (intermediate): see [Fig. 11] Step 6 (intermediate): see [Fig. 12] Step 7 - R3 balance: see [Fig. 13] Step 8 (intermediate): see [Fig. 14] Step 9 (intermediate): see [Fig. 15]

[0113] Step 10 - R4 balance: see [Fig. 16]

[0114] [Fig. 16] allows the user, with an image, to locate all the results. The continuity obtained by the controlled extrusion greatly facilitates the understanding of the results. The user can visualize, understand and interpret almost instantly the evolution of the results of his research over time. [Fig. 16] shows the extrusion placed on a plane. [Fig. 17] shows the graph of [Fig. 16] with the 10 steps specified for point A.

[0115] [Fig. 18] shows the extrusion placed on a 3D support, in this case a sphere. Extrusion variants

[0116] It is possible to use several methods to obtain the volume: - the previous example uses stacked cylinders, with possibly a reduction in the height of the cylinders (combined or not or a change in vertical scale) so that two consecutive cylinders are always in contact. - It is also possible to use broken lines to draw the extrusion path - Another variation is to use interpolation (e.g. polynomial) - The section can remain horizontal or perpendicular to the interpolation guide (curve which passes between the points of the trajectory

[0117] [Fig. 19] illustrates (from left to right in the figure) an extrusion by superposition of cylinders, an extrusion by guide in broken line, an extrusion by guide with polynomial interpolation (horizontal surface), and an extrusion by guide with polynomial interpolation (surface perpendicular to the guide). Variants of calculating positions during mapping

[0118] Alternatively, it is possible during mapping to limit the displacement speed between two iterations for each point: this variant consists of limiting the value of the speed V = sqrt(VxA2+VyA2). We can also limit Vx and Vy at the same time. The advantage of this approach is to guarantee contact between two consecutive cylinders during the extrusion phase. For this, the value of V is chosen to be less than the diameter of the smallest cylinder.

[0119] [Fig.20] shows an example where V is limited, on the left of the figure, to be less than the diameter of the cylinder, while on the right, V has a value greater than the diameter of the cylinder. This allows (on the right) an intersection between the two cylinders.

[0120] Other optimizations are possible in the calculation to limit the number of iterations between two equilibria: - Variable attraction and repulsion coefficients depending on the number of links and the number of bodies. - Intermediate calculations of the positions of the barycenters of the linked points, and system of attraction and repulsion of these barycenters. - Changes in scale so that the distance between the two furthest points remains constant. - Slowing down the overall rotation of the graph to more easily identify equilibrium positions. - Use of other mathematical formulas for calculating attractions and repulsions (linear, exponential, polynomial, segment-defined forces). How the search engine works Automatic mode:

[0121] This is the mode chosen in the previous example. The user launches an initial search. The system remains in standby mode and each time a new object appears or a parameter changes over time, a new mapping with calculation of a new equilibrium position is launched automatically. Manual mode:

[0122] The user makes a first search. Then, at the time of his choice, he carries out a second search: all the parameter variations of the identified objects are introduced at the same time just after a previous search. The intermediate steps do not appear on the graph.

[0123] Table 4: Search. Iter Ax Ay mA Bx By m B Cx Cy mC Dx Dy m D Ex Ey m E Equ Search ref started 0 400 200 1 400 400 1 500 400 1 500 300 1 600 20 0 1 no Search ref end 200 192 374 1 339 337 1 557 281 1 620 118 1 692 39 0 1 yes R2 started 201 192 374 1 339 337 1 557 281 1 620 118 1 692 39 0 1 yes R2 end 270 208 371 1 315 343 1,535 286 1.5 660 183 1 694 31 5 1 yes

[0124] Links for RI: Link (A,B)=1 Link (B,C)=1 Link (D,C)=1 Link (E,C)=1

[0125] Links for R2: Link (A,B)=1 Link (B,C)=1 Link (D,C)=1 Link (E,C)=1

[0126] Link (D,E)=1

[0127] The extrusion graph is shown in [Fig.21]. It does not contain the intermediate searches and results in an equilibrium position close to that of the automatic mode in this example. However, when there are many simultaneous parametric changes, the equilibrium position found may be completely different. Benefits of automatic mode:

[0128] Automatic mode (or passive mode) allows all object evolutions to be preserved. A variant consists of storing these evolutions on a shared machine. Thus, everyone consults an identical graph. Whereas if the searches are launched at different times on different machines, the result may vary. Advantages of manual mode:

[0129] Manual mode consumes fewer resources since it integrates the changes in one go. Similarly, the results obtained are more condensed, since there are not all the intermediate searches launched automatically each time the objects are modified. Application examples

[0130] The search engine described above can be used to carry out searches in all fields. For example, a search may concern a part (machine, automobile, etc.) technically compatible with the assembly element and which can be delivered quickly, for example to carry out troubleshooting as quickly as possible. Several searches are carried out over time until the preferred part is available for delivery. The keywords are related to the technical characteristics of the part. The objects are the identified parts. The links can represent the parameters of compatibility with the machine or the vehicle or other, and the level of importance is advantageously the possible delivery date. Another example of use concerns a search for documents dealing with a specific subject, for example an instruction manual or a maintenance guide for a product, for example a coffee maker or an iron.Keywords are related to the technical specifications of the product concerned. Objects are the documents (manuals, instructions, warranty certificate, list of service points, etc.) identified. Links can represent product compatibility parameters, and the level of importance is advantageously linked to the brand and model of the product. List of reference signs

[0131] 1. Time-based search engine 2. Query module 3. Search module 4. Parameterization module 5. Mapping module 6. Reference identification module 7. Time module 8. Extrusion module 9. Memory for mapping data 10. Microprocessor 11. Memory

Claims

Claims

1. Search engine (1) in a computer system or network for identifying a series of objects linked together by one or more common parameters, comprising: i. A query module (2) to allow a user to provide keywords for a given search; ii. A search module (3) for performing a comparison between the received keywords and those available in an index of target documents and identifying documents corresponding to the parameters; iii. A configuration module (4) for assigning a score to each of the identified objects and assigning a link value between the objects; iv. A mapping calculation module (5) for mapping objects in a 2D or 3D result space based on score and link values ​​for displaying the resulting mapping on a screen; v. A reference identification module (6), making it possible to identify a reference iteration and a reference mapping for an iteration corresponding to a stabilized mapping; vi. A time module (7) allowing the dating of the iterations carried out by the mapping module; vii. The mapping module (5) is configured to calculate an initial mapping loop using any initial positions of the objects to be mapped, and at least one subsequent mapping loop using initial positions corresponding to equilibrium positions of a previous mapping. viii. A 3D extrusion module (8) allowing the results of successive mappings to be superimposed according to a plurality of time values ​​Ti.

2. The search engine (1) of claim 1, wherein the first subsequent mapping loop uses the initial mapping to define the initial position of the objects.

3. The search engine of claim 1, wherein the second and subsequent mapping loops use the previous subsequent mappings to define the initial position of the objects.

4. Search engine according to any one of claims 1 to 3, in which the mapping module operates using iterative calculations making it possible to identify, for given objects, an equilibrium position taking into account the score and link values ​​between the objects.

5. A search method for a computer system or network for identifying a series of objects linked together by at least one common parameter, comprising the steps of: i. receive one or more keywords for a search to be carried out using a query module (2); ii. carry out a comparison between the keywords received and those available in an index of target documents using a search module (3) and identification of the documents to be selected; iii. assign a score to each of the identified objects and a link value between the objects using a parameterization module (4); iv. mapping the objects into a 2D or 3D result space based on the score and link values ​​using a mapping computation module (5); v. identify a reference iteration and a reference mapping for an iteration corresponding to a stabilized mapping, using a reference identification module (6); vi. date the iterations performed by the mapping module using a time module (7); vii. compute an initial mapping loop using any initial positions of the objects to be mapped, and at least one subsequent mapping loop using initial positions corresponding to equilibrium positions of a previous mapping. viii. superimpose the results of successive mappings according to a plurality of time values ​​Ti using a 3D extrusion module (8). ix. display the resulting map on a screen using a graphic mapping module.

6. The search method of claim 5, wherein the first subsequent mapping loop uses the initial mapping to define the initial position of the objects.

7. A search method according to claim 5, wherein the second and subsequent mapping loops use the previous subsequent mappings to define the initial position of the objects.

8. A search method according to any one of claims 5 to 7, wherein the mapping module operates using iterative calculations making it possible to identify, for given objects, an equilibrium position taking into account the score and link values ​​between the objects.

Citation Information

Patent Citations

  • Document stream operating system

    US6638313B1

  • Method and system for monitoring online media and dynamically charting the results to facilitate human pattern detection

    WO2010078925A1