Skip to content

Commit

Permalink
Update bibtex entries and paper table formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
XuhuiZhou committed Apr 9, 2024
1 parent 37f5b1a commit e2b195f
Show file tree
Hide file tree
Showing 4 changed files with 115 additions and 75 deletions.
37 changes: 15 additions & 22 deletions bibtex/social_agents.bib
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,24 @@ @misc{qian2023communicative
author={Chen Qian and Xin Cong and Wei Liu and Cheng Yang and Weize Chen and Yusheng Su and Yufan Dang and Jiahao Li and Juyuan Xu and Dahai Li and Zhiyuan Liu and Maosong Sun},
year={2023},
url={https://arxiv.org/abs/2307.07924},
social_interaction_types = {1.1 Pure collaboration},
number_of_agents = {2.2 More than three agents},
social_interaction_environments = {3.1 Closed simulation},
modeling_techniques = {5.1 Prompting},
human_involvement = {6.1 No human involvement},
evaluation_protocol = {7.1 Rule-based evaluation},
environment = {Collaboration, Embodied AI},
agents = {Prompting, More than three agents},
evaluation = {Rule-based evaluation},
other = {No human involvement},
eprint={2307.07924},
archivePrefix={arXiv},
primaryClass={cs.SE}
}

@article{gweon2023socially,
title={Socially intelligent machines that learn from humans and help humans learn},
author={Gweon, Hyowon and Fan, Judith and Kim, Been},
journal={Philosophical Transactions of the Royal Society A},
volume={381},
number={2251},
pages={20220048},
social_interaction_types = {Irrelevant},
number_of_agents = {Irrelevant},
social_interaction_environments = {Irrelevant},
modeling_techniques = {Irrelevant},
human_involvement = {Irrelevant},
evaluation_protocol = {Irrelevant},
year={2023},
url = {https://doi.org/10.1098/rsta.2022.0048},
publisher={The Royal Society}
@inproceedings{zhou2024sotopia,
title={SOTOPIA: Interactive Evaluation for Social Intelligence in Language Agents},
author={Xuhui Zhou and Hao Zhu and Leena Mathur and Ruohong Zhang and Haofei Yu and Zhengyang Qi and Louis-Philippe Morency and Yonatan Bisk and Daniel Fried and Graham Neubig and Maarten Sap},
booktitle={The Twelfth International Conference on Learning Representations},
environment = {Mixed Objectives, Text and Speech},
agents = {Prompting, Two agents},
evaluation = {Model-based evaluation, Human evaluation},
other = {Human-in-loop},
year={2024},
month = {10},
url={https://openreview.net/forum?id=mM7VurbA4r}
}
43 changes: 22 additions & 21 deletions bibtex_to_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ def parse_markdown_file(file_path: str) -> dict[str, list[str]]:
category = line.replace("##", "").strip()
category = "_".join(category.lower().split(" ")[1:])
taxonomy[category] = []
elif line.startswith("###"):
subcategory = line.replace("###", "").strip()
elif line.startswith("####"):
subcategory = line.replace("####", "").strip()
if subcategory:
taxonomy[category].append(subcategory)
return taxonomy
Expand All @@ -26,12 +26,19 @@ def parse_markdown_file(file_path: str) -> dict[str, list[str]]:
def preprocess_entry(entry: dict, taxonomy:dict[str, list[str]]) -> dict:
entry["ID"] = entry.get("ID", "")

entry["title"] = entry.get("title", "")
if not entry["title"]:
if not entry.get("title", ""):
raise ValueError("Title field is missing")

if not entry.get("author", ""):
raise ValueError("Author field is missing")

if not entry.get("year", ""):
raise ValueError("Year field is missing")

authors = entry.get("author", "")
authors_list = authors.split(" and ")
if not entry.get("url", ""):
raise ValueError("URL field is missing")

authors_list = entry["author"].split(" and ")
authors_processed = []
for author in authors_list:
author_parts = author.split(", ")
Expand All @@ -42,34 +49,28 @@ def preprocess_entry(entry: dict, taxonomy:dict[str, list[str]]) -> dict:
authors_processed.append(author)
authors = ", ".join(authors_processed)
entry["author"] = authors

if not entry["author"]:
raise ValueError("Author field is missing")

entry["year"] = entry.get("year", "")
if not entry["year"]:
raise ValueError("Year field is missing")

entry["url"] = entry.get("url", "")
if not entry["url"]:
raise ValueError("URL field is missing")

if "eprint" in entry:
entry["month"] = entry["eprint"].split(".")[0][2:]
print(entry["month"])

if entry.get("month", ""):
month_name = datetime.date(1900, int(entry["month"]), 1).strftime('%B').lower()
entry["month"] = month_name.capitalize()
else:
raise ValueError("Month field is missing")

entry["title_w_url"] = f"[{entry['title']}]({entry['url']})"
entry["date"] = f"{entry['month']}, {entry['year']}" if "month" in entry else entry["year"]

# Add taxonomy tags
for category, subcategories in taxonomy.items():
subcategory = entry.get(category, "")
if not subcategory:
subcategory_list = subcategory.split(", ")
if not subcategory_list:
raise ValueError(f"{category} field is missing")
elif subcategory not in subcategories and subcategory != "Irrelevant":
raise ValueError(f"{subcategory} is not a valid {category}, please choose from {subcategories}")
for subcategory in subcategory_list:
if subcategory not in subcategories:
raise ValueError(f"{subcategory} is not a valid {category}, please choose from {subcategories}")
return entry

def bibtex_to_table(bibtex: str, taxonomy: dict[str, list[str]]) -> str:
Expand Down
8 changes: 4 additions & 4 deletions docs/paper_table.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
| Title | Date | social_interaction_types | number_of_agents | social_interaction_environments | modeling_techniques | human_involvement | evaluation_protocol |
|:---------------------------------------------------------------------------------------------------------------------|:-----------|:---------------------------|:---------------------------|:----------------------------------|:----------------------|:-------------------------|:--------------------------|
| [Communicative Agents for Software Development](https://arxiv.org/abs/2307.07924) | July, 2023 | 1.1 Pure collaboration | 2.2 More than three agents | 3.1 Closed simulation | 5.1 Prompting | 6.1 No human involvement | 7.1 Rule-based evaluation |
| [Socially intelligent machines that learn from humans and help humans learn](https://doi.org/10.1098/rsta.2022.0048) | 2023 | Irrelevant | Irrelevant | Irrelevant | Irrelevant | Irrelevant | Irrelevant |
| Title | Date | environment | agents | evaluation | other |
|:-------------------------------------------------------------------------------------------------------------------------|:--------------|:----------------------------------|:----------------------------------|:-----------------------------------------|:---------------------|
| [Communicative Agents for Software Development](https://arxiv.org/abs/2307.07924) | July, 2023 | Collaboration, Embodied AI | Prompting, More than three agents | Rule-based evaluation | No human involvement |
| [SOTOPIA: Interactive Evaluation for Social Intelligence in Language Agents](https://openreview.net/forum?id=mM7VurbA4r) | October, 2024 | Mixed Objectives, Text and Speech | Prompting, Two agents | Model-based evaluation, Human evaluation | Human-in-loop |
102 changes: 74 additions & 28 deletions docs/taxonomy.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,92 @@
# Taxonomy
## 1 Social interaction types
## 1 Environment
*The objectives of different agents*
### 1.1 Pure collaboration
### Social interaction types

#### Collaboration
*The objectives are shared among agents*

### 1.2 Pure Competition
#### Pure Competition
*The objectives are zero-sum*

### 1.3 Mixed Objectives
#### Mixed Objectives
*Agents’ have different goals, but they are not zero-sum*

### 1.4 Implicit Objectives
#### Implicit Objectives
*Goals are not expressed explicitly*

## 2 Number of agents
### 2.1 Two agents
### 2.2 More than three agents
### 2.3 Multiple teams of agents
### Domains

#### Text and Speech

#### Embodied AI

## 3 Social interaction environments
### 3.1 Closed simulation
#### Virtual Environments

#### Robotics

### Simulation Types
### Closed simulation
*A fixed hand-crafted world*

### 3.2 Open simulation
### Open simulation
*Procedurally expanded or naturally large env*

### 3.3 Real physical world
### Real physical world
* Indoor scenes
* Outdoor scenes

## 5 Modeling Techniques
### 5.1 Prompting
### 5.2 In-context learning
### 5.3 Fine-tuning
### 5.4 Reinforcement learning

## 6 Human involvement
### 6.1 No human involvement
### 6.2 Simulated humans
### 6.3 Human-in-loop

## 7 Evaluation Protocol
### 7.1 Rule-based evaluation
### 7.2 Human evaluation
### 7.3 Model-based evaluation
## 2 Agents
*The types of agents involved in the simulation*

### Modeling
*The techniques used to model the agents*

#### Prompting
*The agents are given explicit instructions*

#### In-context learning

#### Fine-tuning

#### Reinforcement Learning

### Number of agents
#### Two agents
#### More than three agents
#### Multiple teams of agents

### Other features

#### Memory module

## 3 Evaluation

#### Only qualitative evaluation
*You should definitely add this tag if a work is only based on qualitative evaluation*

#### Rule-based evaluation
*The evaluation is based on a set of rules*

#### Human evaluation
*Quantitative evaluation based on human judgment*

#### Model-based evaluation


## 4 Other

### Human involvement
#### No human involvement
#### Simulated humans
#### Human-in-loop
*You should definitely add this tag if a work involves human-in-the-loop*

### Applications
#### Health
#### Education
#### Training
#### Entertainment
#### Policy
#### Inter personal communication

0 comments on commit e2b195f

Please sign in to comment.