Patent Description:
The disclosure herein generally relates to product categorization, and, more particularly, to method and system for product data categorization based on text and attribute factorization.

E-commerce cognitive retail solution is booming with technological advances made in UI design, availability of products, efficient delivery of products and thereof. E-commerce websites maintain a taxonomy of products so that each product can be effectively presented and merchandized to end customers. Due to online shopping and tactile judgment, fashion e-retailers use visual (e.g., pictures and videos) and textual information to reduce consumers' perceived risk and uncertainty, with preferred choice. There is a growing trend to sell many types of consumer products through e-commerce websites in order to maintain or enhance a company's competitiveness, and sometimes to establish a niche market. For products such as footwear, manufacturers face quite a challenge to provide consumers with good fitting and type of shoes. Due to the plethora footwear types/ styles offered in the marketplace, it becomes impossible to examine and identify the exact type.

Existing techniques build a product taxonomy using word embedding technique based on semantics which require feeding all taxonomy levels of products to obtain a categorization of each product under the levels of taxonomy. Performing a mere word embedding for semantics with a set of given products, might not yield an expected outcome under consideration. Further, the algorithm internally follows a continuous bag of words approach to fetch semantically similar words or product. Hence, such approaches lack in performing categorization type of the product. Reference (<NPL>") recites that the Linked Open Data practice has led to a significant growth of structured data on the Web. While this has created an unprecedented opportunity for research in the field of Natural Language Processing, there is a lack of systematic studies on how such data can be used to support downstream NLP tasks. This work focuses on the e-commerce domain and explores how we can use such structured data to create language resources for product data mining tasks. To do so, we process billions of structured data points in the form of RDF n-quads, to create multi-million words of product-related corpora that are later used in three different ways for creating language resources: training word-embedding models, continued pre-training of BERT-like language models, and training machine translation models that are used as a proxy to generate product-related keywords. These language resources are then evaluated in three downstream tasks, product classification, linking, and fake review detection using an extensive set of benchmarks. Our results show word embeddings to be the most reliable and consistent method to improve the accuracy on all tasks (with up to <NUM>% points in macro-average F1 on some datasets). Contrary to some earlier studies that suggest a rather simple but effective approach such as building domain-specific language models by pre-training using in-domain corpora, our work serves a lesson that adapting these methods to new domains may not be as easy as it seems. We further analyse our datasets and reflect on how our findings can inform future research and practice (Abstract). Reference (SHAH KASHIF ET AL: "Neural Network based Extreme Classification and Similarity Models for Product Matching") discloses matching a seller listed item to an appropriate product has become a fundamental and one of the most significant step for e-commerce platforms for product based experience. It has a huge impact on making the search effective, search engine optimization, providing product reviews and product price estimation etc. along with many other advantages for a better user experience. As significant and vital it has become, the challenge to tackle the complexity has become huge with the exponential growth of individual and business sellers trading millions of products everyday. We explored two approaches; classification based on shallow neural network and similarity based on deep siamese network. These models outperform the baseline by more than <NUM>% in term of accuracy and are capable of extremely efficient training and inference (Abstract). Reference (ABHINANDAN KRISHNAN ET AL: "Large Scale Product Categorization using Structured and Unstructured Attributes") recites that Product categorization using text data for eCommerce is a very challenging extreme classification problem with several thousands of classes and several millions of products to classify. Even though multi-class text classification is a well studied problem both in academia and industry, most approaches either deal with treating product content as a single pile of text, or only consider a few product attributes for modelling purposes. Given the variety of products sold on popular eCommerce platforms, it is hard to consider all available product attributes as part of the modeling exercise, considering that products possess their own unique set of attributes based on category. In this paper, we compare hierarchical models to flat models and show that in specific cases, flat models perform better. We explore two Deep Learning based models that extract features from individual pieces of unstructured data from each product and then combine them to create a product signature. We also propose a novel idea of using structured attributes and their values together in an unstructured fashion along with convolutional filters such that the ordering of the attributes and the differing attributes by product categories no longer becomes a modelling challenge. This approach is also more robust to the presence of faulty product attribute names and values and can elegantly generalize to use both closed list and open list attributes (Abstract).

Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. A system for product data categorization based on text and attribute factorization is defined in claim <NUM>.

In another aspect, a method for product data categorization based on text and attribute factorization is defined in claim <NUM>.

In yet another aspect, provides one or more non-transitory machine-readable information storage mediums comprising one or more instructions, which when executed by one or more hardware processors perform actions as defined in claim <NUM>.

Embodiments herein provide a method and system for product data categorization based on text and attribute factorization. The method provides an autonomous approach for type-categorization of product data based on numerous text and attribute factorization for the input received as user query. Cognitive retail solution enables categorizing each product data based on text. The system obtains a user query as input and processes the user query by extracting multi-level contextual data for categorization. The user query describes a set of product data from one or more application data store for categorization by extracting multi-level contextual data. The disclosed system <NUM> is further explained with the method as described in conjunction with <FIG> below.

<FIG> illustrates an exemplary system for product data categorization based on text and attribute factorization in accordance with some embodiments of the present disclosure. In an embodiment, the system <NUM> includes one or more hardware processors <NUM>, communication interface device(s) or input/output (I/O) interface(s) <NUM> (also referred as interface(s)), and one or more data storage devices or memory <NUM> operatively coupled to the one or more hardware processors <NUM>. The one or more processors <NUM> may be one or more software processing components and/or hardware processors. In an embodiment, the hardware processors can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) is/are configured to fetch and execute computer-readable instructions stored in the memory. In an embodiment, the system <NUM> can be implemented in a variety of computing systems, such as laptop computers, notebooks, hand-held devices, workstations, mainframe computers, servers, a network cloud, and the like.

