Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD PERFORMED BY AT LEAST ONE SERVER FOR PROCESSING A REQUEST SUBMITTED BY A USER RELATED TO AN ITEM AND ASSOCIATED APPARATUS
Document Type and Number:
WIPO Patent Application WO/2017/003371
Kind Code:
A1
Abstract:
A method (300) performed by at least one server for processing a request submitted by a user related to an item, is disclosed. The method comprises: providing (302) a profile associated with the user, the profile arranged to store a plurality of different preference parameters associated with the item; determining (304) at least one preference criterion by comparing at least one preference parameter with an associated preference parameter in the plurality of preference parameters; ranking (306) the at least one preference criterion; searching (308) a database based on the request and/or at least one of the preference parameters to obtain a search result; and modifying (310) contents of the search result based on the ranked preference criterion. A related apparatus is also disclosed.

Inventors:
LOW HOA MENG KELVIN (SG)
Application Number:
PCT/SG2015/050190
Publication Date:
January 05, 2017
Filing Date:
June 30, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
LOW HOA MENG KELVIN (SG)
International Classes:
G06F17/30
Foreign References:
US7693827B22010-04-06
US20110264665A12011-10-27
US7016866B12006-03-21
US7747611B12010-06-29
Attorney, Agent or Firm:
FOO, Chee Hiong, Ricky (SG)
Download PDF:
Claims:
Claims

1 . A method performed by at least one server for processing a request submitted by a user related to an item, the method comprising:

(i) providing a profile associated with the user, the profile arranged to store a plurality of different preference parameters associated with the item;

(ii) determining at least one preference criterion by comparing at least one preference parameter with an associated preference parameter in the plurality of preference parameters;

(iii) ranking the at least one preference criterion;

(iv) searching a database based on the request and/or at least one of the preference parameters to obtain a search result; and

(v) modifying contents of the search result based on the ranked preference criterion.

2. The method of claim 1 , wherein the profile is assigned with a unique identifier to identify the user.

3. The method of claim 2, wherein the unique identifier is stored on the server and a computing device from which the request is transmitted to the server.

4. The method of claim 3, wherein the unique identifier is stored as a persistent cookie on the computing device.

5. The method of any preceding claims, wherein the request is a search request for real estate classifieds.

6. The method of any preceding claims, wherein the server includes a web server.

7. The method of any preceding claims, wherein the database includes the Internet.

8. The method of any preceding claims, further comprising displaying the modified search result to the user.

9. The method of any preceding claims, wherein modifying the contents of the search results includes modifying textual content of the search result using the ranked preference criterion.

10. The method of claim 9, wherein modifying the textual content of the search result includes adding text to, deleting text from, rephrasing, and/or rearranging at least one portion of the textual content.

1 1 . The method of any preceding claims, wherein the request includes at least one preference parameter for basing the search on, further comprising: storing the received preference parameter in the profile.

12. The method of any preceding claims, wherein the request includes a request for accessing a page/portion of a website hosted by the server, and the page/portion is provided with at least one attribute associated with the item, further comprising:

storing the at least one attribute as a preference parameter in the profile.

13. The method of claim 12, wherein step (iv) includes searching the database based on the at least one attribute and/or at least one of the preference parameters.

14. The method of any of claims 1 1 to 13, wherein storing the preference parameter in the profile includes incrementally increasing an index associated with a frequency of the preference parameter received by the server, based on requests of the user.

1 5. The method of claim 14, wherein determining the preference criterion includes:

comparing the index of the preference parameter with an index of the associated preference parameter; and selecting the preference parameter or the associated preference parameter as the preference criterion, based on the comparison.

16. The method of claim 15, wherein comparing the index of the preference parameter with the index of the associated preference parameter includes determining which index is numerically larger, and selecting the parameter having the numerically larger index.

1 7. The method of claim 1 1 , wherein the at least one preference parameter includes multiple preference parameters, and the method includes determining a set of preference criteria by comparing respective preference parameters with respective associated preference parameters in the plurality of preference parameters; ranking respective preference criterions of the preference criteria; and modifying contents of the search result based on the ranked preference criterions.

18. The method of claim 17, wherein storing the multiple preference parameters in the profile includes incrementally increasing respective indexes associated with a frequency of the respective preference parameters received by the server, based on requests of the user.

19. The method of claim 18, wherein determining the set of preference criteria further includes selecting the respective preference parameters or the respective associated preference parameters as the respective reference criterions, based on the comparison.

20. The method of claim 18 or 19, wherein ranking the respective criterions includes:

calculating respective ratios of the criterions based on the indexes of the respective preference parameters and indexes of the respective associated preference parameters; and

