Skip to content

Requirement and Specification

Kim Yong Seok edited this page Dec 10, 2023 · 32 revisions

1. Document Revision History

Date Version Details
2023.10.08 ver 1.0 inital document
2023.10.22 ver 1.1 add user story and non-functional requirements
2023.11.05 ver 1.2 add reason of the GPT Refining function & view images
2023.11.19 ver 1.3 update user stories & scenario, update screens
2023.12.10 ver 1.4 update screens

2. Project Abstract

Online shopping provides users with the convenience of browsing and searching through numerous items of various styles and categories without the need to invest time and effort in physically moving around a physical store. However, a new challenge has emerged, as it falls upon the user to formulate queries that lead them to their desired product (Hirsch et al). Traditional search engines primarily rely on tags and text-based filtering, which can make it difficult for users to express their product preferences effectively. Recognizing this issue, previous research has proposed solutions such as natural language search through conversation. Guo et al introduced conversational search for fashion items, as it enables users to receive feedback and formulate queries using comparatives like "longer" or "a deeper blue." Additionally, certain online shopping commerce sites, like FarFetch, support natural language queries such as "white blouse" without the need to toggle filter buttons.
We present "Try-Ot," a fashion search application that allows users to search for FarFetch items using both abstract natural language and conversational bots. By integrating a fine-tuned GPT model with the FashionCLIP model, our system can process detailed queries as well as abstract ones like "summer style" or "balletcore." Users can choose between traditional grid search and conversational search, depending on whether they prioritize efficiency or variety. This application addresses the limitations of current fashion search engines by bridging the gap between natural language queries and abstract concepts, making it easier for users to discover the perfect items. Furthermore, for users unsure about their search terms, a chatbot-driven search engine permits iterative query refinement until they are satisfied. This app caters to a diverse user base but primarily targets fashion enthusiasts who seek unique fashion items but may not possess an in-depth knowledge of fashion terminology

References

  1. Guo, Xiaoxiao et al. “Dialog-based Interactive Image Retrieval.” Neural Information Processing Systems (2018).
  2. Hirsch, Sharon et al. “Query Reformulation in E-Commerce Search.” Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval (2020): n. pag.

💡 Why GPT in the middle of the process?

Through a survey, we provided a specific item to a large number of users and received different types of search queries from them: style-related abstract queries and non-abstract queries containing fashion keywords. Subsequently, we input these user queries into the CLIP model and compared the position of the target item in percentiles when using the original user queries versus refined queries obtained through prompt engineering from the GPT model. We observed that for non-abstract queries, there was minimal variation in the percentile ranking, indicating stable search results. However, for abstract queries, particularly those related to fashion items, refining the queries with GPT led to reduced variance in percentile values, ensuring the consistency and reliability of search outcomes.


3. Customer

The primary target user for the "Try-Ot" fashion search app consists of users who are passionate about fashion but have limited familiarity with fashion terminology and are seeking to discover unique fashion items.


4. Competitive Landscape

Feature/Characteristic Farfetch Lykdat Our App
Fashion Product Search by Natural Language O O O
Query Preprocessing X X O
Chatbot Search Engine X X O

There are examples of where individual brands support chatbot search through Facebook messenger, though they are not an application.


5. Functional Requirements

5.1 USER STORY

5.1.2 User Story 1: Searching with an abstract query

User: Alex, a young professional who wants daily outfit inspiration using the "Try-Ot" fashion search app.

User Story: As a ordinary user who has moderate interest in clothes more out of necessity, I can search for a particular style of items so that I can efficiently search and purchase items without having to switch services.

Scenario: Products retrieved by abstract queries should be plausible to the user.Given that a customer has an vague idea of what the search results should look like, when they enter an abstract query, then the search results in the Catalog screen should be similar to that of the user's idea.

5.1.3 User Story 2: Precise query refinement

User: Emma, a fashion enthusiast using the "Try-Ot" fashion search app to delete unwanted queries from the improved queries generated by GPT.

User Story: As a user highly interested in fashion, I can obtain fashion keywords with their corresponding images so that I can learn more on fashion keywords.

Scenario: The app should be able to recommend refined queries. Given that the user has entered a search query and searched in Catalog search mode, when the user turns on/off the GPT refinement options, then the search result should change to match that of the changed query.

5.1.4 User Story 3: Easy Item Recommendation

User: Michael, a user who is not that interested in fashion but needs help with purchasing items.

User Story: As someone who knows little about fashion and dislikes the inconvenience of shopping processes, I can use the recommendation of the chatbot so that I can easily purchase items.

Scenario: The chatbot should give three top recommendations to the user. Given that the user does not want to waste time on the browsing part of shopping, when they ask for results using the chat feature, then the app should give the user the top three items that fit his/her query.

5.1.1 User Story 4: Browsing for items

User: Sarah, a fashion enthusiast and a user of our "Try-Ot" fashion search app.

User Story: As a user who is interested in fashion, I can see natural language keywords so that I can search for interesting items and get inspiration without using precise terminology.

Scenario: Natural language query recommendation for easy searching. Given that the customer has clicked on the detail page of a specific item and would like to see similar styles when they click on the keyword hashtag buttons, which are records of other user's queries and are on the bottom, then they can see similar items of that keyword.