The I/O interface device(s) <NUM> can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like and can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. In an embodiment, the I/O interface device(s) can include one or more ports for connecting a number of devices to one another or to another server.

The memory <NUM> may include any computer-readable medium known in the art including, for example, volatile memory, such as static random-access memory (SRAM) and dynamic-random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory <NUM> further comprises (or may further comprise) information pertaining to input(s)/output(s) of each step performed by the systems and methods of the present disclosure. In other words, input(s) fed at each step and output(s) generated at each step are comprised in the memory <NUM> and can be utilized in further processing and analysis.

<FIG> illustrates a flow diagram showing a method for product data categorization based on text and attribute factorization in accordance with some embodiments of the present disclosure. In an embodiment, the system <NUM> comprises one or more data storage devices or the memory <NUM> operatively coupled to the processor(s) <NUM> and is configured to store instructions for execution of steps of the method <NUM> by the processor(s) or one or more hardware processors <NUM>. The steps of the method <NUM> of the present disclosure will now be explained with reference to the components or blocks of the alarm identification system <NUM> as depicted in <FIG>. Although process steps, method steps, techniques or the like may be described in a sequential order, such processes, methods and techniques may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps to be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously.

At step <NUM> of the method <NUM> the one or more hardware processors <NUM> acquire an input describing a set of product data from an application data store for categorization. The system <NUM> is initialized by importing libraries and a defined model to create a list of model vocabulary. The libraries to be preloaded are obtained from the application datastore such as a GENSIM, a PANDAS, and a NLTK. In one embodiment, the libraries include the NLTK with <NUM>. <NUM> version, the GENSIM with <NUM> version, and the PANDAS with <NUM>. <NUM> version. The NLTK package has a vocabulary library that aids the algorithm to understand words in English language. The GENSIM package has the Word2Vec model in it, from where the model is imported & loaded. The PANDAS package aids in opening the data files for processing. Once, the libraries are loaded the user query is processed, wherein the set of product data includes for example, in a fashion retail, shoes dictionary types are {casual :{ sneaker, slides, moccasins, belle}, formal: { classic pumps, mules,}}. The user query (Table <NUM>) is considered in the below dataset,.

The given dictionary data is assigned with weights for generating probability scores in order to show the relation of each product with the category as,.

The weights may vary with iterations based on model performance. This dictionary data is built for contextual understanding of the training set, in order to guide the algorithm on the data for generating semantic similarity-based product categorization.

At step <NUM> of the method <NUM> the one or more hardware processors <NUM> preprocess the set of product data by removing extraneous text based on a predefined template. Referring now to the example, from the received user query comprising the set of product data extraneous or unwanted texts are removed for uniform representation of data using the predefined template. The extraneous text may include comma, dots, error code, dropping unnecessary columns, the unmatched product data text from the predefined template and the like. The data obtained from an external source needs to be processed for an algorithm to ingest and work upon.

At step <NUM> of the method <NUM> the one or more hardware processors <NUM> create a dictionary for the set of product data based on a set of attributes comprising a product key with its corresponding product value. Here, dictionary is created for the set of product data of footwear based on the set of attributes. The dictionary data is built using the product category and products as the key-value pair respectively. In the next step some weights are assigned to each key and value based on likelihood of product, for arriving at a suitable relevancy or probability score. This forms the base of contextual understanding of the data to be fed to the model.

At step <NUM> of the method <NUM> the one or more hardware processors <NUM> extract a multi-level contextual data for the set of product data, by assigning a weight to each product data based on likelihood and creating a set of datapoints for each product data. To extract the multi-level contextual data from the set of product data for the said example, initially a similarity match is performed for each product data with a training dataset associated with a pretrained Word2Vec model. Further, a weight is assigned to each product data for the closest similarity semantic match based on (i) a product weight, and (ii) a product category weight.