ranking the criterions in descending order based on the respective calculated ratios.

21 . The method of any of claims 1 7 to 20 , when dependent on claim 1 0, wherein the at least one portion of the textual content includes a plurality of portions associated to respective preference criterions; and wherein each portion is re-arranged relative to other portions based on the ranking of the preference criterion associated to.

22. The method of any preceding cla ims, wherein the search result includes a plurality of dig ital advertisements/classifieds related to the request, and wherein mod ifying the contents of the search result includes modifying associated descriptions of the digital advertisements/classifieds.

23. An apparatus for processing a request submitted by a user related to an item , the apparatus comprises :

a storage module for providing a profile associated with the user, the profile arranged to store a plurality of different preference parameters associated with the item ; and

a processor for:

(ii) determining at least one preference criterion by comparing at least one preference parameter with an associated preference parameter in the plurality of preference parameters;

(iii) ranking the at least one preference criterion ;

(iv) searching a database based on the req uest and/or at least one of the preference parameters to obtai n a search result; and

(v) modifying contents of the search resu lt based on the ra nked preference criterion .

24. The apparatus of claim 23, wherein the apparatus includes a web server.

Description:
METHOD PERFORMED BY AT LEAST ONE SERVER FOR PROCESSING A REQUEST SUBMITTED BY A USER RELATED TO AN ITEM AN D ASSOCIATED APPARATUS

Field & Background

The present invention relates to a method performed by at least one server for processing a request submitted by a user related to an item, and an associated apparatus.

Modern web advertisements or online classified listings generally display Preformatted information to users based on submitted search queries, or customized information based on search strings submitted. Sometimes, the users' prior searches made on the related search engines are used to create context to facilitate the searching, e.g. an overt approach which tends to be used for autocomplete search queries, or an implicit approach for behind the scene use of user information to rank relevance of search results.

Conventional classified searches typically work as follows. Based on search queries entered by users, an associated search engine pulls relevant resources (i.e. classified listings) from database(s) being searched. Thereafter, Preformatted, pre-defined ads or classifieds stored in the database(s) (which are relevant to the search queries) are displayed as search results to the users. The sequence of the search results returned may sometimes be ordered based on relevancy.

For online web searches, Google's Dynamic Ads is used as an example for discussion here (i.e. see screenshot 100 of FIG. 1 ). Based on search queries of users, Google's Dynamic Ads engine pulls relevant resources (i.e. Ads and search result or pages) from database(s) being searched. From the content of search result pages returned by the engine, specific texts or portions of text/information (in the search result pages) related to the search strings are then highlighted or selectively displayed (by the engine) to the users. For display advertising, advertisers have the option of marking up certain segments of the advertising text using symbols e.g. "{}" to indicate words or parts of the advertising message that can be replaced with keywords from search strings submitted by users.

Existing methods however suffer from certain drawbacks: ( 1 ). Profiling of user preference or behaviour commences only after a user account registration, which consequently limits scope of applicability of personalized advertising; (2). Limited to highlighting and calling out content/advertising text which matches keywords entered by a user but does not allow insertion of entirely new advertising messages that are relevant to the user. This is hence effective only for advertisements or classifieds that already have keywords matching search strings submitted by users; and (3). Limited to replacing pre-marked portions/words within a display advertisement with keywords from a search string submitted by a user, which does not allow re-ordering of advertising message based on a prioritization of selling points that are most relevant to the user. As mentioned, conventional methods may first require user registration to open user accounts with a relevant website to be able to profile preferences of associated users of the website, and further generally do not allow prioritization or selection of advertising content. It consequently limits scope/the pool of users who may be profiled and to whom personalized advertisements can be served. In addition, conventional methods tend to require a search string be provided, which is used to prioritize or select advertising content, and also used to highlight certain words in the search results returned for the users' easy referencing. One object of the present invention is therefore to address at least one of the problems of the prior art and/or to provide a choice that is useful in the art.

Summary

According to a 1 st aspect of the invention, there is provided a method performed by at least one server for processing a request submitted by a user, related to an item the method comprising: (i) providing a profile associated with the user, the profile arranged to store a plurality of different preference parameters associated with the item; (ii) determining at least one preference criterion by comparing at least one preference parameter with an associated preference parameter in the plurality of preference parameters; (iii) ranking the at least one preference criterion; (iv) searching a database based on the request and/or at least one of the preference parameters to obtain a search result; and (v) modifying contents of the search result based on the ranked preference criterion.

Advantageously, based on the at least one ranked preference criterion (or a set of ranked preference criteria), the method 300 accordingly modifies content of the search result found by the search, and generates customised/personalized classified listings or web advertisements to be displayed to the user.

