This repo is about understanding and implementing hybrid intelligence collaboration. Feel free to raise issues and make PRs.
- A unix or unix-like x86 machine
- python 3.8 or higher.
- Running in a virtual environment (e.g., conda, virtualenv, etc.) is highly recommended so that you don't mess up with the system python.
pip install -r requirements.txt
During our meeting, we've come up with some keywords to understand what HI collaboration is. We want to extend this with the following points:
- Add more keywords. Feel free to append what's necessary to the yaml file.
- Manually add relations (i.e., edges) between the entities (i.e., keywords)
- I was gonna use the MIRO board but the low participation rate shows that this is not the most effective way.
- Can someone come up with something else?
- Automatically add relations. Since we are HI, we can also ask machines to do this!
- Try TransE
- Map your concepts to Wikidata and then extract a connected component that contains all of them, with some extra entities as a bonus.
Since we are all about HI, we want to use the edges extracted by both humans and machines!
Try below for a streamlit demo:
streamlit run app.py
Currently human-machine collaboration experiments are all done differently by researchers. It's difficult to reproduce their results. We think that we can have more canonical format for human-machine collaboration so that people can just "plug-in" what they want to experiment into this setup.
- We need an app framework. Streamlit might be a good way to achieve this.
- We need tasks and skills.
- Tasks are what we want to solve together with machines (e.g., puzzle solving, answering multiple-choice questions, partner selection, overcoming weak supervision, etc.)
- Skills are what we want machines to have (e.g., theory of mind, affection, sympathy, trust, self-awareness, explanation, episodic memory, semantic memory, etc.)
The outcome of Phase 1 will help us to find the necessary skills and how they are related.
In this example, I as a human want to select a human partner. In this task, an AI equipped with the skill of a theory of mind will help me. I see a list of humans with their pictures, and other information. The AI can assess what I think about the candidiates and what the candidates might think about me. Hopefully this makes it easier for me to select my partner.
Perhaps theory of mind is not the best skill that the AI should have in this task. Since from Phase 1 we know how the skills are related, we can select another skill that the AI should have and then proceed.
This is Tiffany's work. Feel free to correct it, Tiffany, haha.
This is actually Tae's PhD research.
The task is to answer questions (e.g., Where is Tiffany's laptop?). In this task, I might have seen Tiffany's laptop and answer the question correctly. If I haven't, an AI with an episodic memory system can help me.
Again, other skills might be more desirable.
Puzzle solving can be a stressful task. An AI that can understand the emotion of the human and act accordingly might be helpful.
So exciting.
- Phase 1
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Run
make test && make style && make quality
in the root repo directory, to ensure code quality. - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request