The product weight is the ratio of count of product distribution to the product as described below in equation <NUM>, <MAT> Referring now to the example then, product weight is described as below in equation <NUM>, <MAT>.

The product category weight is the ratio of count of product category distribution to the product category as described below in equation <NUM>, <MAT> Referring now to the example then, product weight is described as below in equation <NUM>, <MAT> Then, pivoting for the product data (Table <NUM>) is performed to obtain counts of each product data based on the product category, and reindexing the assigned weights (Table <NUM>) to align with the pivot table index.

Further, the set of data points are created (Table <NUM>) based on the assigned weights using the pivot table index for each product categorization.

The weight is assigned using the product weight and the product category weight as described below in equation <NUM>, <MAT> In the given equation: 't' is a product and 'd' is a product category. x-y does not have any significant meaning. They are representation of any weights or bias added to 't' and 'd' in this equation. Weights generally add to the sharpness or steepness of inputs, which leverages semantic similarity. The iteration of weights across the product data depicts the probability scenario of contextual data understanding and the weighted data represents the final formula of contextuality as described in equation <NUM> and equation <NUM>, <MAT> <MAT> Then, <MAT> <MAT> <MAT> <MAT>.

The product weight is the ratio of total count of product distribution to the product data. The Word2Vec model is trained by feeding the created datapoints for similarity mapping. The Word2Vec model fetches random words for the set of product data text, based on its cosine similarity with the other. The algorithm is made contextually aware of the fashion footwear data, so that the final output gives us the correct results. Training inputs are a product of the word vectors of the text data and the assigned weights. It is to be noted that, if xi is a product, then wi is a weight associated with it and if yj is the product category, then wj is the weight associated with it. Inputs to algorithm may be summed up as: Σ xi. wi where <NUM><i<n and Σ yj. wj, where <NUM><j<n.

At step <NUM> of the method <NUM> the one or more hardware processors <NUM> categorize the set of product data by feeding the set of data points to a set of predefined parameters to compute a minimum count, a total size, total number of epochs, a skip gram value and a hierarchical softmax. Here, the probability of contextual data understanding, and weighted data is described in equation <NUM>, <MAT> <MAT> Here, the contextually aware datapoints are created through dictionary and weights assignment are passed through the set of predefined parameters based on the Word2Vec model. For the set of predefined parameters computing the dimension of each input vector, the total number of epochs, the skip gram value and a hierarchical softmax activation function.

The written description describes the subject matter herein to enable any person skilled in the art to make and use of the embodiments.

The embodiment of present disclosure herein addresses unresolved problem of product data categorization. The embodiment thus provides a method and system for product data categorization based on text and attribute factorization. Moreover, the embodiment herein further provides extracting multi-level contextual data for the set of product data for categorization of the set of product data using the pretrained Word2Vec model. The method makes use of minimum information such as the product name and the product category name. The Word2Vec model is a shallow neural network, and the data is enriched in a way, that the network works on product categorization efficiently & performs almost parallel to that of a deep neural network. The present disclosure is versatile and can be applied across various retail products.

It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. Thus, the means can include both hardware means, and software means. The method embodiment described herein could be implemented in hardware and software.

Also, the words "comprising," "having," "containing," and "including," and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items or meant to be limited to only the listed item or items.

Claim 1:
A processor implemented method (<NUM>) for product data categorization, the method further comprising:
acquiring (<NUM>), via one or more hardware processors (<NUM>), an input describing a set of product data from an application data store for categorization, characterized in that:
preprocessing (<NUM>), via the one or more hardware processors, the set of product data by removing extraneous or unwanted text based on a predefined template, wherein the extraneous text includes comma, dots, error code, dropping unnecessary columns, unmatched product data text from the predefined template;
creating (<NUM>), via the one or more hardware processors (<NUM>), a dictionary for the set of product data based on a set of attributes further comprising a product key with its corresponding product value, wherein a dictionary data is built with a product category and products as a key-value pair;
extracting (<NUM>), via the one or more hardware processors (<NUM>), a multi-level contextual data for the set of product data, by assigning a weight to each product data based on likelihood of the product for arriving at a suitable relevancy or probability score, and creating a set of datapoints for each product data, wherein the weight adds to sharpness or steepness of the input, which leverages semantic similarity and iteration of the weights across each product data depicts probability scenario of contextual data understanding and weighted data represents contextuality; and
categorizing (<NUM>), via the one or more hardware processors (<NUM>), the set of product data by feeding the set of data points to compute a minimum count, a total size, total number of epochs, a skip gram value and a hierarchical softmax upon pivoting the set of product data to obtain counts based on the product category and reindexing the assigned weights to align with a pivot table index followed by creating the set of data points based on the assigned weights using the pivot table index for each product categorization, wherein contextually aware datapoints are created through dictionary and weight assignment are passed based on a pretrained Word2Vec model.