Preferably, the profile may be assigned with a unique identifier to identify the user.

Preferably, the unique identifier may be stored on the server and a computing device from which the request is transmitted to the server.

Preferably, the unique identifier may be stored as a persistent cookie on the computing device.

Preferably, the request may be a search request for real estate classifieds. Preferably, the server may include a web server. Preferably, the database may include the Internet.

Preferably, the method may further comprise displaying the modified search result to the user.

More specifically, modifying the contents of the search results may include modifying textual content of the search result using the ranked preference criterion.

Preferably, modifying the textual content of the search result may then include adding text to, deleting text from, rephrasing, and/or re-arranging at least one portion of the textual content. Preferably, the request may include at least one preference parameter for basing the search on, and the method may further comprise storing the received preference parameter in the profile.

Alternatively, the request may include a request from accessing a page/portion of a website hosted by the server, and the page/portion is provided with at least one attribute associated with the item, and the method may preferably further comprise storing the at least one attribute as a preference parameter in the profile.

Preferably, step (iv) may include searching the database based on the at least one attribute and/or at least one of the preference parameters.

Preferably, storing the preference parameter in the profile may include incrementally increasing an index associated with a frequency of the preference parameter received by the server, based on requests of the user.

Preferably, determining the preference criterion may include comparing the index of the preference parameter with an index of the associated preference parameter, and selecting the preference parameter or the associated preference parameter as the preference criterion, based on the comparison.

Preferably, comparing the index of the preference parameter with the index of the associated preference parameter may include determining which index is numerically larger, and selecting the parameter having the numerically larger index.

Preferably, the at least one preference parameter may include multiple preference parameters, and the method may then include determining a set of preference criteria by comparing respective preference parameters with respective associated preference parameters in the plurality of preference parameters; ranking respective preference criterions of the preference criteria; and modifying contents of the search result based on the ranked preference criterions. Preferably, storing the multiple preference parameters in the profile may include incrementally increasing respective indexes associated with a frequency of the respective preference parameters received by the server, based on requests of the user.

Preferably, determining the set of preference criteria may further include selecting the respective preference parameters or the respective associated preference parameters as the respective reference criterions, based on the comparison.

Preferably, ranking the respective criterions may include calculating respective ratios of the criterions based on the indexes of the respective preference parameters and indexes of the respective associated preference parameters; and ranking the criterions in descending order based on the respective calculated ratios.

Preferably, the at least one portion of the textual content may include a plurality of portions associated to respective preference criterions, and each portion is rearranged relative to other portions based on the ranking of the preference criterion associated to.

Preferably, the search result may include a plurality of digital advertisements/classifieds related to the request, and wherein modifying the contents of the search result may include modifying associated descriptions of the digital advertisements/classifieds.

According to a 2 nd aspect of the invention, there is provided an apparatus for processing a request submitted by a user related to an item, the apparatus comprises: a storage module for providing a profile associated with the user, the profile arranged to store a plurality of different preference parameters associated with the item; and a processor for: (ii) determining at least one preference criterion by comparing at least one preference parameter with an associated preference parameter in the plurality of preference parameters; (iii) ranking the at least one preference criterion; (iv) searching a database based on the request and/or at least one of the preference parameters to obtain a search result; and (v) modifying contents of the search result based on the ranked preference criterion.

Preferably the apparatus may include a web server.

It should be apparent that features relating to one aspect of the invention may also be applicable to the other aspects of the invention.

These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.

Brief Description of the Drawings

Embodiments of the invention are disclosed hereinafter with reference to the accompanying drawings, in which:

FIG. 1 is a screenshot of an online web search made using Google ' s Dynamic Ads engine, according to the prior art;

FIG. 2 is a schematic diagram of a system setup between a server and a computing device to enable a request transmitted by the device to be processed by the server, according to an embodiment of the invention;

FIG. 3 is a flow diagram of a method performed by the server of FIG. 1 for processing the request transmitted by the computing device;

FIG. 4 includes FIGs. 4a to 4c, which show respective different examples of profiles stored on the server of FIG. 1 ;

FIG. 5 includes FIGs. 5a and 5b, which show respective tables illustrating determination of respective sets of preference criteria for different users, and ranking of criterions in the respective sets of preference criteria; and

FIG. 6 includes FIGs. 6a to 6c, which show respective tables illustrating an example database to be searched by the server of FIG. 1 , and corresponding search results returned by the server based on different requests received.

Detailed Description of Preferred Embodiments

