Three-dimensional model search recommendation method, device, equipment and medium
By obtaining the 3D model collection in the user's design plan and using K-nearest neighbor similarity search and pre-trained models to optimize search ranking, the problem of lack of personalization of 3D model search results in cloud home improvement software is solved, thereby improving user design efficiency.
Patent Information
- Application Number
- CN202211156637.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-22
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2042-09-22
AI Technical Summary
The 3D model search function of existing cloud home improvement software cannot provide personalized search results based on the design plans and space characteristics of different users, resulting in the same results returned for the same search terms, and lacks the ability to search for different users.
By obtaining the 3D model set in the user's current design plan, generating features, and using K-nearest neighbor similarity search and pre-trained models, the search and ranking results are optimized to provide personalized 3D model recommendations.
It improves user design efficiency and provides personalized 3D model search results based on user design plans and operating behaviors to meet the personalized needs of different users.
Smart Images

Figure CN115544285B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of home decoration design information technology, and specifically relates to a three-dimensional model search and recommendation method, device, equipment and medium. Background Art
[0002] The 3D model search function of existing cloud home improvement software mainly considers the text relevance between the search terms and the 3D model text description information to sort. The results returned for the same search terms for different users are the same. It is impossible to use the user's current design content in the plan to influence the 3D model search results. It does not provide personalized search capabilities based on different design plans and space characteristics. Summary of the Invention
[0003] In light of this, and to overcome the shortcomings of the prior art, the present invention provides a 3D model search and recommendation method, apparatus, device, and medium. These methods optimize search ranking results by taking into account the items already placed in the current design proposal, the user's recent operations, and the spatial characteristics of the proposal, providing personalized search capabilities and thereby improving user design efficiency.
[0004] In a first aspect, the present invention provides a three-dimensional model search and recommendation method, comprising:
[0005] Obtaining a first search result through a search engine according to a search instruction;
[0006] Get the collection of 3D models in the room design plan;
[0007] generating a first type of three-dimensional model set based on the three-dimensional model set;
[0008] Obtaining features of a first type of three-dimensional model set;
[0009] Obtaining a similar set of the first type of 3D model set in the 3D model index library of the target category, and using the similar set as a second search result;
[0010] generating a third search result based on the first search result and the second search result;
[0011] The third search result is re-ranked.
[0012] In some embodiments, the ranking of the first search results is based on a text relevance score.
[0013] In some embodiments, the 3D model collection includes a list of 3D models and their corresponding room types.
[0014] In some embodiments, the first type is a primary furniture type.
[0015] In some embodiments, the feature is one or a combination of images and texts, and is obtained using a pre-trained model.
[0016] In some embodiments, obtaining a similar set of the first type of 3D model set in the 3D model index library of the target category includes:
[0017] Determining a target category in response to a user operation or using a predicted 3D model category corresponding to a user search term as a target category;
[0018] A K-nearest neighbor similarity search is performed in the index library of the target category to obtain a result set sorted within a preset range, and the result set is used as the second search result.
[0019] Furthermore, a K-nearest neighbor similarity search is performed in the target category index library, and the result set obtained that is sorted within the preset range includes:
[0020] Get the 3D model ID of the K-nearest neighbor query;
[0021] Obtain the feature vector of the three-dimensional model;
[0022] Responding to user actions or obtaining categories of three-dimensional models through search term prediction;
[0023] Perform K-nearest neighbor calculation in the corresponding category;
[0024] Stores the nearest neighbor results within a preset range.
[0025] In some embodiments, generating a third search result based on the first search result and the second search result includes:
[0026] The first search result and the second search result are combined and deduplicated to obtain a third search result.
[0027] In some embodiments, the third search results are re-ranked according to the matching degree between the three-dimensional model and the first type of three-dimensional model set.
[0028] In some embodiments, generating a first type of 3D model set based on the 3D model set includes:
[0029] retaining three-dimensional models with importance scores higher than a preset value in the three-dimensional model set as a first type three-dimensional model set;
[0030] The importance score is calculated based on one or a combination of room type, frequency of occurrence of the three-dimensional model in existing design solutions, and style of the three-dimensional model.
[0031] In some embodiments, the search instruction is input by the user or automatically generated according to the user's operation record.
[0032] In a second aspect, the present invention provides a 3D model search and recommendation device, comprising:
[0033] A first search module, configured to obtain a first search result through a search engine according to a search instruction;
[0034] The solution parsing module is used to obtain the 3D model set in the room design solution;
[0035] a three-dimensional model processing module, configured to generate a first type three-dimensional model set based on the three-dimensional model set;
[0036] A second search module is configured to obtain features of the first type of 3D model set; and obtain a similar set of the first type of 3D model set in a 3D model index library of a target category, and use the similar set as a second search result;
[0037] The search result processing module is used to generate a third search result based on the first search result and the second search result; and re-rank the third search result.
[0038] In a third aspect, the present invention provides an electronic device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the steps of the three-dimensional model search and recommendation method as described in the first aspect are implemented.
[0039] In a fourth aspect, the present invention provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the three-dimensional model search and recommendation method as described in the first aspect.
[0040] Through the above technical solution, the three-dimensional model search recommendation method provided by the present invention takes into account the characteristics of the items already placed in the current design plan, the user's recent operation behavior, and the space of the plan, and uses the above characteristics to optimize the search sorting results, provide personalized search capabilities, and thus improve user design efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 This is a schematic diagram of an application scenario of the three-dimensional model search recommendation method provided by an embodiment of the present invention;
[0042] Figure 2 This is a schematic diagram of the implementation architecture of the 3D model search and recommendation method provided by an embodiment of the present invention;
[0043] Figure 3 This is a flow chart of a three-dimensional model search and recommendation method provided by an embodiment of the present invention;
[0044] Figure 4 Schematic diagram of the process of establishing an index provided by an embodiment of the present invention;
[0045] Figure 5 1 is a schematic diagram of a process for calculating the K nearest neighbors of each item provided by an embodiment of the present invention;
[0046] Figure 6 This is a schematic diagram of a solution being designed by a user according to an embodiment of the present invention;
[0047] Figure 7 This is a personalized search rendering for "sofa" provided by an embodiment of the present invention;
[0048] Figure 8 This is a personalized search effect diagram for “coffee table” provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0049] To make the purpose, technical solutions and advantages of the embodiments of the present invention more clear, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0050] The 3D model search service built on the traditional search engine OpenSearch mainly sorts results based on text relevance and does not consider the design intentions of designer users to achieve personalization. For example, a designer may be designing a Mediterranean-style three-bedroom, two-living room home. When entering "sofa" in the search box, he expects Mediterranean sofas to be displayed first in the search results, and even more so, he expects sofas that are often paired with the Mediterranean-style coffee table in the existing room to be displayed first.
[0051] Unlike traditional ways of achieving personalized search in e-commerce, news, and other fields, due to the specificity of the industry, users in the field of home improvement design are usually professional designers. When designing a plan, they usually have a goal, and this goal is usually determined by the designer's client (that is, the owner). For example, if a client requires a European-style mid-priced design, the designer's choice of 3D model will not be constrained by his previous behavior, especially long-term interests and hobbies, but will more likely be constrained by the requirements of the current designer's owner. The designer's own short-term behavior will be continuously strengthened to meet business requirements, such as constantly selecting 3D models that meet user needs to design plans. Only in this way can the design plan be successful, because the final design plan must be based on the satisfaction of needs. Therefore, the implementation of personalized recommendations for 3D model search requires the help of solution portraits, that is, the characteristics of the solution.
[0052] In one example, the 3D model search and recommendation method provided in the embodiments of the present application can be applied to the application scenario of item recommendation (such as product recommendation) in the field of home decoration design. For example, the server recommends 3D models of furniture, plumbing, electrical appliances, and hardware products to the user.
[0053] It is worth noting that the above examples are only used to illustrate the application scenarios to which the search recommendation method of the embodiment of the present application can be applied, and cannot be understood as a limitation on the application scenarios of the three-dimensional model search recommendation method of the embodiment of the present application.
[0054] In order to deepen the reader's understanding of the application scenario of the three-dimensional model search recommendation method of the embodiment of the present application, we now take item recommendation (such as furniture product recommendation) as an example, and combine Figure 1 The application scenarios of the search recommendation method of the embodiment of the present application are described in detail as follows.
[0055] Figure 1 This is a schematic diagram of an application scenario according to an embodiment of the present application. Figure 1 In the application scenario shown. In one embodiment, the terminal device 111 / 112 / 113 includes but is not limited to tablet computers, laptop computers, desktop computers, smart phones, intelligent voice interaction devices and other devices; the terminal device can be installed with a client related to decoration design software, etc., which can be a software (such as a browser, modeling software, etc.), or a web page, a small program, etc. The server 120 is a background server corresponding to the software or web page, small program, etc., or a server specifically used for scheme design, which is not specifically limited in this application. The server 120 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), and basic cloud computing services such as big data and artificial intelligence platforms.
[0056] When any user 101 / 102 / 103 has a search requirement, such as a requirement to select items for a design scheme, a search request can be sent to the server 120 based on the user terminal 111 / 112 / 113.
[0057] For example, Figure 1 As shown, the user 101 can input “coffee table” on the display interface of the user terminal 111 and send a search request to the server 120 through the virtual button “model search” on the display interface of the user terminal 111 .
[0058] The server 120 receives the search request for “tea table” sent by the user terminal 111 , generates and feeds back recommendation information including a “tea table” model to the user terminal 111 .
[0059] The user terminal 111 may display the recommendation information including “coffee table”.
[0060] In the prior art, the server 120 can determine the three-dimensional models under the "tea table" category, generate and feedback recommendation information including various "tea table" models to the user terminal 102 in a sorting manner such as the number of user views, click-through rate or sales volume. When users 101 / 102 / 103 enter the same keyword "tea table", the user terminals 111 / 112 / 113 will display exactly the same search recommendation results, but cannot further provide more personalized recommendation results for three different users, which has certain limitations.
[0061] The three-dimensional model search recommendation method provided in this embodiment can provide users with more personalized recommendation results based on the existing technology. When users 101 / 102 / 103 enter the same keyword "coffee table", user terminals 111 / 112 / 113 will extract the design plan data features of the current or historical rooms of each user to optimize the search ranking results, so that the displayed search recommendation results are relevant to the user's design plan, achieving a product effect that is different for each person.
[0062] I understand. Figure 1 The application scenario shown is not a limitation on the implementation of this embodiment. The three-dimensional model search and recommendation method provided in this embodiment can be implemented using only terminals, such as tablet computers, laptop computers, desktop computers, smart phones and other terminal devices.
[0063] Figure 2 Schematic diagram of an implementation architecture of a three-dimensional model search method described in one embodiment of the present invention.
[0064] In one embodiment, the main architecture of the 3D model search method is as follows: Figure 2As shown in the figure, it primarily consists of two subsystems: the search system on the left and the personalized recommendation system on the right. 3D model search is personalized by re-ranking the original search results with personalized results directly obtained from the recommendation service. Specifically, the 3D model search system on the left and the solution-profile-based recommendation subsystem on the right work together to achieve personalized search functionality. The recommendation subsystem's primary function is to obtain user or solution features from the feature service, match them with algorithm results or features stored in HBase, and return recommended results to the search system on the left. The search service then integrates these recommended results for ranking or weighting to achieve personalization. The feature service can obtain features from a variety of sources, including offline computed features or real-time features stored in the Oceanus real-time computing engine. The 3D model search system's primary function is to receive user query requests from the cloud tool frontend and send them to the query parsing service for processing. The search service then retrieves search results from the Opensearch search engine based on the processed query and the sorting expression configured on the frontend, and returns them to the user.
[0065] Specifically, the main function of the personalized recommendation system on the right is to obtain real-time solution / room features from the feature service (this can be obtained by weighted summing the features of multiple 3D models of the main furniture type in the room or using techniques such as attention. The features of each 3D model can be one or more features such as images and text, which are usually obtained using pre-trained models). Then, from the K-nearest neighbor calculation engine, it obtains the TOP N similar recommendation results corresponding to the features and meeting the user's search category and returns them to the search system on the left. The main function of the search system on the left is to receive user query requests from the cloud tool front end and send them to the natural language service for processing (such as cleaning search terms and predicting categories). The search service then obtains the original search results from the search engine based on the processed query statement and ranking expression, and merges them with the recommendation results received from the personalized recommendation system on the right to remove duplicates as the recall result. The scoring engine is then called to score and re-rank these recall sets, and the re-ranked results are returned to the front end. When a user searches for a room without any real-time features, we can directly recommend items that match the user's historical preferences for that room type, items from the primary furniture category that are most similar to these preferences, or popular items from that primary furniture category as a cold start. Primary furniture categories are statistically determined based on room type, 3D model usage frequency data, 3D item style data, and other attributes. Simply put, the primary furniture category items for a given room type can influence the user's style and color palette when designing that room.
[0066] like Figure 2As shown, the three-dimensional model search method provided in this embodiment includes:
[0067] Step S1: Obtain a first search result from a search engine according to a search instruction.
[0068] For example, the execution subject of this embodiment may be a 3D model search and recommendation device, and the 3D model search and recommendation device may be a server (such as a cloud server or a local server), a computer, a terminal device, a processor, a chip, etc. For example, when the 3D model search and recommendation method of this embodiment is applied to Figure 1 In the application scenario shown, the 3D model search and recommendation device can be as follows Figure 1 The server 120 shown in FIG.
[0069] In one embodiment, user 101 / 102 / 103 actively triggers a search task through a search command. For example, when the user's current design requires the configuration of furniture such as a sofa and needs to search for a 3D model of a sofa, a search task is initiated to the 3D model search and recommendation device by inputting a search command containing the keyword "sofa" through user device 111 / 112 / 113 (e.g., a mobile terminal).
[0070] In another embodiment, the three-dimensional model search recommendation device generates a search task based on the user's historical search records and / or operation records during the scheme design process. For example, the user has searched for "single bed" in the recent period (such as within 72 hours), but has not selected a specific single bed model to be configured in the room of the scheme. The three-dimensional model search recommendation device can actively generate a search task for "single bed" and generate and send three-dimensional model search recommendation information to the user device. On the basis of actively generating search tasks, the three-dimensional model search recommendation device can also regenerate retrieval tasks and send search recommendation information to the user device when the relevant information of the search target object (such as color matching, etc.) changes or the index is updated (such as adding a new model, etc.).
[0071] In one embodiment, the first search result is an original search result. The terminal device receives a query statement input by the user as a search instruction, and obtains the original search result A from a traditional search engine such as OpenSearch or es based on relevance. The query statement includes a search term.
[0072] The ranking of the original search result A from the traditional search engine OpenSearch is mainly based on the text relevance score. For the same query from different users, the returned results are the same. The specific process includes: when a user initiates a search query, the query is first cleaned, segmented, and synonym expanded through the parsing service. Then, the search service constructs the query statement required by OpenSearch, and constructs the sorting clause based on the sorting expression set by the front end. The search result is sent to the search engine OpenSearch to obtain the search results, which are displayed to the user through the 3D model search exposure page.
[0073] In one embodiment, search terms are first mapped to categories, and then searches are performed based on the categories.
[0074] The process of obtaining the original search result A from the traditional search engine may also be implemented by using other existing search ranking technologies based on text relevance scores, and this embodiment does not make any special limitation.
[0075] Step S2: Obtain a set of 3D models in the solution room.
[0076] In one embodiment, a real-time computing platform is used to obtain a list of 3D models and corresponding room type IDs in the space (also called a room) that the user is currently operating or last operated in. Room types include kitchen, living room, bedroom, study, etc.
[0077] The effectiveness of personalized 3D model search depends largely on the real-time acquisition of solution profiles, specifically capturing the features of the user's design in real time. To achieve this, a real-time solution feature acquisition service, also known as a feature service, can be used. The feature service's primary function is to acquire and consolidate features. After receiving requests from the business side, the feature service retrieves the results from online storage systems (such as HBase and MySQL), processes them, and returns them to the business side.
[0078] Furthermore, in one embodiment, user operational behavior data is obtained simultaneously with the acquisition of the 3D model collection. For example, to ensure the accuracy of the acquired 3D model collection and obtain personalized data such as user operational habits, the user's operational behavior on the plan after opening it can also be collected in real time, including the addition, replacement, and deletion of 3D models, thereby achieving a real-time plan portrait.
[0079] For example, user A designs a bedroom in a room of a design proposal, placing a European-style double bed and two coffee tables. However, user A decides they don't like the coffee tables and replaces them with a log-style European-style coffee table. They then select a TV cabinet and a hanging painting. This generates and stores a bedroom design consisting of a collection of 3D models and a real-time log stream corresponding to the user's actions. Because the log stream stores deleted models, it's possible to extract features from these deleted models to influence the final recommendation ranking.
[0080] Step S3: Generate a first type 3D model set.
[0081] In one embodiment, the first type of 3D model set is a set of 3D models of primary furniture types, and the set of 3D models of non-primary furniture types is determined as a second type of 3D model set. The 3D model set B of the primary furniture types is retained from the 3D model list obtained in step S2. The selection criteria for the primary furniture types are determined based on statistical analysis, which is based on a large number of design solutions, room types, and the categories, styles, and usage frequencies of the furniture placed therein. The retained primary furniture types will serve as a trigger for the subsequent personalized search process, meaning that the personalized recommendation results will reflect the degree of match with the primary home type.
[0082] For example, when the room type is a living room, according to statistical analysis of a large number of living room design plans, it is found that sofas are used very frequently, so sofas will be determined as one of the main furniture types.
[0083] For example, importance scores can be used to identify key furniture types. For example, 3D models with a score exceeding a preset threshold are considered the primary furniture type to be retained, i.e., the first type of 3D model set. Importance scores can be calculated based on, for example, room type, the frequency of 3D models in existing design proposals, or the style of the 3D models, or a combination thereof.
[0084] Step S4: Acquire features of the first type of 3D model set.
[0085] In one embodiment, obtaining features of the first type of 3D model set specifically involves querying features of the first type of 3D model set, i.e., 3D model list B, from a feature library based on the first type of 3D model set obtained in step S3. These features include, but are not limited to, high-level and low-level image features, text semantic features, and the like. These features are obtained based on pre-trained models, such as Word2Vec, VGG, and Clip.
[0086] In one embodiment, real-time solution / room features are obtained from a feature service. For example, the features of multiple 3D models of the main furniture type in the room can be weighted summed or obtained using techniques such as attention. The features of each 3D model can be one or more features such as images and text, and are usually obtained using a pre-trained model.
[0087] Unlike e-commerce, where user behavior sequences are used to construct corpora, this embodiment uses a different approach to construct a training set in the home design scenario. This is because, during the design process, once a designer has decided on a 3D model for a particular space, their next step is to select 3D models from other categories. For example, when decorating a living room, after deciding on a blue European-style double sofa, the next step might be to choose a coffee table to complement it, followed by a TV, TV cabinet, and so on. While the user may spend several rounds of selection and comparison choosing a European-style double sofa, they will ultimately identify a relatively optimal one. They will then avoid spending excessive time selecting and trying out other double sofas. The user's ultimate goal is to complete a complete design plan for a space or an entire apartment, so they will balance time and effectiveness. If embedding training is performed using user behavior sequences during the design process, the resulting results will focus more on similar items within the same category. In the 3D model search application scenario, it is hoped that the matching relationships between different categories and spaces can be learned.
[0088] Furthermore, users exhibit spatial locality when designing. Typically, when designing a room, users prioritize completing that room first. Over time, they will repeatedly edit the 3D model for that room, including adding, replacing, and deleting items. Furthermore, a room typically has a relatively clear purpose. For example, for a kitchen-type room, the 3D models selected by the user for a period of time will all be items that can be used in the kitchen. Therefore, analogous to the Word2Vec algorithm, a room's 3D model sequence can be considered a sentence, with each 3D model as a word. The order of the sequence can be determined by the order in which the 3D models are added to the room. Because each user's rules for adding 3D models to a room are random, the structure of the sequence is actually different from that of a sentence. Therefore, in this embodiment, 3D model feature extraction includes three steps: sample selection and cleaning, model training, and model scheduling. After obtaining the 3D model's feature vector, Faiss is used to recalculate the K-nearest neighbor relationship, and the result is stored in the online storage HBase for use by the recommendation service.
[0089] Step S5: Obtain a similar set of the first type 3D model set in the target category index library as a second search result.
[0090] The target category is the category clicked by the user or the category predicted by the search term.
[0091] In one embodiment, the user clicks a category menu to determine the target category, or the user directly searches to determine the category. In short, the target category is determined in response to the user's operation.
[0092] In one embodiment, a machine learning algorithm is used to predict the 3D model category corresponding to the user's search term, which is used as the target category. A K-nearest neighbor similarity search is then performed in the target category's index library, resulting in a top N result set C, which serves as the second search result. Each item in the index library is a high-dimensional vector representing a 3D model. Items in the same category share the same index library. Tools such as Milvus, Vearch, and Faiss can be used to construct the index and perform K-nearest neighbor calculations.
[0093] After obtaining the 3D model feature vectors from step S4, this step involves calculating similar items for each 3D model across different categories. This involves performing a K-nearest neighbor calculation for each category. This allows the recommendation service to identify and return matching items that meet the category requirements based on the real-time 3D item features in the solution. Calculating pairwise distances between items can be slow if the number of entities is large, especially when the vector dimensions are large. This problem can be addressed using Faiss in this embodiment.
[0094] Faiss, short for Facebook AI Similarity Search, is a solution that provides fast and reliable indexing and similarity search for massive amounts of data in high-dimensional spaces. In machine learning, the features, or vectors, of entities under investigation are often large and sparse. A common approach is to use algorithms for self-supervision or supervised learning to obtain a relatively low-dimensional, dense vector representation of the item. This representation typically serves as the weight coefficients for certain layers after the algorithm is trained. Using this low-dimensional representation avoids directly using the original high-dimensional, sparse vectors. These low-dimensional vectors are called embeddings. Typically, for text, the length is set between 25 and 100, while for image representations, the length is often greater than 100, or even thousands of dimensions. After obtaining the vector representations of the items, the distance between the two vectors (commonly used are Euclidean and cosine distances) can be calculated to indicate the degree of relevance between the two entities. Generally, a well-trained representation model results in smaller vector distances when the correlation between the two entities is smaller, such as word vectors obtained using Word2Vec training.
[0095] Using Faiss typically involves three steps: training, database construction, and querying. The training step is optional and can be configured as needed. When using the indexFlatL2 mode, training is not required, so this step can be skipped. Alternatively, indexIVFFlat can be used to accelerate searches. This method first uses the k-means clustering algorithm to create clusters, then finds the cluster center closest to the query vector and compares all vectors in the corresponding cluster to obtain a set of similar vectors. The IndexFlatL2 and IndexIVFFlat methods require all vectors to be stored in memory for real-time computation, placing high demands on server memory. They are more suitable for applications with vectors of moderate dimension and quantity. To meet the needs of searches involving higher-dimensional data and large volumes, Faiss provides a compression algorithm, IndexPQ, based on product quantization. In this method, stored vectors are compressed, and calculated distances are approximate. Using Faiss, distances calculated using methods other than indexFlatL2 are approximate.
[0096] Use Faiss to create an index for the vector of the 3D model, and make the index based on the category attributes of the 3D model. The category is the category clicked by the user or the category predicted by the search term. For detailed process, see Figure 4 ,include:
[0097] Input / get the feature vectors of all items (i.e. 3D models);
[0098] Get item category;
[0099] Group by category;
[0100] Create IndexFlatL2 class index by category.
[0101] Considering the data volume of millions and offline calculation, this example uses indexFlatL2 to accurately calculate the top 100 similar items for each 3D model. For detailed process, see Figure 5 ,include:
[0102] Get the K nearest neighbor query item ID;
[0103] Get the feature vector of the item;
[0104] Get item category;
[0105] Perform K-nearest neighbor calculation in the corresponding category;
[0106] Store the top 100 nearest neighbor results in HBase.
[0107] The categories are categories clicked by users or categories predicted by search terms.
[0108] Step S6: Generate a third search result based on the first search result and the second search result.
[0109] The original search result A as the first search result and the K-nearest neighbor recommendation result C as the second search result are merged and deduplicated to obtain a recalled set D as the third search result.
[0110] Step S7: Re-rank the third search results.
[0111] After obtaining the features of the recalled set D, i.e., the third search results, the results are re-ranked using a simple weighted average method or a ranking algorithm. The features include, but are not limited to, the text relevance score from step S1 and the K-nearest neighbor similarity score from step S5. The re-ranking algorithm includes, but is not limited to, machine learning, deep learning, and other ranking techniques. Finally, the third search results, after re-ranking in step S7, are presented to the user.
[0112] This application weights the matching items obtained by the recommendation service. When a user searches, if the recommendation system can obtain items that match the user's existing plan room, the search system will weight these items, thereby improving the ranking position of these items in the original search results.
[0113] The personalized search effect achieved by this embodiment is described below with reference to the accompanying drawings.
[0114] When the designer user adds a Chinese background wall and TV cabinet to the living room, the scheme effect diagram is shown in Figure 6. Then, the user searches for "single sofa" by category, and the result page returned is as follows Figure 7 As shown, the items at the top are all Chinese; searching for "tea table" by category returns the following result page: Figure 8 As shown, the Chinese-style coffee table is at the front. This shows that as the user's operations increase, the style becomes more distinct during the design process. The items at the top of the personalized search results will be more compatible with the items already in the design, improving the user's design efficiency. This shows that the personalized 3D model search provided by this embodiment has a personalized effect, significantly improving user design efficiency and enhancing the user's design experience.
[0115] The search method provided in this embodiment takes into account the characteristics of the items already placed in the current design plan, the user's recent operation behavior, and the space of the plan, and uses the above characteristics to optimize the search sorting results, provide personalized search capabilities, and thus improve user design efficiency.
[0116] This invention shifts from the traditional belief that search results are determined by the user model to the attributes of the current design proposal. Users expect personalized results to meet basic relevance and recommend items that complement the existing models in the current design proposal. This invention returns the most relevant results based on the user's context, including the proposal structure, existing 3D models, the space the user is working in, and the query category or keywords. Different user contexts result in different results, thus enabling personalized search for 3D models.
[0117] This embodiment further provides a 3D model search and recommendation device, comprising:
[0118] A first search module, configured to obtain a first search result through a search engine according to a search instruction;
[0119] The solution parsing module is used to obtain the 3D model set in the room design solution;
[0120] a three-dimensional model processing module, configured to generate a first type three-dimensional model set based on the three-dimensional model set;
[0121] A second search module is configured to obtain features of the first type of 3D model set; and obtain a similar set of the first type of 3D model set in a 3D model index library of a target category, and use the similar set as a second search result;
[0122] The search result processing module is used to generate a third search result based on the first search result and the second search result; and re-rank the third search result.
[0123] According to an embodiment of the present application, the present application also provides an electronic device, comprising: a memory, a processor, and a computer program stored on the memory and runnable on the processor, wherein when the processor executes the program, the steps of the three-dimensional model search recommendation method as described in any of the aforementioned embodiments are implemented.
[0124] According to an embodiment of the present application, the present application provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the three-dimensional model search and recommendation method as described in any of the aforementioned embodiments.
[0125] According to an embodiment of the present application, the present application further provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the three-dimensional model search and recommendation method as described in any embodiment.
[0126] The electronic device may be any form of digital computer, such as a laptop computer, a desktop computer, a workstation, a server, a blade server, a mainframe computer, or any other suitable computer. The electronic device may also represent any form of mobile device. The components, their connections and relationships, and their functions shown herein are provided as examples only and are not intended to limit the implementation of the present disclosure as described and / or claimed herein.
[0127] As an example, an electronic device includes a computing unit that can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) or a computer program loaded from a storage unit into a random access memory (RAM). In the RAM, various programs and data required for the operation of the device can also be stored. The computing unit, ROM, and RAM are connected to each other via a bus. An input / output (I / O) interface is also connected to the bus. Multiple components in the device are connected to the I / O interface, including: input units, such as keyboards, mice, etc.; output units, such as various types of displays, speakers, etc.; storage units, such as magnetic disks, optical disks, etc.; and communication units, such as network cards, modems, wireless communication transceivers, etc. The communication unit allows the device to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0128] The computing unit can be various general and / or special processing components with processing and computing capabilities. Some examples of computing units include, but are not limited to, central processing units (CPUs), graphics processing units (GPUs), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit performs the various methods and processes described above, such as the three-dimensional model search recommendation method. For example, in some embodiments, the search recommendation method can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as a storage unit. In some embodiments, part or all of the computer program can be loaded and / or installed on the device via a ROM and / or a communication unit. When the computer program is loaded into RAM and executed by the computing unit, one or more steps of the search recommendation method described above can be performed. Alternatively, in other embodiments, the computing unit can be configured to perform the search recommendation method in any other appropriate manner (e.g., by means of firmware).
[0129] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0130] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this application can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this application can be achieved. This application is not limited thereto.
[0131] The above specific embodiments do not constitute a limitation on the scope of protection of this application. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application shall be included within the scope of protection of this application.
Claims
1. A 3D model search and recommendation method, characterized in that: include: Obtaining a first search result through a search engine according to a search instruction; Get the collection of 3D models in the room design plan; generating a first type of three-dimensional model set based on the three-dimensional model set; Obtaining features of a first type of three-dimensional model set; Obtaining a similar set of the first type of 3D model set in the 3D model index library of the target category, and using the similar set as a second search result; generating a third search result based on the first search result and the second search result; re-ranking the third search result; The obtaining of a similar set of the first type of 3D model set in the 3D model index library of the target category includes: Determining a target category in response to a user operation or using a predicted 3D model category corresponding to a user search term as a target category; Perform a K-nearest neighbor similarity search in the index library of the target category to obtain a result set sorted within a preset range, and use the result set as the second search result; Perform a K-nearest neighbor similarity search in the target category index library, and obtain a result set sorted within the preset range, including: Get the 3D model ID of the K-nearest neighbor query; Obtain the feature vector of the three-dimensional model; Responding to user actions or obtaining categories of three-dimensional models through search term prediction; Perform K-nearest neighbor calculation in the corresponding category; Stores the nearest neighbor results within a preset range.
2. The method according to claim 1, wherein: The ranking of the first search results is based on a text relevance score.
3. The method according to claim 1, wherein: The 3D model set includes a list of 3D models in the room and their corresponding room types.
4. The method according to claim 1, wherein: The first type is the main furniture type.
5. The method according to claim 1, wherein: The feature is one or a combination of images and texts, and is obtained using a pre-trained model.
6. The method according to claim 1, wherein: Generating a third search result based on the first search result and the second search result includes: The first search result and the second search result are combined and deduplicated to obtain a third search result.
7. The method according to claim 1, wherein: The third search results are reordered according to the matching degree between the three-dimensional model and the first type three-dimensional model set.
8. The method according to claim 1, wherein: Generating a first type of three-dimensional model set based on the three-dimensional model set includes: retaining three-dimensional models with importance scores higher than a preset value in the three-dimensional model set as a first type three-dimensional model set; The importance score is calculated based on one or a combination of room type, frequency of occurrence of the three-dimensional model in existing design solutions, and style of the three-dimensional model.
9. The method according to claim 1, wherein: The search instruction is input by the user or automatically generated according to the user's operation record.
10. A 3D model search and recommendation device, characterized in that: include: A first search module, configured to obtain a first search result through a search engine according to a search instruction; The solution parsing module is used to obtain the 3D model set in the room design solution; a three-dimensional model processing module, configured to generate a first type three-dimensional model set based on the three-dimensional model set; A second search module is used to obtain features of the first type of three-dimensional model set; and obtaining a similar set of the first type of three-dimensional model set in the three-dimensional model index library of the target category, and using the similar set as a second search result; A search result processing module, configured to generate a third search result based on the first search result and the second search result; and re-ranking the third search result; The three-dimensional model processing module is further configured to determine a target category in response to a user operation or to use the predicted three-dimensional model category corresponding to the user search term as the target category; Perform a K-nearest neighbor similarity search in the index library of the target category to obtain a result set sorted within a preset range, and use the result set as the second search result; Get the 3D model ID of the K-nearest neighbor query; Obtain the feature vector of the three-dimensional model; Responding to user actions or obtaining categories of three-dimensional models through search term prediction; Perform K-nearest neighbor calculation in the corresponding category; Stores the nearest neighbor results within a preset range.
11. An electronic device, characterized in that: The electronic device includes: one or more processors; a storage device for storing one or more programs, and when the one or more programs are executed by the one or more processors, the one or more processors implement the three-dimensional model search and recommendation method as described in any one of claims 1-9.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the three-dimensional model search and recommendation method according to any one of claims 1 to 9 is implemented.
Citation Information
Patent Citations
Search method and device, equipment and storage medium
CN112100480A
Ornament recommendation method, system and device based on home space and medium
CN112818229A