U.S. patent application number 14/952454 was filed with the patent office on 2016-06-02 for method for searching a database.
This patent application is currently assigned to XILOPIX. The applicant listed for this patent is XILOPIX. Invention is credited to Hanene MAGHREBI, Cyril MARCH, Eric MATHIEU, Samuel PETIT, Laurent VALLAR.
Application Number | 20160154885 14/952454 |
Document ID | / |
Family ID | 49474528 |
Filed Date | 2016-06-02 |
United States Patent
Application |
20160154885 |
Kind Code |
A1 |
MATHIEU; Eric ; et
al. |
June 2, 2016 |
METHOD FOR SEARCHING A DATABASE
Abstract
The present disclosure relates to a method for searching, in a
database containing a set of objects each linked to a descriptor,
including the following steps: receiving a first request, emitted
by a terminal, and including information pertaining to a selection
by a user of a theme from a set of themes, each theme being
associated to a descriptor; searching, within the database, based
on the first request, of a first set of objects; transmitting the
first set of objects to the terminal; receiving a second request,
emitted by the terminal, and including an information pertaining to
an indication of relevance or non-relevance of one of the objects
of the first set of objects; searching, in the database and/or in
the first set of objects, based on the second request, of a second
set of objects; and transmitting the second set of objects to the
terminal.
Inventors: |
MATHIEU; Eric; (EPINAL,
FR) ; MARCH; Cyril; (EPINAL, FR) ; MAGHREBI;
Hanene; (NANCY, FR) ; PETIT; Samuel; (EPINAL,
FR) ; VALLAR; Laurent; (EPINAL, FR) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
XILOPIX |
Epinal |
|
FR |
|
|
Assignee: |
XILOPIX
EPINAL
FR
|
Family ID: |
49474528 |
Appl. No.: |
14/952454 |
Filed: |
November 25, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
PCT/FR2014/051300 |
Jun 2, 2014 |
|
|
|
14952454 |
|
|
|
|
Current U.S.
Class: |
707/706 |
Current CPC
Class: |
G06F 16/951 20190101;
G06F 16/2453 20190101; G06F 16/24578 20190101; G06F 16/24575
20190101; G06F 16/285 20190101; G06F 16/9535 20190101; G06F 16/532
20190101; G06F 16/248 20190101 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
Foreign Application Data
Date |
Code |
Application Number |
May 31, 2013 |
FR |
13/54971 |
Claims
1. A search method, suitable to be implemented by a search engine,
for searching in a database containing at least one set of objects
each linked to at least one descriptor, the search method
comprising the following steps: receiving a first request, emitted
by a terminal, and including at least one information pertaining to
a selection by a user of at least one theme from a set of themes,
each theme being associated with at least one descriptor;
searching, within the database, based on the first request, of a
first set of objects; transmitting the first set of objects to the
terminal; receiving a second request, emitted by the terminal, and
including an information pertaining to an indication of relevance
or non-relevance of at least one of objects of the first set of
objects; searching, in the database and/or in the first set of
objects, based on the second request, of a second set of objects;
and transmitting the second set of objects to the terminal.
2. The search method according to claim 1 wherein at least one of
the first request or the second request comprises at least one
search parameter comprising a series of at least one search element
obtained by freely adding elements to the series by the user, the
series comprising elements having a category chosen from the group
consisting of keywords, an expression, an image, a location, a
date, a time, a video, a sound, multimedia, and a text.
3. The search method according to claim 2, wherein an element
belonging to at least one predetermined category and considered to
be unauthorized is not added to the series.
4. The search method according to claim 2, wherein the series
comprise at least two elements having different categories.
5. The search method according to claim 2, wherein the series
comprise at least two elements having non-textual categories.
6. A search method, adapted to be implemented by a terminal, in a
database containing at least one set of objects each linked to at
least one descriptor, the search method comprising the following
steps: selecting, by a user, of at least one theme from a set of
themes, each theme being associated with at least one descriptor;
transmitting, to a search engine, a first request including at
least one information relative to said at least one theme selected
by the user; receiving a first set of objects transmitted by the
search engine in response to the first request; entering, by the
user, an information relative to an indication of relevance or
irrelevance of at least one of objects of the first set of objects;
transmitting, to the search engine, a second request including the
entered information pertaining to an indication of the relevance or
the irrelevance of at least one of the objects of the first set of
objects; and receiving a second set of objects transmitted by the
search engine in response to the second request.
7. The search method according to claim 6, wherein at least one of
the first request or the second request comprises at least one
search parameter comprising a series of at least one search
element, the series being obtained by freely adding elements to the
series by the user, and the series comprising elements having a
category chosen from the group consisting of keywords, an
expression, an image, a location, a date, a time, a video, a sound,
multimedia, and a text.
8. The search method according to claim 7, wherein an element
belonging to at least one predetermined category considered to be
unauthorized is not added to the series.
9. The search method according to claim 7, wherein the series
comprises at least two elements having different categories.
10. The search method according to claim 7, wherein the series
comprises at least two elements having non-textual categories.
11. A terminal including a search module in a database, said
database containing at least one set of objects each linked to at
least one descriptor, the terminal comprising: means configured to
allow a user to select at least one theme from a set of themes,
each theme being associated with at least one descriptor; means
configured to transmit a first request including at least one
information pertaining to said at least one theme selected by the
user, to a search engine; means configured to receive a first set
of objects transmitted by the search engine in response to the
first request; means configured to allow the user to enter an
information pertaining to an indication of relevance or irrelevance
of at least one of objects of the first set of objects; means
configured to transmit a second request including the entered
information pertaining to the indication of the relevance or
irrelevance of at least one of the objects of the first set of
objects, to the search engine; and means configured to receive a
second set of objects transmitted by the search engine in response
to the second request.
12. The terminal according to claim 11, wherein at least one of the
first request or the second request comprises at least one search
parameter comprising a series of at least one search element, the
series being obtained by freely adding elements to the series by
the user, the series comprising elements having a category chosen
from the group consisting of keywords, an expression, an image, a
location, a date, a time, a video, a sound, multimedia, and a
text.
13. The terminal according to claim 11, further including a tactile
user interface.
14. A computer program including instructions for executing steps
of the search method according to claim 1 when said computer
program is executed by a processor.
15. A computer program including instructions for executing steps
of the search method according to claim 6 when said computer
program is executed by a processor.
16. A storage medium readable by a computer on which a computer
program is stored comprising instructions for executing steps of
the search method according to claim 1.
17. A storage medium readable by a computer on which a computer
program is stored comprising instructions for executing steps of
the search method according to claim 6.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of International
Application No. PCT/FR2014/051300, filed on Jun. 2, 2014, which
claims the benefit of FR 13/54971, filed on May 31, 2013. The
disclosures of the above applications are incorporated herein by
reference in their entirety.
FIELD
[0002] The present disclosure relates to means for searching a
database
BACKGROUND
[0003] The statements in this section merely provide background
information related to the present disclosure and may not
constitute prior art.
[0004] The development of digital technologies in recent years,
accompanied by the development of networks and the Internet, has
led to a very significant increase in the quantity of available
digital content.
[0005] One particularly significant example is the development of
digital photography, in particular due to the development of online
photo posting and sharing sites. Thus, one of the leaders among
these types of sites has exceeded 5 billion photos put online and
is continuing to put thousands more online each day.
[0006] These digital objects are generally inventoried in databases
combined with keywords and/or other technical descriptors (name,
location, size, resolution, etc.). These keywords and descriptors
make it possible to perform searches in the database and return the
objects whose keywords correspond to the search criteria entered by
the user in a search field.
[0007] However, currently, most search engines are primarily
designed to look for text within webpages or files, and in
particular in associated descriptive texts.
[0008] In the case where the stored objects are not textual in
nature, for example photos, the associated keywords and descriptors
take on considerable importance to make it possible to perform an
effective search and return relevant results.
[0009] Many search engines exist to perform such searches, and many
algorithms have been developed in order to improve the relevance of
the results of the searches.
[0010] Despite improved algorithms, a keyword search has intrinsic
limitations, for example in particular due to the existence in
human language of synonyms, homonyms, hierarchy within terms, and
degrees of precision.
[0011] Due to these limitations, the specific intention of the
user's search beyond the first meaning of the keywords used remains
unknown to the search engine.
[0012] In order to offset these limitations, most search engines
allow users to perform an advanced search, in particular by using
several keywords combined with each other by logic operators.
[0013] Such a search method is not, however, particularly easy for
users and may, on some search engines, even go so far as to require
quasi-programming skills to write a request, while not knowing
whether that request may be correctly interpreted by the engine and
lead to the desired result.
[0014] Furthermore, the steps necessary for allowing a user to
perform complex searches in this context, prove to not be suitable
for mobile terminals, and particularly for terminals with a tactile
interface. Entering the required data, for example typing keywords
and a request based on the appropriate language, often prove to be
long and complex, and generally require the use of a keyboard or
complex interface elements unsuitable for terminals having a small
screen and/or a tactile interface.
[0015] Various systems exist making it possible to facilitate the
user's task and desired searches.
[0016] Application WO 2012/127168 thus targets a method for
refining search results providing a first response to this
problem.
[0017] It should, however, be noted that the method covered by
document WO 2012/127168 refines the results of a prior search,
i.e., performs a sort, but the initial request step itself is not
optimized. This is therefore a lost optimization step.
[0018] Furthermore, the elements eliminated during the initial
request step and not returned in the initial results are not taken
into account during refining and will not be able to be
reintegrated into the results if necessary.
[0019] Finally, document WO 2012/127168 does not describe means for
facilitating and improving the use of a search method without
beforehand entering an initial request using a keyboard.
[0020] The system developed by Google is for example known for its
image search service, which makes it possible to launch a search
from a digital image before performing complementary searches by
associating one or more keywords with it.
[0021] However, the search system only takes into account a single
image that must first be added before any keywords.
[0022] Changing the image restarts the search and erases the
keywords previously added.
[0023] Furthermore, adding an image automatically launches the
first search based on the image alone. The keywords subsequently
added will make it possible to refine the selection.
SUMMARY
[0024] The present disclosure provides a search method, suitable to
be implemented by a search engine, in a database containing at
least one set of objects each linked to at least one descriptor.
The method includes the following steps:
[0025] receiving a first request, emitted by a terminal, and
including at least an information pertaining to a selection by a
user of at least one theme from among a set of themes, each theme
being associated with at least one descriptor;
[0026] searching, within the database, based on the first request,
of a first set of objects;
[0027] transmitting, the first set of objects to the terminal;
[0028] receiving a second request, emitted by the terminal, and
including an information pertaining to an indication of the
relevance or non-relevance of at least one of the objects of the
first set of objects;
[0029] searching, in the database and/or in the first set of
objects, based on the second request, of a second set of objects;
and
[0030] transmitting, the second set of objects to the terminal.
[0031] The search engine may be implemented on a remote device, for
example a server including the database and means for performing
the processing required for taking into account the requests and
searches. The search engine may also be implemented on the
terminal, for example a module executing a software program able to
access the database and able to perform the processing required for
taking into account requests and searches.
[0032] By theme, it meant in particular the subject(s) or idea(s)
which the search should focus on. For example a set of
non-exhaustive themes may be: Culture, Economy, Politics, Leisure
activities, Sports, Science, History, etc. Each theme may be
decomposed into a plurality of themes. Thus for the Sports theme,
it is possible to decompose it into: Team, Individual, Indoor,
Nature, Old, Results, etc. Thus, the first request may include the
information pertaining to a selection by the user of several themes
from among the set of themes, for example Sports, Tennis, Results.
The set of themes may be presented to the user by means of a user
interface, and, allowing the latter to choose those which seem
close to the search he/she wishes to perform. Said at least one
descriptor associated to each theme may be directly relevant to the
description thereof, for example "sports" for the sports theme.
Other descriptors may be associated to a same theme, for example a
list of synonyms or even translations into various languages. For
example, for the sports theme, the descriptor "physical activity"
may be associated.
[0033] Thus, the present disclosure allows the user to choose from
among a predefined set a theme for his/her research, and to be
introduced with the first set of objects corresponding to the
result. Once, the user having designated, from among the objects
thus obtained, one or several objects as neutral, relevant or
irrelevant, it is then possible to either perform a new search
taking into account this information or to refine the previously
obtained results. Each of the steps may also be repeated as much as
necessary, until the required results have been obtained. In
addition, by means of a suitable user interface, it is possible to
perform a complex iterative search without entering any keyword or
complex textual request, based on in particular elements
represented visually. Indeed, the set of themes may be proposed in
the form of a user interface in which the user selects the themes,
for example by pointing using his/her index finger a corresponding
button. Similarly, the objects of the first set may individually be
designated as relevant, irrelevant or neutral by the user, for
example by using a user interface in which three buttons allow the
user to choose the required relevance indication by simply pressing
with a finger.
[0034] Furthermore, the present disclosure advantageously allows
the user to proceed with a multilingual search and/or express
his/her search preferences by using objects/results obtained in
various languages. Indeed, by offering the user the possibility of
selecting, for example using a user interface comprising icons, a
theme to which one or several descriptors may be associated, the
requests thus constituted may include a plurality of descriptors,
in several languages, for a same theme. Furthermore, the visual
representation of the search results and/or of the themes allows an
even easier way for the user to express these choices and
preferences, independently of the language.
[0035] For example, the theme Economy may be associated with the
descriptors "Economie" in French and "Economy" in English. Thus,
without the user having to enter a translation, the request may
thus be formulated such as to be relevant in several languages. In
addition, even if the user in fine requires obtaining results in
French only, throughout the various iterations, the latter may want
to indicate as relevant an object of which the content is in
Chinese, and represented by an image of a hiking pack. Thus, it
will be possible to take into account in the request the desire of
the user to perform a search for hiking packs expressed in relation
to the object of which the content is in Chinese, but to only show
at the end results of objects in relation to hiking packs in French
(by taking into account for example a preference file indicating
that the user only wishes results in French).
[0036] Particularly, the first request and/or the second request
may comprise at least one search parameter comprising a set of at
least one search element obtained by freely adding elements to said
series by the user. For example, the series comprises elements
having a category chosen from among the group of keywords,
expression, image, location, date, time, video, sound, multimedia,
text. The addition step is able to be repeated multiple times until
a search instruction is given.
[0037] Freely adding elements means that the elements are not
selected from among a list of predefined elements in a request
form, but are outside the request form. More concretely, a
selection box (of the <select> type for an HTML form, for
example) does not allow the free adding of elements, even when
several elements can be selected, the selected elements necessarily
having to be chosen from a list of predefined choices.
[0038] Of course, this does not exclude presenting the user with a
list of elements outside the form strictly speaking, but the user
remains free to select or not select from that list.
[0039] The series of elements may be sent to the search engine
using any means. It may in particular be sent within one or more
variables in the form of a table or a string of characters whereof
the elements (or their identifiers) are separated by a specific
character (for example a semicolon ";" or a comma "," as in files
of the "comma separated values" (CSV) type). The character or
separating means for the elements must be unique and make it
possible to discriminate between elements.
[0040] Thus, the space character cannot be considered
discriminating and a sentence cannot automatically be considered as
a series of words, as it does not make it possible to distinguish
whether the user has added a word or group of words as a search
element. For example, the words "magic mountain" may be added by
the user as two distinct and separate elements or as a general
expression, and imply a very different search context.
[0041] Thus, the addition step also refers to a discriminating
action by the user validating his addition. A continuous typing of
words separated by spaces thus cannot constitute several additions
within the meaning of the present disclosure. In such a case, it is
then possible for example to provide that the user validates his
addition using the enter key.
[0042] Thus, in the example previously provided, the latter may
press the enter key after each of the words "magic" and "mountain",
or after having entered the complete expression "magic
mountain".
[0043] In the case of object elements of the image type, it is
possible to consider a drag and drop function, thereby validating
the addition of the element into the series.
[0044] Of course, these user entry means pertain to the graphic
interface, and a computer designer may choose different
presentation modes.
[0045] Thus, by implementing a series of distinct request elements
performing a buffer role before sending the information to the
search engine, the user can add several distinct elements to
his/her request, if applicable from different categories or a same
category, which may therefore be preprocessed separately.
[0046] Part of the combination and identification work of the
elements, generally done by the search engine (proximity of the
words, meaning, groupings, etc.), may thus be given directly over
to the user.
[0047] Furthermore, a search engine is generally capable only of
analyzing words and sentences in this way.
[0048] Using the method according to the present application, the
search engine, instead of receiving a single request string to
process, break down and interpret as in the prior art, will receive
a series of precut distinct elements according to the search
intention of the user.
[0049] By allowing the direct identification of the search elements
by the user, it is possible to take other types of elements into
account, in particular of a non-textual nature.
[0050] As previously explained, in the case of keyword use, for
example, the keywords will no longer be separated from each other
by the search engine, but are separated into search elements as of
the user request stage.
[0051] A user wishing to perform a search on concepts A and B, for
example, will then be able to add those concepts A and B directly
either as distinct elements in the series or as a unit AB if that
has a meaning, and thus, without using a request language, for
example of the Boolean type where the user would be required to
include operators between the two concepts.
[0052] Processing is thus facilitated and improved, several
interpretation possibilities being able to be eliminated as of the
search stage and thus providing results closer to the actual search
done by the user.
[0053] An object or element refers to any digital object that may
be stored in a database. As previously stated, this may in
particular involve photos, as well as audio files, video files,
documents, multimedia, text, etc.
[0054] It should be noted that, in accordance with the operating
principle of a database, the referenced objects are not necessarily
directly contained themselves in a recording of the database and
may be referenced using their storage address or URL, for example,
or any other indirect means.
[0055] It should also be noted that the descriptor term used is not
limited. The descriptor term of course comprises descriptors of the
keyword type, but may also involve more technical descriptors
referencing textures, materials, color profiles, definition, etc.
These may be semantic descriptors established from a thesaurus. The
nature of the descriptors is generally not limited, and these may
be adapted depending on the objects referenced in the database(s)
and searched.
[0056] Advantageously, the series comprises elements having a
category chosen from among the group of keywords, expression,
image, location, date, time, video, sound, multimedia, text, etc.
Of course, any type of category can be considered.
[0057] According to a first form, a category of the element is
determined during the addition of the element to said series.
[0058] Advantageously, the category is associated with said element
in the series. Thus, it may also be given to the search engine with
the corresponding object.
[0059] It is also possible to provide prohibited categories, in
particular categories that the search engine cannot take into
account.
[0060] In one form, an element belonging to at least one
predetermined category considered to be unauthorized is not added
to the series.
[0061] Alternatively or additionally, elements of the series may be
added but then ignored, or not transmitted if they appear to be
irrelevant (for instance conjunctions, articles), or not able to be
processed by the engine.
[0062] According to a second form, a category of the element is
determined subsequently by the search engine.
[0063] In another form, the series comprises at least two elements
having different categories.
[0064] Also advantageously, the series comprises at least two
elements having non-textual categories, for example two images.
[0065] In other form, the element is added to the series with at
least one corresponding relevance or irrelevance indication. As for
the object category, this additional information will be given to
the search engine. The user may thus indicate preferences or
exclusions without having to build elaborate or complex
requests.
[0066] Thus, advantageously, the search engine performs the search
according to all or some of the following steps:
[0067] determining, for at least some of the elements of the
series, a set of associated descriptors,
[0068] based on the relevance and/or irrelevance indication of the
element of the series, assigning at least one weight to all or part
of the descriptors of the element,
[0069] calculating a resultant of the weights associated with each
descriptor of the set of elements in the list,
[0070] identifying, in the database, objects associated with at
least part of the descriptors of the elements of the series,
[0071] initializing a relevance index for at least part of the
identified objects,
[0072] comparing each of said selected identified objects with the
resultant, and for each descriptor of the compared identified
objects, increasing or decreasing the relevance index of the object
based on the weight of that descriptor in the resultant,
[0073] returning the list of selected identified objects with their
corresponding relevance indexes or in order of relevance.
[0074] Thus, by using a search using the relevance and irrelevance
information combined with the descriptors, it is possible to better
account for the actual meaning of the search and provide a more
satisfactory result. Furthermore, using such a method, it is easy
for the user to perform a complex search adding or removing
descriptors and keywords, and thus, intuitively and
transparently.
[0075] The determination of the descriptors associated with the
elements may be done using any means.
[0076] In the case of an element of the keyword type, an obvious
descriptor will be the keyword itself. Using a dictionary or other
means, it will, however, also be possible to account for synonyms,
antonyms, and other variations.
[0077] In the case of an image, the technical descriptors may be
obtained from a technical analysis of the image (colorimetry, etc.)
or file metadata (date taken, geolocation, etc.).
[0078] An image recognition-type analysis may also make it possible
to determine certain non-technical descriptors (shape and object
recognition, face recognition, handwriting recognition, etc.).
[0079] Lastly, if the image is known, it is also possible to
extract the descriptors from a database in which it is inventoried.
This may in particular be the case for photos put online on sharing
sites where they are often associated with "tags" and keywords for
classification purposes.
[0080] It will also be noted that different weights may be assigned
to different descriptors, in particular based on their origin,
context, situation relative to all of the other descriptors. Thus,
for example, the descriptors coming from a thesaurus, and therefore
having a standardized, uniform and structured nature, may have more
weight than descriptors of the keyword type that may have been
assigned by the users themselves of a photo site.
[0081] In one form, the weights assigned to the descriptors of the
elements considered to be irrelevant have a sign opposite that of
the weights assigned to the descriptors of the elements considered
to be relevant, and more particularly minus and plus signs,
respectively.
[0082] In another form, the absolute values of the weights assigned
to the descriptors of the elements considered to be relevant and/or
irrelevant are equal.
[0083] Alternatively, the weight assigned to the descriptors of the
elements considered to be relevant has a different absolute value,
and in particular higher, than that of the weight assigned to the
descriptors of the elements considered to be irrelevant.
[0084] Advantageously, the values of the weights assigned to the
descriptors of the elements considered to be relevant and/or
irrelevant may be different from one element of the series to the
next.
[0085] According to one particular form, if results already exist
from the previous search, the search instruction leads to a
refining method for refining the results from among the results
previously returned.
[0086] According to a second aspect, the present disclosure relates
to a search method, adapted to be implemented by a terminal, in a
database containing at least one set of objects each linked to at
least one descriptor. The method includes the following steps:
[0087] selecting, by a user, of at least one theme from among a set
of themes, each theme being associated with at least one
descriptor;
[0088] transmitting, to a search engine, a first request including
at least an information relative to said at least one theme
selected by the user;
[0089] receiving a first set of objects, transmitted by the search
engine in response to the first request;
[0090] entering, by the user, an information relative to an
indication of the relevance or the irrelevance of at least one of
the objects of the first set of objects;
[0091] transmitting, to the search engine, a second request
including the entered information pertaining to an indication of
the relevance or the irrelevance of at least one of the objects of
the first set of objects; and
[0092] receiving a second set of objects, transmitted by the search
engine in response to the second request.
[0093] The search engine may be implemented on a remote device, for
example a server including the database and means for performing
the processing required for taking into account the requests and
for the searches. The search engine may also be implemented on the
terminal, for example a module executing a software program able to
access the database and able to perform the processing required for
taking the requests and searches into account.
[0094] Particularly, the first request and/or the second request
may comprise at least one search parameter comprising a series of
at least one search element, the series being obtained by freely
adding elements to said series by the user. The series may comprise
elements having a category chosen from among the group of keywords,
expression, image, location, date, time, video, sound, multimedia,
text.
[0095] In one form, an element belonging to at least one
predetermined category and considered as unauthorized is not added
to the series. The series may comprise at least two elements having
different categories. The series may include at least two elements
having non-textual categories.
[0096] According to a third aspect, the present disclosure relates
to a terminal including a search module in a database, said
database containing at least one set of objects each linked to at
least one descriptor. The terminal includes means configured
for:
[0097] allowing a user to select at least one theme from among a
set of themes, each theme being associated with at least one
descriptor;
[0098] transmitting, a first request including at least an
information pertaining to said at least theme selected by the user,
to a search engine;
[0099] receiving a first set of objects, transmitted by the search
engine in response to the first request;
[0100] allowing typing, by the user, of an information pertaining
to an indication of the relevance or irrelevance of at least one of
the objects of the first set of objects;
[0101] for transmitting, a second request including the entered
information pertaining to an indication of the relevance or
irrelevance of at least one of the objects of the first set of
objects, to the search engine;
[0102] receiving a second set of objects, transmitted by the search
engine in response to the second request.
[0103] The search engine may be implemented on a remote device, for
example a server including the database and means for performing
the processing required for taking into account requests and for
searches. The search engine may also be implemented on the
terminal, for example a module executing a software program able to
access the database and able to perform the processing required for
taking into account the requests and for searches.
[0104] The first request and/or the second request may comprise at
least one search parameter comprising a series of at least one
search element, the series being obtained by freely adding elements
to said series by the user. The series may comprise elements having
a category chosen from among the group of keywords, expression,
image, location, date, time, video, sound, multimedia, text.
[0105] Particularly, the terminal may include a tactile user
interface.
[0106] According to a fourth aspect, the present disclosure relates
to a computer program including instructions for executing steps of
the method according to the first aspect or the second aspect, when
said program is executed by a processor.
[0107] Each of these programs may use any programming language, and
be in the form of a source code, object code, or intermediate code
between source code and object code, such as in a partially
compiled form, or in any other required form. Particularly, it is
possible to use script languages, such as in particular tcl,
javascript, python, perl which allow an "on demand" code generation
and do not require any significant overload for their generation or
modification.
[0108] According to a fifth aspect, the present disclosure relates
to a storage medium readable by a computer on which is stored a
computer program comprising instructions for executing steps of the
method according to the first or the second aspect.
[0109] The information medium may be any type of entity or any type
of device able to store the program. For example, the support may
include a storage means, such as a ROM, for example a CD-ROM or a
microelectric circuit ROM, or even a magnetic recording means, for
example a floppy disk or a hard disk. On the other hand, the
information medium may be a transmissible support such as an
electric or optical signal, which may be routed by an electric or
optical cable by radio or by other means. The program according to
the present disclosure may particularly be downloaded onto an
Internet or Intranet network. Alternatively, the information medium
may be an integrated circuit in which the program is incorporated,
the circuit being adapted to execute or to be used in the executing
of the method in question.
[0110] Further areas of applicability will become apparent from the
description provided herein. It should be understood that the
description and specific examples are intended for purposes of
illustration only and are not intended to limit the scope of the
present disclosure.
DRAWINGS
[0111] In order that the disclosure may be well understood, there
will now be described various forms thereof, given by way of
example, reference being made to the accompanying drawings, in
which:
[0112] FIG. 1 is a diagrammatic illustration of a search bar of a
method according to the present disclosure;
[0113] FIG. 2, is a synoptic of a search method according to an
form of the present disclosure; and
[0114] FIGS. 3a to 3e are illustrations of user interfaces
according to one form of the present disclosure.
[0115] The drawings described herein are for illustration purposes
only and are not intended to limit the scope of the present
disclosure in any way.
DETAILED DESCRIPTION
[0116] The following description is merely exemplary in nature and
is not intended to limit the present disclosure, application, or
uses. It should be understood that throughout the drawings,
corresponding reference numerals indicate like or corresponding
parts and features.
[0117] As previously stated, the search method of the present
application seeks to search for objects in a database containing at
least one set of objects each connected to at least one
descriptor.
[0118] For example, it will be considered that in the case at hand,
this is a database containing photos, each photo being associated
with one or more descriptors of that photo.
[0119] The search is done by a search engine from at least one
request by a user.
[0120] To that end, before launching the search, the user is
presented with a search form including a search bar (or field) 1
intended to collect a search parameter entered by the user and
associated with a clickable button 2 making it possible to launch
the search by sending the information to the associated search
engine.
[0121] In accordance with the method according to the present
application, the search parameter entered by the user in the search
bar 1 comprises a series of search elements 10, 11, 12, 13 obtained
by freely adding 15 elements to said series by the user, the
addition step 15 being able to be repeated multiple times (a
limited or, unlimited number of times) until a search instruction
is given.
[0122] In the case at hand, the search elements 10, 11, 12, 13
entered by the user respectively correspond to a location (the town
of Megeve), a date (year), photo, and expression ("snowy
mountain").
[0123] Several methods exist for adding these elements to the
list.
[0124] First, these elements may be identified upon entry, after
each addition step, from a particular format.
[0125] Thus, for example, a location may be identified by its GPS
coordinates entered using a suitable format.
[0126] It is also possible to add the location from a database
inventorying different towns and locations. When the user validates
the word "Megeve", a preprocessing step identifying that word as
corresponding to a town and the corresponding geographical element
is added to the series (in this case, with an associated icon
identifying the category of the added element).
[0127] It is also possible to add such a location through a
drag-and-drop operation from a map.
[0128] The same holds true for the date element, which may be
recognized from an entry by the user using a defined format or from
a calendar presented to the user on the search page.
[0129] This is also valid for photos, which may be added from their
Internet address or location (URL), a preprocessing step in charge
of recognizing the file format and the photo.
[0130] The photo may also be shown to the user beforehand, for
example in a list. To add it to the list of elements, it is
possible to use a drag-and-drop operation as for the other
elements, or possibly to click on associated selection means.
[0131] It is also possible to show the user a set of themes or
characteristics allowing him to initiate a search easily. The
selection of such themes may be made using clickable icons. The
corresponding theme is then added to the list of elements.
[0132] Of course, the present application is not limited to the
types and categories of elements cited as an example, and it is in
particular possible to apply the method to video objects, audio
objects, texts, etc.
[0133] Of course, additionally, the implementation of selection
means associated with an element is possible for any type of
element, and not only photos.
[0134] Such selection means also make it possible to associate
relevance or irrelevance information corresponding to the element
to be added, and the element is added to the series with at least
one corresponding relevance or irrelevance indication.
[0135] Thus, each element may be shown to the user in association
with a clickable image showing a checkmark 16 and a clickable image
showing a prohibition cross 17.
[0136] The corresponding respective relevance or irrelevance
information will then be added to the series with the considered
element.
[0137] Of course, the images showing a checkmark and a cross are
provided as examples, and any equivalent illustration is possible,
including clickable text informing the user of the choice he can
make.
[0138] The relevance or irrelevance information associated with the
added element is reflected in the search bar (check and cross).
[0139] It is also possible to consider allowing the user to modify
this indication after adding the element to the series, for example
by successively clicking on the element in question added to the
search bar, alternatively associated with a relevance or
irrelevance indication.
[0140] In the illustrated case, the location, photo and expression
elements are elements considered by the user to be relevant. The
date element, on the other hand, is considered irrelevant by the
user, who wishes to exclude objects from 2007.
[0141] The set of added elements is sent to the search engine when
the search button 2 is clicked by the user or by any other
triggering means, for example pressing on the enter key if no word
has been entered.
[0142] The set of elements may be transmitted by any known means,
in particular using one or more variables.
[0143] Thus, in the case where the elements are associated with
relevance information, the relevant elements could be transmitted
in one variable and the irrelevant elements in another
variable.
[0144] In one form, the associated search engine implements the
following steps:
[0145] determining, for at least part of the elements of the
series, a set of associated descriptors,
[0146] based on the relevance and/or irrelevance indication of the
element of the series, assigning at least one weight to all or part
of the descriptors of the element,
[0147] calculating a resultant of the weights associated with each
descriptor of the set of elements in the list,
[0148] identifying, in the database, objects associated with at
least part of the descriptors of the elements of the series,
[0149] initializing a relevance index for at least part of the
identified objects,
[0150] comparing each of said selected identified objects with the
resultant, and for each descriptor of the compared identified
objects, increasing or decreasing the relevance index of the object
based on the weight of that descriptor in the resultant,
[0151] returning the list of selected identified objects with their
corresponding relevance indexes or in order of relevance.
[0152] Such a search method is similar to the refining method
described in application WO 2012/127168.
[0153] However, it is worth noting that the method described in
document WO 2012/127168 targeted a method for refining result
objects and required a prior search.
[0154] The present search method makes it possible to obtain
desired results directly from initial search elements.
[0155] The first step thus consists in determining a set of
descriptors for the transmitted search elements.
[0156] The nature of the descriptors may depend on the category of
the search element.
[0157] Thus, for keywords or sentences and expressions, the
descriptors may be loaded from a dictionary or thesaurus in
particular made up of plural descriptors, and may consist of
homonyms, synonyms, antonyms, expressions, words with close
meanings, images, sounds, videos, geographical coordinates,
etc.
[0158] In the case of themes or characteristics presented to and
added by the user, such a dictionary will make it possible to link
said themes to a set of associated descriptors covered by that
theme. The themes may thus constitute the entries of a thesaurus of
the database.
[0159] The locations may lead to descriptors of distance type,
neighboring locations, etc.
[0160] Regarding images, the descriptors may be both of a technical
nature (colorimetric distribution, resolution, etc.) and be
obtained using an image analysis method, or of a textual nature
describing said image. The textual descriptors may be obtained by
image analysis (object recognition method, for example), but also
through a photo library, containing the loaded photo associated
with such descriptors. This is of course also applicable to audio
files, etc., or sounds, voice, via microphone, images via webcam,
etc.
[0161] The photo library may be the search database, for
example.
[0162] Thus, the mountain photo given as an example, if it is known
by the database or another database (for example, an external site
on which the photos are associated with "tags" or keywords), will
be associated with a set of descriptors that will be recovered by
the search engine.
[0163] The following steps are similar to those described in
document WO 2012/127168.
[0164] First, based on the relevance and/or irrelevance indication
of the element in the series, a weight is assigned to all or part
of the descriptors of the considered element.
[0165] It will in particular advantageously be possible to modulate
the assigned weight (negative or positive) based on the number of
times the user selects the element.
[0166] Thus, in the provided example, the descriptors associated
with the date will be given a negative weight, for example -P (this
element having been considered irrelevant by the user).
[0167] However, the other elements having been defined as relevant
by the user, their descriptors will be given a positive weight, for
example +P.
[0168] An absolute value of the weights may be different for the
relevant elements and for the irrelevant elements.
[0169] Likewise, the values of the assigned weights may be
different depending on the descriptors, and in particular decrease
depending on the location of the descriptor in the list.
[0170] A resultant of the weights assigned to each descriptor is
then calculated.
[0171] The objects in the database associated with at least one
pair of search descriptors are then identified.
[0172] A relevance index for these objects is thus initialized, for
example at the value zero. Each identified object therefore has the
same priority and relevance.
[0173] A subsequent step makes it possible to compare each
identified object with the resultant of the weights of the
descriptors.
[0174] To that end, each descriptor of the identified object is
compared with the resultant, and the relevance indicator is
increased or decreased by the weight of that descriptor in said
list.
[0175] The identified objects are then reorganized based on their
final relevance index, in particular from most relevant to least
relevant. The identified objects may also be sorted based on the
largest relevant object diversity within the perimeter of the
search.
[0176] Of course, the user may then continue his/her search, and in
particular add new elements to the search list or remove elements
from it, in particular from among the identified relevant objects
presented to him.
[0177] Thus, depending on whether results already exist from a
previous search, the search instruction may lead to a refining
method of the results from among the results previously returned,
as described in document WO 2012/127168, or lead to a new search
method, a complete search requiring more system resources.
[0178] Although the present disclosure has been described with one
particular example form, it is obvious that it is in no way limited
thereto and encompasses all technical equivalents of the described
means as well as the combinations thereof should these enter within
the scope of the present disclosure.
[0179] It is in particular possible to provide additional relevant
signaling means, for example a "neutral" button, in addition to
means making it possible to indicate the relevance and/or
irrelevance.
[0180] It is also possible to provide means for resetting the
relevance weights and index in case of user error, or if the user
wishes to restart refining based on other criteria.
[0181] Furthermore, although the present disclosure has been
described essentially with respect to photos, it is of course not
limited thereto, and any other type of digital file with which
descriptors can be associated may be used for the implementation
thereof. It is in particular possible to implement the method in
the same way with audio files, in particular associated with
descriptors regarding their musical style, type of sound,
instruments, etc., as well as with video files, animated images,
documents, text files, in particular old scanned books, etc.
[0182] Furthermore, different functionalities may benefit from a
first search and be implemented.
[0183] For example, after a first search, the engine may
automatically propose part of the descriptors and elements
resulting from said search so as to subsequently be able to choose
the discriminating descriptors more quickly.
[0184] FIG. 2 is a synoptic of a search method according to one
form of the present disclosure. The method is adapted to be
implemented by a terminal 100, for example a mobile terminal
provided with a tactile user interface and a search engine 200, for
example a computer system comprising servers and databases. The
search engine 200 thus comprises a database containing at least one
set of objects each linked to at least one descriptor. The terminal
100 and the search engine 200 are for example coupled such as to be
able to exchange information. Typically, the terminal 100 and the
search engine communicate by means of Internet. The terminal 100 is
typically configured to allow a user to browse the Internet, either
by using an HTML browser, or by means of an application. The
terminal 100 comprises means for implementing a user interface such
as that illustrated on FIGS. 3a to 3e. In the example illustrated
by FIGS. 3a to 3e, the objects and interfaces have been represented
by boxes including typed inscriptions, for the sake of clarity and
visibility.
[0185] However, the elements may advantageously be replaced and/or
completed, by visual representations of photograph type or
schematic illustrations for example. Thus, the representation of
the object 1 illustrated on FIG. 3b by an inscription OBJ 1 may be
replaced by a visual representation of said object, for example the
photograph of a football player. Similarly, the representation of
the NATURE theme on FIG. 3a by the inscription NAT may be replaced
by a visual representation of said theme, for example a drawing of
a tree and a mountain.
[0186] The method includes a step of selecting 110, by the user, at
least one theme from among a set of themes, each theme being
associated to at least one descriptor. FIG. 3a shows a user
interface allowing the user to choose said theme. In this example,
the user is presented with buttons on which an icon represents one
of the proposed themes: Nature, Science, Education, Leisure
activities, Economy, Travel. The user may thus, select the one
which best corresponds to his/her search intention by activating
the corresponding button, in the present case, Leisure activities.
The user may further enter an optional request in the corresponding
field, as detailed before in the description.
[0187] A first request R1 including an information pertaining to
said at least one theme selected by the user--in the example,
Leisure activities--as well as the optional request are
transmitted, during a step 120, to the search engine 200, and
received by the latter during a step 210. The search engine, will
then search, during a step 220, in the database, according to the
first request R1, of a first set E1 of objects. In our example, the
search engine will thus search the objects of the base associated
with terms Leisure activities.
[0188] When the results are numerous, the search engine may select
a sub-assembly only of objects corresponding to the first request,
according to a certain number of criteria, particularly, by
privileging the diversity of the results. In the previous example,
the first set E1 may comprise objects relating to swimming, plastic
arts, football, board games, hiking, etc. During a step 220, the
first set E1 is then transmitted, to the terminal 100, and received
by the latter during a step 130. FIG. 3b shows a user interface in
which the first set E1 is presented to the user, as well as a new
selection of themes. More particularly, the user having chosen the
theme Leisure activities during the step 110, new associated themes
are proposed for selection, namely, hiking, swimming, painting,
drawing, video games, games, cinema/theater.
[0189] The user may thus select a theme again, in our hiking
example, as illustrated on FIG. 3c. During a step 140, the user
enters at least an information pertaining to an indication of the
relevance or irrelevance of at least one of the objects of the
first set of objects. As illustrated on FIG. 3d, a user interface
is thus proposed to the user to allow him/her to identify from
among the first set E1 which objects seem relevant in the context
of his/her search. In this example, three buttons for each object
are presented to the user on which an icon relative to an
indication of the relevance or irrelevance is represented:
irrelevant (represented on FIGS. 3b to 3e by a black cross),
neutral (represented on FIGS. 3b to 3e by a white tick), relevant
(represented on FIGS. 3b to 3e by a black tick).
[0190] The user may thus choose the degree of relevance for one or
several objects thus presented by activating the corresponding
button. In the present case, the user may identify as relevant the
object pertaining to a photograph showing two hikers equipped with
a pack. The user may designate several objects as relevant and/or
irrelevant and/or neutral. During the step 150, a second request R2
including the entered information pertaining to an indication of
relevance, neutrality or irrelevance of at least one of the objects
of the first set of objects is transmitted to the search engine,
which receives it in a step 230. In the example of FIG. 3e, the
second request R2 includes an information pertaining to the
relevance of the photograph showing two hikers equipped with a
pack, an information pertaining to a photograph showing a green
pack, an information pertaining to the irrelevance of a photograph
showing a red pack.
[0191] The second request R2 may further include other information,
particularly a new theme selected by the user--in the example,
Hikes and hiking equipment as well as another optional request, for
example another keyword and/or a location. The search engine, will
then search, during a step 240, in the database or in the first set
E1 of objects, based on the second request R2, of a second set of
E2 objects. When the results are numerous, the search engine may
select a sub-assembly only of objects corresponding to the second
request, according to a certain number of criteria, particularly,
by privileging the diversity of the results During a step 240, the
second set E2 is then transmitted, to the terminal 100, and
received by the latter during a step 260. FIG. 3e shows a user
interface in which the second set E2 is presented to the user, in
our example, a set of objects pertaining to green hiking packs. The
aforementioned steps may thus be repeated as many times as
necessary, such that the user may refine/enter the required search
and obtain the expected results.
* * * * *