FIG. 2 shows schematics of a system setup 200 between a server 202 and a computing device 204 to enable a request/query sent by a user of the computing device 204 to be processed by the server 202, according to a first embodiment. The request/query relates to searching for an item of interest to the user, for example, a house. Hence, in this case, the request/query is a search request/query, and will be referred to as such hereinafter in this embodiment. The server 202 hosts a website, which is accessed by the user via the computing device 204, providing various information/listings relating to the item. A flow diagram of a method 300 (i.e. see FIG. 3) performed by the server 202 for processing the request/query transmitted by the computing device 204 will be described together with FIG. 2. It is to be appreciated that the server 202 may be a web server, a cloud server, or other suitable types of server as will understood to be possible, and multiple servers 202 (which may respectively reside in different geographical locations) may also be deployed in the system setup 200 if required (i.e. FIG. 2 is a simplified scenario merely to ease discussion here). Examples of the computing device 204 include PCs, laptops or smart-devices, such as tablets, smartphones or the like. Further, the server 202 is configured to be able to accept and handle concurrent search requests sent by multiple computing devices 204.

When a search request is transmitted 206 by the computing device 204 to the server 202, the following broad steps are taken by the server 202 to process the search request, which includes at least one preference parameter specified by the user for basing the search on. It is to be appreciated that the preference parameter is utilised as a search parameter by the server 202 at step 308. The at least one preference parameter simply means that a minimum of one preference parameter is all that is required for assembling the search request, but will be understood as not precluding multiple preference parameters from being used. Also, the search request may be a search for classifieds related to real estate properties, but without loss of generality, the method 300 is devised to be widely applicable to online searches for any type of information. At step 302, the server 202 provides a profile to store the preference parameter, in which the server 202 activates a storage module (not shown) to store the preference parameter in the profile (that is associated with the user), in which the profile is arranged to store a plurality of different preference parameters. Prior to step 302, it will be appreciated that the server 202 is configured to receive and process the search request transmitted by the computing device 204. The profile is stored in a user database on the storage module. Particularly, the profile is arranged with a unique identifier randomly assigned to allow the server 202 to anonymously identify the user, and the unique identifier is stored on both the server 202 and the computing device 204. In other words, the server 202 is arranged to perform anonymous profiling of individual users' preferences. On the computing device 204, the unique identifier may be stored as a persistent cookie, but is however not to be construed as limiting.

At step 304, the server 202 determines at least one preference criterion by comparing the preference parameter with an associated preference parameter in the plurality of preference parameters, where the preference criterion is then assigned a ranking by the server 202 at step 306. Concurrent to step 306, step 308 is performed and at step 308, the server 202 is configured to search a database (e.g. the Internet) based on the search request to obtain a search result, which includes a plurality of result entries or digital advertisements/classified listings related to the search request. It is to be highlighted the advertisements/classified listings are pre-assigned with relevant attributes (e.g. product, price, tenure and etc.) and these relevant attributes are separate to text description portions of the advertisements/classified listings. In particular, the server 202 searches the database for appropriate digital advertisements/classified listings by comparing the preference criterion against the attributes of the advertisements/classified listings. It is to be appreciated that in variant embodiments, step 308 may also be performed after step 302, but prior to step 304 (if desired), which however does not affect operation of method 300 in any manner. Thereafter at step 310, contents of the search result are modified based on the ranked preference criterion. Specifically, modification of content of the digital advertisements/classified listings is done on the text description portion. It is to be appreciated that steps 304-310 are performed by a processor (not shown) of the server 202. The modified search results are subsequently transmitted back 208 by the server 202 to the computing device 204 to be displayed to the user.

Specific aspects of the different steps 302-310 are elaborated below. Depending on requirements, modifying the contents of the search results may relate to modifying different aspects (e.g. textual content or image content) of the search result using the ranked preference criterion(s), depending how the search result is to be customised for the user, if the textual content of the search result is to be modified, the modification then includes adding text to, deleting text from, rephrasing, and/or re-arranging (i.e. re-sequencing) at least one portion of the textual content. The textual content may refer to a relevant text description for a digital advertisement.

For the different preference parameters stored in the profile, each preference parameter is assigned a numerical index (i.e. starting from 0 initially) which indicates a corresponding frequency of the associated preference parameter received by the server 202, based on prior search requests of the user. So storing the preference parameter in the profile includes incrementally increasing the associated index for that specific preference parameter. In instances where the at least one preference parameter includes multiple preference parameters, then the indexes associated with the respective preference parameters are incrementally increased.

Following on, for determining a preference criterion related to the preference parameter, it includes comparing the index of the preference parameter with an index of the associated preference parameter, and then selecting the preference parameter or the associated preference parameter as the preference criterion, based on the comparison. In this context, the associated preference parameter is defined as one specifying a condition directed to address a similar requirement as the preference parameter, but the condition is however different to a condition specified by the preference parameter. Specifically for the comparison, it is to be determined which index is numerically larger, and the parameter having the numerically larger index is consequently selected as the preference criterion.