5.1.5 User Story 5: Managing search history

User: Mickey, an shopping loving consumer using the "Try-Ot" fashion search app and looking to effectively utilize their search history.

User Story: As a consumer who regularly enjoys browsing for new items, I can resume and save search histories so that I can manage by search results and understand the items that I have previously searched for.

Scenario: Users should be able to seamlessly stop/restart search sessions. Given that a user likes to search for items with the same query or style, when they stop a session but resume it, then the exact search session should appear and the user should be able to apply the same actions.

5.2 USE CASES

5.2.1 Use Case 1: Searching for a Specific Fashion Item

Component Description
Goal Allow users to search for a specific fashion item.
Actor Registered Users (Fashion Enthusiasts)
Pre-conditions User is logged in and the app is open.
Main Story 1. User enters a search query (e.g., "white blouse").
2. The system processes the query.
3. The system displays search results matching the query.
4. User can browse through the search results.
5. User can view details of an item and make a purchase.
Extensions - If no matching results are found, the system informs the user and suggests alternative search terms.
- If there is a technical issue, the system displays an error message and allows the user to retry the search.

5.2.2 Use Case 2: Conversational Search

Component Description
Goal Enable users to have a conversation with a chatbot to discover fashion inspiration.
Actor Registered Users (Fashion Enthusiasts)
Pre-conditions User is logged in and the app is open.
Main Story 1. User selects the conversational search option.
2. The chatbot asks the user for fashion preferences.
3. User provides information, such as style, occasion, or mood (e.g., "I want a casual summer outfit").
4. The chatbot generates fashion suggestions based on user input.
5. User can explore and save the suggested fashion items.
Extensions - If the chatbot cannot understand the user's input, it asks for clarification.
- If the user is not satisfied with the suggestions, they can refine their preferences in the conversation.

6. Non-functional Requirements

Non-functional Requirement Details
1. Image Loading Latency In response to the latency issues experienced when fetching image data from a CDN, we have migrated the image assets to an Amazon S3 bucket to address this performance concern. As a non-functional requirement, the system should exhibit improved response times and reduced latency in rendering images by leveraging the S3 bucket for image storage. It is imperative that this transition to S3-based image storage does not introduce new bottlenecks or slowdowns in the overall system.
2. Lazy Image Loading Mechanism Incorporating a lazy image loading mechanism is a non-functional requirement aimed at enhancing pixel quality and user experience. The service starts with lower-resolution placeholders and subsequently transition to high-quality images. This progressive image loading approach should help reduce initial page load times, and improve perceived performance.
3. Caching for non-volatile data Caching for non-volatile data, such as user history, is a non-functional requirement of the system. Cached data should include user search history records and recently viewed items that doesn't change frequently. The caching mechanism should significantly reduce the response time when users request their historical data, promoting faster and more responsive user interactions.
4. Interface inspired by well known applications As a non-functional requirement, the system's design should prioritize the incorporation of user interfaces that draw inspiration from well-known applications. The catalog interface should closely resemble the design of online shopping platforms like Farfetch. The chat interface should follow the user-friendly design principles of ChatGPT's app, and the chat history design should emulate the structure of KakaoTalk, enabling users to effortlessly navigate and retrieve past conversations. These design inspirations are intended to enhance user engagement, familiarity, and overall usability. Furthermore, the design should not merely mimic these interfaces but adapt to create a unique and captivating user experience tailored to the specific requirements and objectives of Try-Ot.

7. User Interface

7.1 Workflow

image

7.2 VIEW

7.2.1 Initialize

The starting page that shows Tryot Logo image.

7.2.2 Login

The starting screen where users can log in to the app or create an account.

7.2.3 Home Tab

Showcasing the latest fashion trends, suggestions, and popular items. Users can choose one of the following searching options (Conversational Search / Grid Search).

7.2.4 Grid Search Page

This page serves as the central hub for users to search for fashion products and create new queries.
Users can see the ChatGPT refined queries, and turn them on/off to regenerate the search results.

Users can perform the following steps:

  1. Query Input: Users can input search terms or filters into the search bar.
  2. GPT-Powered Enhancement: As users input their queries, the GPT model can analyze the input and suggest improved search queries. These enhanced queries help users find the desired products more accurately.
  3. Display Search Results: Based on the entered or enhanced query, search results are displayed below in a grid format. Each search result includes product images, descriptions, and prices, allowing users to select the items they desire.

7.2.5 My Page Tab

Shows user email, nickname. Also, users can toggle a button to turn on/off gpt guidance.

7.2.6 Sign Up Page

Input : email, username, password

7.2.7 Chat Search Page

A page where users can interact with a chatbot in a conversational manner to get fashion ideas or refine search results. The chatbot accepts search queries in natural language and provides responses.

7.2.8 Item Page

A page where users can view detailed information about specific fashion items. Users can check product images, descriptions, prices. When they click the purchase button, they are directed to other available purchase sites.

7.2.10 Search history tab

A page where users can view their previous search history. Users can review past search queries and conduct searches again.