Skip to content

flyingdoubleG/WikiLink-Smart

Repository files navigation

WikiLink Smart

  • WikiLink Smart is a semantic network designed for combinatorial creativity.
  • It's constructed based on statistical weights using Wikipedia data and semantic weights using fastText. It's further filtered using spaCy's en_core_web_trf model.
  • For ideas diverge and converge, it supports neighborhood exploration and shortest path finding with node masking strategy.

algorithm1

algorithm2

* For idea generation, it further incorporates LLM to generate design ideas based on concept nodes chosen by users, following a "Base Concept + Additive Concept" - "Idea Explanation" - "Design Description" chain-of-thought few-shot prompting strategy.

Examples of using WikiLink Smart

neighborhood exploration start with node "hair dryer":

neighborhood exploration

shortest path finding between node "toothbrush" and "3d printing":

shortest path finding

idea generation:

Base Concept Additive Concept Explanation Description
Hair Dryer Zardozi Zardozi embroidery is a traditional form of Indian embroidery that involves the use of metallic threads, beads, and sequins to create intricate designs. The hair dryer can be designed with a similar aesthetic, using metallic accents and patterned designs to create a luxurious and elegant look. The Zardozi Hair Dryer is a combination of modern technology and traditional embroidery techniques. The hair dryer features intricate zardozi embroidery, with metallic threads and sparkling beads adorning the body of the device. The hair dryer is lightweight, with multiple speed and temperature settings to suit all hair types. The Zardozi Hair Dryer is the perfect combination of functionality and style, adding a touch of luxury to your beauty routine.
Hair Dryer Tie-Dye Inspired by the vibrant and unique patterns created by tie-dye techniques, the hair dryer can be designed to have a colorful and artistic appearance. The colors and patterns can be applied to the body of the dryer, giving it a personalized touch for the user. The Tye-Dye Salon Hair Dryer is a powerful and colorful addition to any salon or home styling station. The body of the dryer is treated with a unique tie-dye pattern, making it a one-of-a-kind accessory. The hair dryer has a high-velocity motor to quickly dry hair and comes with multiple heat and speed settings to cater to any hair type. The dryer also has a cool shot button to set the style in place. The handle is ergonomically designed for comfortable use, and the cord is extra-long for flexibility in styling positions. This hair dryer is not only a functional tool but also a stylish statement piece.
Hair Dryer Comb Inspired by the idea of combining two styling tools in one, a hair dryer with a built-in comb can be designed to simplify the hair drying and styling process. The comb attachment can help to detangle hair while the dryer blows air, making it easier to achieve a sleek, polished look. This innovative hair dryer features a built-in comb attachment to provide effortless and efficient styling. The comb attachment is designed to detangle hair while the powerful dryer blows hot air, reducing the risk of damage from excessive heat. The hair dryer also features multiple heat and speed settings, allowing users to customize their styling experience for optimal results. The compact size and lightweight design make it easy to pack for travel or use on the go.

sketches by designer after using WikiLink Smart to generate design ideas:

Base Concept Additive Concept Explanation Description
computer mouse lego Lego blocks inspire creativity and customization. By combining the fun and playful aspect of Lego with the functionality of a computer mouse, the design can allow the user to create various designs and patterns on the surface of the mouse, making it a fun and personalized tool for work and play. The Legomouse is a customizable computer mouse that can be assembled using Lego blocks. The mouse's base is designed to fit various Lego blocks, allowing the user to build and personalize different designs and shapes on the surface of the mouse. The Legomouse is ergonomically designed for comfort and precision, with two customizable buttons and a scroll wheel. It connects to the computer via USB port and is compatible with both Windows and Mac operating systems. The Legomouse is perfect for creative professionals, kids, and anyone who enjoys the fun and tactile experience of building with Lego.
computer mouse stress management Inspired by the need for stress relief during computer use, the mouse is designed with an integrated stress ball that can be squeezed or kneaded during breaks or moments of frustration, allowing the user to release tension and improve their overall productivity and well-being. The Stress-Relieving Computer Mouse features an ergonomic design with a soft, squeezable stress ball integrated into the body of the mouse. The ball is made from a durable, non-toxic material and provides the user with a convenient outlet for stress relief during extended computer use. The mouse is compatible with both Windows and Mac operating systems, and its advanced optical sensor ensures smooth and accurate cursor control. Additionally, the Stress-Relieving Computer Mouse comes in a variety of colors and designs to suit any personal style.

mouse inspired by lego

mouse inspired by stress management

Getting Started

Installation

WikiLink Smart is developed and tested on Windows platform.

Package Requirements:

  • Python >= 3.7
  • OpenAI API key (We use gpt-3.5-turbo as default LLM backend)

Create conda environment:

python -m venv venv 
venv\Scripts\activate 

Install dependencies:

pip install -r requirements.txt

To use gpt-3.5-turbo as LLM backend, make sure you have some funds (at least 3 dollars) in your OpenAI account and set your OpenAI API key:

  • Windows:
set OPENAI_API_KEY=sk-xxxx

Run code

first make directory data/

mkdir data

and download files of semantic network from here and put them(test6_37_28_nominus_updated_cleannameplace2.gpickle and word2id_from_graph.json) in data/ directory.

Within the repo, run the following command in your terminal:

python server.py

This will start a web application page and you can explore WikiLink Smart in it.

Code structure

│   .gitattributes
│   .gitignore
│   app.asar
│   concept2design.py # LLM idea generation
│   fb-completion.html
│   feedback-2.html
│   index.html # main web page of WikiLink Smart
│   PF.py
│   README.md
│   requirements.txt
│   server.py # main server for web application
│   signup.html # signup web page
├───data # data of semantic network
│       test6_37_28_nominus_updated_cleannameplace2.gpickle
│       word2id_from_graph.json
├───networkanalysis
│   │   __init__.py
│   ├───Analysis
│   │       Retrievor.py # functions for neighborhood exploration and shortest path finding
│   │       __init__.py
│   └───Process_OriginalTable
│           ...
├───Private   # helper functions
│       ...
├───static    # static files (js, css, images)
│       ...
├───templates # html templates for collecting user feedback
│       ...
├───user_Feedback
│       ...
└───wiki_data_preprocessing
        layer_3_filter_all.py
        wiki_data_analysis.py

Contact

If you encounter any problems when trying to run WikiLink Smart on your computer, or yoo have any questions or suggestions, feel free to open an issue or submit a pull request. I will provide timely feedback.

Credits

This code is developed further on WikiLink.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published