In instances where the at least one preference parameter includes multiple preference parameters, then the server 202 (and method 300) is configured to determine a set of preference criteria by comparing respective preference parameters with respective associated preference parameters in the plurality of preference parameters, rank respective preference criterions of the preference criteria, and modify contents of the search result based on the ranked preference criterions. It is to be appreciated that the set of preference criteria may comprise a minimum of one preference criterion. Going back to the content modification aspect, it is to be appreciated that the at least one portion of the textual content may include a plurality of portions associated to respective preference criterions, and so each portion may be re-arranged relative to other portions based on the ranking of the preference criterion associated to. Particularly, the higher the ranking of a specific preference criterion, the closer to the beginning of the textual content the associated text portion is moved/rearranged to, and vice versa. This content personalization is carried out so that text portions associated with preference criterions considered more important to the user are moved to the front of the textual content in order to more effectively capture the user's attention in relation to a digital advertisement (on which the textual content appears).

Yet again on the content modification aspect, it is to be appreciated that any of the following modification actions may be effected on the at least one portion of the textual content: adding text, removing text, rephrasing text, and re- sequencing text. For adding text, it is carried out where there is a match between the preference criterions and the attributes of relevant advertisements/classified listings, but the listing attributes are not however mentioned within the text description portion of the advertisements/classified listings. For removing text, it is carried out where conflict is determined between the preference criterions and the listing attributes, and the conflicting listing attribute is mentioned within the text description portion. So the conflicting listing attribute is consequently removed from the text description portion. For rephrasing text, it is carried out where there are multiple ways of presenting a piece of information, and a particular way of presentation is preferred by the user, e.g. price. For re-sequencing text, it is carried out where multiple matching attributes are mentioned within the text description portion, and re-sequencing is done to position the more important attributes (deemed by the user) nearer to the front of the text description portion.

Moreover, determining the set of preference criteria includes comparing the respective multiple preference parameters with respective associated preference parameters in the plurality of preference parameters, and selecting the respective preference parameters or the respective associated preference parameters as the respective reference criterions, based on the comparison. Yet further, ranking the respective criterions includes calculating respective ratios (e.g. in percentages) of the criterions based on the indexes of the respective preference parameters and indexes of the respective associated preference parameters, and ranking the criterions in descending order based on the respective calculated ratios. This aspect will be more clearly explained by reference to an example to be discussed below.

Operation of the proposed method 300 will now be further explained with reference to a simple example, in which the server 202 is configured as a real estate classified listing system (hosting a corresponding search website) in this example. The context for a user of the server 202 in this example is set out as follows. The user (i.e. "User A") is an individual looking to purchase an apartment, and he has set out the following requirements/preferences for his ideal apartment: (i). a Freehold apartment; (ii). a 2-Bedroom unit; and (iii). a high floor unit. In addition, the user drives, and so the travelling time it takes for him to drive from the apartment to his workplace is important. Since the user drives, he cares less about taking public transportation (e.g. the subways/buses). In terms of prices, the user is less concerned about the per-square-foot price of an apartment - he is instead more concerned about the absolute quantum of the apartment. Further, prior to using the server 202 (i.e. the real estate classified listing system), the user is already using a certain real estate website, which allows property agents to publish property classifieds, to do some initial searching.

When the user visits (using his computing device 204) the search website hosted by the server 202 for the very first time to submit a search request (with at least one preference parameter) in relation to the apartment, the server 202 is configured to (use a programming script to) randomly generate a unique I D in the form of a string on numbers and/or alphabets. The unique ID is associated with the user, and is stored on a browser of the computing device 204 (which is used to surf the search website) in the form of a persistent cookie to anonymously identify the user as an individual. Concurrently, a new profile is created in the user database that is stored in the storage module of the server 202. This new profile is identified by the generated unique ID assigned to the user, and thus represents the user, from the perspective of the server 202. So the new profile is in fact a new database entry in the user database. It is to be appreciated that the new profile may initially resemble a first example 402 shown in FIG. 4a (for "User A"). The different data fields (e.g. " Tenure Preference (Freehold)" or " Transport Preference (Drive)", "Floor Preference (High)", or the like) indicated in the first example 402 are merely illustrative and not to be construed as limiting in any way. The various data fields represent possible preference parameters included in search requests submitted by the user to the server 202, and hence the types and number of data fields in the user ' s profile may change over time. The new profile will progressively be populated with information regarding the user's preferences for the apartment he is looking for, based on subsequent search requests the user submits to the server 202.

As the user submits further search requests (with different preference parameters) on the search website, the user's preferences are recorded anonymously each time he makes a search (i.e. corresponding to step 302), for example in this case: (i). He executes a search for a Freehold 2 Bed room Unit; (ii). He searches for houses within 8 minutes' drive from his workplace at One Raffles Place; and (iii). He sorts results based on Total Prices instead of per- squa re-foot prices. Hence, over a period of time, indexes of various data fields in the profile of the user are updated accordingly, and may be depicted by a second example 404 of FIG. 4b (for "User A"). To reiterate, it is to be appreciated that respective indexes indicated in a row under the respective data fields of the profile represent a count of a number of times that a specific preference parameter (i.e. a preference) was received and recorded by the server 202, based on the search requests submitted by the user. Needless to say, it will further be understood that the user database is also configured to keep track of preferences of other users visiting the search website. An example of a different profile (stored in the user database) for another user (i.e. "User B") is depicted in a third example 406 shown in FIG. 4c, where it is clearly seen that indexes for various data fields in the third example 406 are different from those shown in the second example 404, simply because the respective users have different preferences for respective apartment units they are seeking.

For good order, it is to be appreciated that when users search for property classifieds posted by real estate agents on the search website, there is a possibility that a particular classified listing may similarly appear in corresponding search results for all the users, notwithstanding their different preferences.

The server 202 (performing the method 300) then determines a set of preference criteria for each user (i.e. corresponding to step 304), as shown in FIG. 5a. For example, for User A, with reference to the " Tenure" criterion, it is seen from FIG. 4b that the index for the "Tenure Preference (Freehold)" is indicated as "10", while the corresponding index for "Tenure Preference (Leasehold)" is indicated as "0", and so comparing the two associated indexes to determine a numerically larger index means that User A clearly prefers an apartment unit with the "Freehold" criterion to the "Leasehold" criterion. In this case, it is to be appreciated that " Tenure Preference (Leasehold)" is an associated preference parameter to " Tenure Preference (Freehold)". Accordingly, for User A, the " Tenure Preference (Freehold)" is selected as the preference criterion for the " Tenure" criterion (i.e. see FIG. 5a). As another example, now for User B, with reference to the "Pricing" criterion, it is seen from FIG. 4c that the index for the "Pricing Preference (PSF)" is indicated as "5", while the corresponding index for "Pricing Preference (Total)" is indicated as "0", and so comparing the two indexes to determine a numerically larger index means that User B prefers an apartment unit with the "PSF" criterion to the " Total" criterion. Accordingly, for User B, the "Pricing Preference (PSF)" is selected as the preference criterion for the "Pricing" criterion (i.e. see FIG. 5a). Derivation of the remaining preference criterions (for "Unit Type", "Floor", and "Transport") in FIGs. 5a and 5b can be obtained, mutatis mutandis, in the similar manner as above explained, and hence will not be discussed for sake of brevity. So accordingly for User A, the respective selected preference criterions are: " Tenure Preference (Freehold)", "Unit Type Preference (2 Bedroom)", "Floor Preference (High)", * Transport Preference (Drive)", and "Pricing Preference (Total)". On the other hand, for User B, the respective selected preference criterions are: " Tenure Preference (Leasehold)", "Unit Type Preference (2 Bedroom)", "Floor Preference (Low)", " Transport Preference (Train)", and "Pricing Preference (PSF)".

Next, the server 202 ranks the respective criterions (i.e. corresponding to step 306) as determined for each user by first calculating their respective percentage ratios (with reference to associated preference parameters), as shown in FIG. 5b. Specifically, the server 202 determines the relative strength of each preference criterion and ranks all the preference criterions accordingly. For example, for User A, with reference to the " Tenure" criterion, it is previously explained that the "Tenure Preference (Freehold)" is selected as the preference criterion for the " Tenure" criterion, and so from FIG. 4b, a percentage ratio for the " Tenure Preference (Freehold)" is calculated as [10/(10+0)] * 100% giving 100%. As another example, for User B, with reference to the "Pricing" criterion, it is previously explained that the "Pricing Preference (PSF)" is selected as the preference criterion for the "Pricing" criterion, and so from FIG. 4c, a percentage ratio for the "Pricing Preference (PSF)" is calculated as [5/(5+0)] * 100% giving 100%. The derivation of the percentage ratios for the remaining preference criterions in FIGs. 5a and 5b (for each user) can be obtained , mutatis mutandis, in the similar manner as above explained, and hence the discussions are omitted for sake of brevity.

For User A, the respective calculated percentage ratios for his preference criterions " Tenure Preference (Freehold) " , "Unit Type Preference (2 Bedroom)", "Floor Preference (High)", " Transport Preference (Drive)", and "Pricing Preference (Total)" are respectively 100%, 90%, 60%, 90% and 80%. Hence, based on the percentage ratios, the server 202 assigns rankings to the preference criterions " Tenure Preference (Freehold)" , "Unit Type Preference (2 Bedroom)", "Floor Preference (High)", " Transport Preference (Drive)", and "Pricing Preference (Total)" respectively as rank 1 , rank 2, rank 4, rank 2, and rank 3.

For User B, the respective calculated percentage ratios for the preference criterions " Tenure Preference (Leasehold)", " Unit Type Preference (2 Bedroom)", "Floor Preference (Low)", " Transport Preference (Train)", and "Pricing Preference (PSF)" are respectively 60%, 80%, 60%, 60% and 100%. Based on the percentage ratios, the server 202 then ranks the preference criterions "Tenure Preference (Leasehold)", "Unit Type Preference (2 Bedroom)", "Floor Preference (Low)", " Transport Preference (Train)", and "Pricing Preference (PSF)" respectively as rank 3, rank 2, rank 3, rank 3, and rank 1 . Thereafter, the server 202 proceeds to search a relevant database (e.g. a simplified database 602 shown in FIG. 6a) based on the latest search request submitted by the user to generate relevant search results (i.e. corresponding to step 308). It is to be appreciated that the server 202 uses standard methodologies and algorithms to identify the relevant search results. Next, based on the ranked preference criterions, contents of the search results are modified by the server 202 accordingly (i.e. corresponding to step 310). For the modification, different suitable actions may be taken by the server 202, for example: (i). for a same classified listing , different words/phrases may be added to the classified's description based on the preference criterions of the associated user to draw his attention, or (ii). sentences in a classified's description may be sequenced to account for the relative strength of each preference criterion, or (iii). words/phrases (in the classified ' s description) which conflict with the user's preference criterions may be removed. For action (i), words/phrases that need to be added, removed or rearranged are identified; and a sequence for which the words/phrases need to be added or rearranged based on the respective rankings of the preference criterions. It is to be appreciated that actions (ii) and (iii) utilize standard keyword and sentence matching algorithms to make edits to text descriptions of classifieds or advertisements.

FIGs. 6b and 6c respectively show examples 604, 606 of corresponding modified search results for User A and User B (with reference to the database 602 in FIG. 6a), based on their preference criterions identified. It is to be appreciated that the original description of the classified in the database 602 in FIG. 6a is: "Rare Freehold 2 bedroom unit in District 10 for sale. Full facilities and within minutes' drive to town. Move in condition. Call now to enquire!". For User A, the original description is thus revised accordingly based on his associated preference criterions and ranking (set out in FIGs. 5a and 5b) to as: "Freehold 2 Bedroom unit asking for only $1.2m. Only 9 minutes' drive to city centre. Full facilities, move in condition. Call now to enquire!". On the other hand, for User B, the original description is then modified based on his associated preference criterions and ranking (set out in FIGs. 5a and 5b) to instead as: "Only $1200 psf! 2 Bedroom, low floor unit. Within 4 stops by train to city centre. Full facilities, move in condition. Call now to enquire!". The remaining configurations/embodiments will be described hereinafter. For sake of brevity, description of like elements, functionalities and operations that are common between the different configurations/embodiments are not repeated; reference will instead be made to similar parts of the relevant configuration(s)/embodiments.

A variant method based on the proposed method 300 of FIG. 3 is disclosed, based on a second embodiment. Particularly, for the variant method, the request/query submitted by the user to the server 202 is triggered by the user accessing/navigating to certain pages/sections of the website (hosted on the server 202) related to the item the user is searching for. For example, the user navigates to a listing page of all apartments for sale in a specified location, the user does not need to explicitly provide search parameter(s) but the server 202 will in the background do a search for all available listings in that specified location and then display the available listings found (i.e. the search result) to the user on the listing page. That is, for this embodiment, the request/query does not include any search string or preference parameters - the request/query is instead simply a page/section navigation request/query. So prior to step 302, it will be appreciated that the server 202 is configured to receive and process the navigation request/query transmitted by the computing device 204.

It is to be appreciated that each page/section is tagged with certain pre-assigned specific attributes relevant to the item, and these attributes are then captured and stored as the different preference parameters in the profile of the user, whenever the user navigates to those pages/sections of the website. It will thus be appreciated that the profile of the user is gradually populated with the preference parameters, as the user accesses the website over a period of time. Needless to say, the page/section navigation is accomplished by the user interacting with associated buttons/links/options provided on the website for accessing the relevant pages/sections. The storing of the attributes of the pages/sections of the website as the different preference parameters in the profile is similar to step 302 of FIG. 3, and hence not repeated for brevity. Then accordingly, steps 304-310 in FIG. 3 are largely carried out similarly for this variant method, whenever the user subsequently accesses other pages/sections on the website that provide information on the item. But to also highlight, step 308 as performed in this variant method is slightly modified, since the request in this case is no longer a search request but just a navigation request/query (which includes no search string/preference parameters). That is, for this embodiment, step 308 is performed by the server 202, based on (i). some/all of the existing preference parameters stored in the profile of the user, or (ii) the pre-assigned specific attributes tagged to the page(s) where the user has navigated to, or (iii) a combination of options (i) and (ii), which are used to search a database to obtain an associated search result (in accordance with the navigation request/query). In other words, the variant method intelligently enables display of relevant advertisements/listings customised according to the preference parameters implicitly specified by the user (through accessing corresponding pages/sections of the website), without requiring the user to explicitly submit search strings/preference parameters at any time. This aspect therefore contrasts with the first embodiment, where the request is a search request that includes at least one preference parameter specified by the user, as afore described.

In summary, the proposed method 300 (and its variants) is purposefully configured to customize search results generated for users by utilizing users' search preferences (as indicated in the preference parameters) in order to: modify, re-arrange, delete, or add to content (e.g. text descriptions) of online digital classified listings or advertisements, prior to displaying a personalized search result to the respective users. Hence, the method 300 may also be viewed as related to processing and displaying customised classified listings or advertisements to respective users, based on preference parameters gathered from the associated users. Advantageously, the method 300 takes into account an order of priority of preferences of an individual user (pertaining to his specific search request), does not require any form of user registration or to have an account with the server 202 to allow searching to be performed, and is interoperable with standard/generic search algorithms. So the server 202 is beneficially arranged for anonymous profiling of individuals preferences and also to perform the proposed method 300 for modifying content (e.g. text description) of online classified listings or web advertisements, based on a user's search preferences to deliver personalized advertisements. To reiterate, the proposed method 300 (and its variant) performed by the server 202 for processing a request submitted by a user related to an item, may broadly be summarised as follows: providing a profile associated with the user, the profile arranged to store a plurality of different preference parameters associated with the item; determining at least one preference criterion by comparing at least one preference parameter with an associated preference parameter in the plurality of preference parameters; ranking the at least one preference criterion; searching a database based on the request to obtain a search result; and modifying contents of the search result based on the ranked preference criterion.

The proposed method 300 is formulated to address at least the following two issues: the attention span of Internet users tend to be short and limited, and also for smart-devices in particular, the associated screen sizes are smaller and so consequently visual real estate is limited and valuable. Hence, there is a need to be able to efficiently and effectively provide relevant search results to the users of smart-devices. Accordingly, the method 300 is able to generate web advertisements and/or classified listings that are relevant and personalized to requirements of users, which therefore have a higher chance of grabbing users' attention for them to initiate corresponding responses to the advertisements/listings, if desired. Moreover, by algorithmically adding to or modifying the content (e.g. text description) of online advertisements/classifieds and by prioritizing preference criterions that are more important to the users, the proposed method 300 allows online advertisements to better capture consumers' attention and thus possibly improves monetary conversion of the advertisements for the advertisers.

So generally, the proposed method 300 retrieves an array of data relating to a user's search preferences from the user database, upon receiving a new search request. A set of preference criteria is subsequently identified and the preference criterions are rank-sorted. Next based on the search request, the method 300 pulls relevant resources (i.e. classified listings or web advertisements) from a database (e.g. the Internet) being searched. Based on the set of preference criteria and order of preference criterions (determined by the method 300), the method 300 (if textual modification is effected) may add new words and phrases to, re-order text descriptions, re-phrase words or the like to the textual content of the resulting resources (e.g. classified listings or web advertisements) uncovered by the search conducted. This generates customised/personalized classified listings or web advertisements. The method 300 then enables the personalized classified listings or web advertisements to be displayed to the user. It is to be appreciated the proposed method 300 distinguishes from conventional methods in that the eventual classified listings or web advertisements displayed to the user are aigorithmically generated or edited to cater to search requirements specified by the users. While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary, and not restrictive; the invention is not limited to the disclosed embodiments. Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practising the claimed invention.

For example, the first and second embodiments may be used in parallel and in combination as a single method, such that the processing and displaying of customised advertisements/listings, based on preference parameters desired by the user, are enabled either by the user submitting associated search strings/search parameters (as the preference parameters) in requests/queries to the server 202, or that the preference parameters are gradually captured and collected in the background by the server 202, from attributes of pages/sections of the website hosted on the server 202, based on web navigation of those pages/sections.