From 6e06be3c31d24606c76c46d6e80603888a66475e Mon Sep 17 00:00:00 2001 From: Alex Naumann Date: Mon, 8 Aug 2022 22:00:31 +0200 Subject: [PATCH 1/4] feat: add automated wikicfp and core scraping --- Dockerfile | 26 +++ README.md | 4 +- _config.yml | 2 + _data/master_data.csv | 84 ++++++++ requirements.txt | 5 + src/__init__.py | 0 src/config.py | 12 ++ src/io.py | 62 ++++++ src/scraping/__init__.py | 0 src/scraping/core_conference_rankings.py | 66 ++++++ src/scraping/matching.py | 45 ++++ src/scraping/models.py | 131 ++++++++++++ src/scraping/utils.py | 40 ++++ src/scraping/wikicfp_deadlines.py | 256 +++++++++++++++++++++++ src/tools/__init__.py | 0 src/tools/merge_with_aideadlines.py | 51 +++++ src/tools/scrape_new_deadlines.py | 4 + src/tools/sort_data.py | 105 ++++++++++ src/tools/update_masterdata.py | 34 +++ src/tools/yaml2csv.py | 56 +++++ utils/process.py | 130 ------------ 21 files changed, 981 insertions(+), 132 deletions(-) create mode 100644 Dockerfile create mode 100644 _data/master_data.csv create mode 100644 requirements.txt create mode 100644 src/__init__.py create mode 100644 src/config.py create mode 100644 src/io.py create mode 100644 src/scraping/__init__.py create mode 100644 src/scraping/core_conference_rankings.py create mode 100644 src/scraping/matching.py create mode 100644 src/scraping/models.py create mode 100644 src/scraping/utils.py create mode 100644 src/scraping/wikicfp_deadlines.py create mode 100644 src/tools/__init__.py create mode 100644 src/tools/merge_with_aideadlines.py create mode 100644 src/tools/scrape_new_deadlines.py create mode 100644 src/tools/sort_data.py create mode 100644 src/tools/update_masterdata.py create mode 100644 src/tools/yaml2csv.py delete mode 100644 utils/process.py diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000000..f740bef99f0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +FROM ubuntu:20.04 + +# Install jekyll +RUN apt-get update +RUN apt-get install -y ruby-full build-essential zlib1g-dev +RUN export GEM_HOME="$HOME/gems" +RUN export PATH="$HOME/gems/bin:$PATH" +RUN gem install jekyll bundler + +# Install python +RUN apt-get install -y python3 python3-pip +RUN ln -s /usr/bin/python3 /usr/bin/python + +WORKDIR /app + +COPY . ./ + +RUN bundle install +RUN pip3 install -r requirements.txt + +ENV PYTHONPATH "${PYTHONPATH}:/app" +EXPOSE 4000 + +#CMD ["jekyll", "serve"] +#CMD ["bundle", "exec", "jekyll", "serve"] +CMD ["python", "src/tools/scrape_new_deadlines.py"] \ No newline at end of file diff --git a/README.md b/README.md index e3acfe3ac9c..ca9a84193e1 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,8 @@ To add or update a deadline: id: bestconf22 # title as lower case + last two digits of year full_name: Best Conference for Anything # full conference name link: link-to-website.com - deadline: YYYY-MM-DD HH:SS - abstract_deadline: YYYY-MM-DD HH:SS + deadline: YYYY-MM-DD HH:MM + abstract_deadline: YYYY-MM-DD HH:MM timezone: Asia/Seoul place: Incheon, South Korea date: September, 18-22, 2022 diff --git a/_config.yml b/_config.yml index d443a2a6428..2e4ac1053bc 100644 --- a/_config.yml +++ b/_config.yml @@ -13,3 +13,5 @@ markdown: kramdown ga_id: include: ['_pages'] +exclude: + - src diff --git a/_data/master_data.csv b/_data/master_data.csv new file mode 100644 index 00000000000..75eb027f5dd --- /dev/null +++ b/_data/master_data.csv @@ -0,0 +1,84 @@ +title,full_name,wikicfp_query,wikicfp_link,sub +icpr,International Conference on Pattern Recognition,ICPR,,ML +iros,International Conference on Intelligent Robots and Systems,IROS,,RO +icprs,International Conference on Pattern Recognition Systems,ICPRS,,CV +kdd,Knowledge Discovery and Data Mining,KDD,,DM +uai,Uncertainty in Artificial Intelligence,UAI,,ML +fg,IEEE International Conference on Automatic Face and Gesture Recognition,FG,,CV +cikm,Conference on Information and Knowledge Management,CIKM,,DM +lrec,Language Resources and Evaluation,LREC,,NLP +aaai,AAAI Conference on Artificial Intelligence,AAAI,,ML +sigir,International ACM SIGIR Conference on Research and Development in Information Retrieval,SIGIR,,DM +interspeech,Conference of the International Speech Communication Association,Interspeech,,CV +rss,Robotics: Science and Systems,RSS,,RO +pris,International Conference on Pattern Recognition and Intelligent Systems (PRIS 2022) ,PRIS,,"CV,RO" +wacv,Winter Conference on Applications of Computer Vision,WACV,,CV +icpram,International Conference on Pattern Recognition Applications and Methods,ICPRAM,,CV +icml,International Conference on Machine Learning,ICML,,ML +siggraph,International Conference & Exhibition on Computer Graphics & Interactive Techniques,SIGGRAPH,,CV +icmi,International Conference on Multimodal Interaction,ICMI,,CV +naacl,Annual Conference of the North American Chapter of the Association for Computational Linguistics,NAACL,,NLP +acml,Asian Conference on Machine Learning,ACML,,ML +ijcai,International Joint Conference on Artificial Intelligence,IJCAI,,ML +visapp,International Conference on Computer Vision Theory and Applications,VISAPP,,CV +cvpr,Conference on Computer Vision and Pattern Recognition,CVPR,,CV +icann,International Conference on Artificial Neural Networks,ICANN,,ML +sdm,SIAM International Conference on Data Mining,SDM,,DM +isr,International Symposium on Robotics,ISR,,RO +crv,Conference on Robots and Vision,CRV,,RO +gcpr-vmv,"German Conference on Pattern Recognition + International Symposium on Vision, Modeling, and Visualization",GCPR-VMV,,ML +eacl,European Chapter of the Association for Computational Linguistics,EACL,,NLP +icme,IEEE International Conference on Multimedia and Expo,ICME,,CV +recsys,ACM Conference on Recommender Systems,RecSys,,DM +icip,IEEE International Conference in Image Processing,ICIP,,CV +aistats,International Conference on Artificial Intelligence and Statistics,AISTATS,,ML +icdm,IEEE International Conference on Data Mining,ICDM,,DM +corl,Conference on Robot Learning,CoRL,,RO +akbc,Automated Knowledge Base Construction,AKBC,,NLP +icassp,"IEEE International Conference on Acoustics, Speech and Signal Processing",ICASSP,,SP +emnlp,Empirical Methods in Natural Language Processing,EMNLP,,NLP +neurips,Neural Information Processing Systems,NeurIPS,,ML +case,Conference on Automation Science and Engineering,CASE,,APL +gcpr,DAGM German Conference on Pattern Recognition,GCPR,,ML +ecml-pkdd,European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases,ECML-PKDD,,ML +ecmr,European Conference on Mobile Robots,ECMR,,RO +wsdm,ACM Conference on Web Search and Data Mining,WSDM,,DM +iccv,International Conference on Computer Vision,ICCV,,CV +iclr,International Conference on Learning Representations,ICLR,,ML +icra,IEEE International Conference on Robotics and Automation,ICRA,,RO +aamas,Autonomous Agents and Multiagent Systems,AAMAS,,ML +etfa,IEEE International Conference on Emerging Technologies and Factory Automation,ETFA,,APL +mm,ACM International Conference on Multimedia,MM,,CV +icmla,IEEE International Conference on Machine Learning and Applications,ICMLA,,APL +ias,International Conference on Intelligent Autonomous Systems,IAS,,RO +bmvc,British Machine Vision Conference,BMVC,,CV +chil,"Conference on Health, Inference, and Learning",CHIL,,ML +acl,Annual Meeting of the Association for Computational Linguistcs and International Joint Conference on Natural Language Processing,ACL,,NLP +icaps,International Conference on Automated Planning and Scheduling,ICAPS,,ML +midl,,MIDL,,CV +www,,WWW,,DM +ismir,,ISMIR,,SP +ismis,,ISMIS,,DM +3dv,,3DV,,CV +icwsm,,ICWSM,,DM +facct,,FAccT,,ML +iccc,,ICCC,,ML +accv,,ACCV,,CV +ijcai-ecai,International Joint Conference on Artificial Intelligence and European Conference on Artificial Intelligence,IJCAI-ECAI,,ML +wmt,,WMT,,NLP +coling,,COLING,,NLP +collas,,CoLLAs,,ML +ro-man,,RO-MAN,,RO +hri,,HRI,,RO +evomusart,"International Conference on Artificial Intelligence in Music, Sound, Art and Design",evoMUSART,,CG +ecml/pkdd,European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases,ECML/PKDD,,SP +l4dc,,L4DC,,ML +automl-conf,,AutoML-Conf,,ML +eccv,,ECCV,,CV +conll,,CoNLL,,NLP +colt,,COLT,,ML +siggraphasiaconf,SIGGRAPH ASIA,SIGGRAPHASIAConf,,CG +icmr,,ICMR,,CV +aacl-ijcnlp,,AACL-IJCNLP,,NLP +alt,,ALT,,ML +miccai,,MICCAI,,CV diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000000..62b4181c151 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +tqdm==4.46.* +beautifulsoup4==4.11.* +requests==2.28.* +pyaml==21.10.* +python-dateutil==2.8.* \ No newline at end of file diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/config.py b/src/config.py new file mode 100644 index 00000000000..3d939e4c571 --- /dev/null +++ b/src/config.py @@ -0,0 +1,12 @@ +from pathlib import Path + +project_root = Path(__file__).parent.parent + +csv_path_master_data = project_root / "_data/master_data.csv" +yaml_path_conferences = project_root / "_data/conferences.yml" +yaml_path_conference_new_candidates = ( + project_root / "_data/conference_new_candidates.yml" +) +yaml_path_conference_updated_candidates = ( + project_root / "_data/conference_update_candidates.yml" +) diff --git a/src/io.py b/src/io.py new file mode 100644 index 00000000000..3d3f205959c --- /dev/null +++ b/src/io.py @@ -0,0 +1,62 @@ +import csv +import datetime +from pathlib import Path +from typing import List + +import requests +import yaml + +from src.scraping.models import ConferenceDeadline +from src.scraping.utils import get_datetime + + +def load_ai_deadlines_data(): + url = "https://raw.githubusercontent.com/paperswithcode/ai-deadlines/gh-pages/_data/conferences.yml" + r = requests.get(url) + conferences = yaml.safe_load(r.content) + conferences = {conf["id"]: conf for conf in conferences} + return conferences + + +def load_csv(path, key=None): + with open(path, "r", newline="", encoding="utf-8") as file: + dict_reader = csv.DictReader(file) + data = [dict(r) for r in dict_reader] + if key: + data = {l[key]: l for l in data} + return data + + +def save_csv(path, data, key_order=None): + key_order = ( + list(set(sum([list(d.keys()) for d in data], []))) + if key_order is None + else key_order + ) # get all keys + with open(path, "w", newline="", encoding="utf-8") as file: + dict_writer = csv.DictWriter(file, key_order) + dict_writer.writeheader() + dict_writer.writerows(data) + + +def load_yaml(path, key=None): + with open(path, encoding="utf-8") as f: + data = yaml.load(f, Loader=yaml.SafeLoader) + if key: + data = {l[key]: l for l in data} + return data + + +def save_yaml(path, data): + with open(path, "w", encoding="utf-8") as file: + yaml.safe_dump(data, file, sort_keys=False) + + +def save_updated_data(conference_deadlines: List[ConferenceDeadline], path: Path): + conference_deadlines = sorted( + conference_deadlines, + key=lambda x: get_datetime(x.deadline) + if x.deadline.lower() != "tba" + else datetime.datetime(3000, 1, 1), + ) + save_yaml(path, [c.as_dict() for c in conference_deadlines]) diff --git a/src/scraping/__init__.py b/src/scraping/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/scraping/core_conference_rankings.py b/src/scraping/core_conference_rankings.py new file mode 100644 index 00000000000..aeae3c6fc0d --- /dev/null +++ b/src/scraping/core_conference_rankings.py @@ -0,0 +1,66 @@ +import urllib.request +from typing import List + +from bs4 import BeautifulSoup + +from src.scraping.models import ConferenceRanking, ConferenceDeadline +from src.scraping.matching import compute_conference_ranking_match_score + + +def extract_conference_ranking_link(row): + sub_url = row.get("onclick")[len("navigate('") : -3] + url = f"http://portal.core.edu.au{sub_url}" + return url + + +def scrape_core_ratings(query: str, year: int) -> List[ConferenceRanking]: + table_head = [ + "Title", + "Acronym", + "Source", + "Rank", + "DBLP", + "hasData?", + "Primary FoR", + "Comments", + "Average Rating", + ] + url = f"http://portal.core.edu.au/conf-ranks/?search={query}&by=all&source=CORE{year}&sort=atitle&page=1" + + try: + page = urllib.request.urlopen(url) + except Exception as e: + print(f"Error: could not open {url}: {e}") + return [] + soup = BeautifulSoup(page, "html.parser") + tables = soup.select("div#search table") + if len(tables) == 0: + return [] + table = tables[0] + tables_rows = table.find_all("tr") + del tables_rows[0] # remove headline + rankings = [] + for row in tables_rows: + row_data = row.find_all(["th", "td"]) + ranking = ConferenceRanking( + **{ + table_head[i] + .lower() + .replace(" ", "_") + .replace("?", ""): row_data[i] + .text.replace("\n", "") + .strip() + for i in range(len(table_head)) + }, + link=extract_conference_ranking_link(row), + ) + rankings.append(ranking) + return rankings + + +def get_matching_core_ranking(conference: ConferenceDeadline) -> ConferenceRanking: + conference_rankings = scrape_core_ratings(conference.title, conference.year) + for conference_ranking in conference_rankings: + score = compute_conference_ranking_match_score(conference, conference_ranking) + if score == 1: + return conference_ranking diff --git a/src/scraping/matching.py b/src/scraping/matching.py new file mode 100644 index 00000000000..2b2b4cdc1b0 --- /dev/null +++ b/src/scraping/matching.py @@ -0,0 +1,45 @@ +import difflib + +from src.scraping.models import ( + ConferenceMasterData, + ConferenceCandidateCFP, + ConferenceRanking, + ConferenceDeadline, +) + + +def clean_wikicfp_title(title: str) -> str: + wikicfp_replace_strings = ["dagm", "ieee", "--ei", "-", "scopus", "&", "acm"] + for replace_string in wikicfp_replace_strings: + title = title.replace(replace_string, "") + return title + + +def compute_conference_match_score( + conference: ConferenceMasterData, + conference_candidate: ConferenceCandidateCFP, + cutoff=0.8, +): + score = len( + difflib.get_close_matches( + clean_wikicfp_title(conference_candidate.full_name.lower()), + [conference.title.lower(), conference.full_name.lower()], + cutoff=cutoff, + ) + ) + return score + + +def compute_conference_ranking_match_score( + conference: ConferenceDeadline, conference_candidate: ConferenceRanking, cutoff=0.8, +): + score = len( + difflib.get_close_matches( + conference_candidate.title.lower(), + [conference.title.lower(), conference.full_name.lower()], + cutoff=cutoff, + ) + ) + return score + + diff --git a/src/scraping/models.py b/src/scraping/models.py new file mode 100644 index 00000000000..2ba728d9dfc --- /dev/null +++ b/src/scraping/models.py @@ -0,0 +1,131 @@ +from dataclasses import dataclass +from datetime import datetime, date +from typing import Dict + +from src.scraping.utils import datetime_to_string, datetime_format, date_format + + +def attributes_as_dict(instance): + res = {} + for key, val in instance.__dict__.items(): + if key in ["__len__"]: + continue + if val not in ["", None]: + if key in ["deadline", "abstract_deadline"]: + res[key] = datetime_to_string(val, date_format) + " 23:59" + elif key in ["start", "end"]: + res[key] = datetime_to_string(val, date_format) + else: + res[key] = val + return res + + +@dataclass +class ConferenceMasterData: + title: str = "" + full_name: str = "" + wikicfp_query: str = "" + wikicfp_link: str = "" + ranking: str = "" + sub: str = "" + hindex: str = "" + + def as_dict(self) -> Dict: + return attributes_as_dict(self) + + +@dataclass +class ConferenceCandidateCFP: + title: str = "" + wikicfp_link: str = "" + full_name: str = "" + year: int = None + + def as_dict(self) -> Dict: + return attributes_as_dict(self) + + +@dataclass +class ConferenceRanking: + title: str # full_name in other classes + acronym: str # title in other classes + source: str + rank: str + dblp: str + hasdata: str + primary_for: str + comments: str + average_rating: str + link: str + + def as_dict(self) -> Dict: + return attributes_as_dict(self) + + +@dataclass +class ConferenceDeadline: + title: str = "" + year: int = None + id: str = "" + full_name: str = "" + link: str = "" + deadline: datetime = None + abstract_deadline: datetime = None + timezone: str = "" + place: str = "" + date: str = "" + start: datetime = None + end: datetime = None + paperslink: str = "" + pwclink: str = "" + hindex: int = None + sub: str = "" + ranking: str = "" + ranking_link: str = "" + note: str = "" + wikicfp: str = "" + wikicfp_comment: str = "" + + def __post_init__(self): + # Convert date strings into datetime objects + for key in ["deadline", "abstract_deadline", "start", "end"]: + val = self.__dict__[key] + if ( + val is not None + and not isinstance(val, datetime) + and not isinstance(val, date) + ): + for dt_format in [ + date_format, + datetime_format, + datetime_format + ":%S", + ]: + try: + d = datetime.strptime(val, dt_format) + break + except: + d = None + pass + self.__dict__[key] = d + return self + + def as_dict(self) -> Dict: + return attributes_as_dict(self) + + def update_from_candidate(self, new_conference: "ConferenceDeadline"): + updated = False + for key in new_conference.as_dict().keys(): + val = new_conference.__dict__[key] + if key in self.as_dict().keys(): + if val != self.__dict__[key]: + updated = True + if isinstance(val, str): + self.__dict__[key] = f"{val} (NEW)" + else: + self.__dict__[key] = val + else: + if isinstance(val, str): + self.__dict__[key] = f"{val} (NEW)" + else: + self.__dict__[key] = val + return updated diff --git a/src/scraping/utils.py b/src/scraping/utils.py new file mode 100644 index 00000000000..7244f02429a --- /dev/null +++ b/src/scraping/utils.py @@ -0,0 +1,40 @@ +import datetime + +import dateutil.parser + +format_wikicpf = "%b %d, %Y" +format_conf_date = "%B %d, %Y" +datetime_format = "%Y-%m-%d %H:%M" # output format +date_format = "%Y-%m-%d" # output format + + +def get_datetime(datetime_string: str): + date = None + for format in ["%y/%d/%m %h:%m", "%m/%d/%Y %H:%M", "%m/%d/%Y"]: + try: + date = datetime.datetime.strptime(datetime_string.strip(), format) + break + except Exception as e: + # print(f"{e} [for {format}]") + pass + if date is None: + try: + date = dateutil.parser.parse(datetime_string) + except Exception as e: + pass + return date + + +def datetime_to_string(dt, format): + return dt.strftime(format).lstrip("0").replace(" 0", " ").replace("/0", "/") + + +def get_date_format_from_start_and_end( + start: datetime.datetime, end: datetime.datetime +): + date = ( + f"{datetime_to_string(start, '%B %d')} - {datetime_to_string(end, '%d, %Y')}" + if start.month == end.month + else f"{datetime_to_string(start, '%B %d')} - {datetime_to_string(end, '%B %d, %Y')}" + ) + return date diff --git a/src/scraping/wikicfp_deadlines.py b/src/scraping/wikicfp_deadlines.py new file mode 100644 index 00000000000..143f972fab4 --- /dev/null +++ b/src/scraping/wikicfp_deadlines.py @@ -0,0 +1,256 @@ +import datetime +import time +import urllib.request +from pathlib import Path +from typing import List, Dict + +import tqdm +from bs4 import BeautifulSoup + +from src.config import ( + yaml_path_conferences, + csv_path_master_data, + yaml_path_conference_new_candidates, + yaml_path_conference_updated_candidates, +) +from src.io import load_yaml, load_csv, save_yaml +from src.scraping.core_conference_rankings import get_matching_core_ranking +from src.scraping.models import ( + ConferenceMasterData, + ConferenceCandidateCFP, + ConferenceDeadline, +) +from src.scraping.matching import compute_conference_match_score +from src.scraping.utils import ( + format_conf_date, + get_datetime, + datetime_to_string, + get_date_format_from_start_and_end, +) + +project_root = Path(__file__).parent.parent + + +def scrape_update_suggestions_from_wikicfp(): + conference_deadlines = [ + ConferenceDeadline(**data) for data in load_yaml(yaml_path_conferences) + ] + conference_masterdatas = [ + ConferenceMasterData(**conf_dict) + for conf_dict in load_csv(csv_path_master_data) + ] + new_conference_deadlines = scrape_new_conference_deadlines_for_master_data( + conference_masterdatas + ) + ( + new_conference_deadlines, + updated_conference_deadlines, + ) = update_conference_deadlines(conference_deadlines, new_conference_deadlines) + + save_yaml( + yaml_path_conference_new_candidates, + [c.as_dict() for c in new_conference_deadlines], + ) + save_yaml( + yaml_path_conference_updated_candidates, + [c.as_dict() for c in updated_conference_deadlines], + ) + return new_conference_deadlines + + +def scrape_new_conference_deadlines_for_master_data( + conferences: List[ConferenceMasterData], +) -> List[ConferenceDeadline]: + new_conference_deadlines = [] + for conference in tqdm.tqdm(conferences): + new_conference_deadline = scrape_new_conference_deadline(conference) + if new_conference_deadline is not None: + conference_ranking = get_matching_core_ranking(new_conference_deadline) + if conference_ranking is not None: + new_conference_deadline.ranking = conference_ranking.rank + new_conference_deadline.ranking_link = conference_ranking.link + new_conference_deadlines.append(new_conference_deadline) + return new_conference_deadlines + + +def scrape_new_conference_deadline( + conference: ConferenceMasterData, +) -> ConferenceDeadline: + """ + Note: Wee add sleep of 5 seconds, since that is the maximum, see http://wikicfp.com/cfp/data.jsp + """ + conference_candidates = scrape_conference_candidates_from_wikicpf(conference) + best_conference_candidates = find_conference_from_candidates( + conference, conference_candidates + ) + for conference_data in best_conference_candidates: + time.sleep(5) + conference_details = extract_data_from_website(conference_data.wikicfp_link) + conference_deadline = convert_wikicfp2deadline( + {**conference_details, **conference_data.__dict__}, conference + ) + return conference_deadline # currently only use best one + time.sleep(5) + + +def update_conference_deadlines( + conference_deadlines: List[ConferenceDeadline], + new_conference_deadline_candidates: List[ConferenceDeadline], +): + updated_conference_deadlines = [] + new_conference_deadlines = [] + existing_conference_ids = [c.id for c in conference_deadlines] + for new_conference in new_conference_deadline_candidates: + if new_conference.id in existing_conference_ids: + existing_entry = [ + c for c in conference_deadlines if c.id == new_conference.id + ][0] + updated = existing_entry.update_from_candidate(new_conference) + if updated: + updated_conference_deadlines.append(existing_entry) + else: + new_conference_deadlines.append(new_conference) + return new_conference_deadlines, updated_conference_deadlines + + +def scrape_conference_candidates_from_wikicpf( + conference: ConferenceMasterData, +) -> List[ConferenceCandidateCFP]: + if conference.wikicfp_link is None or conference.wikicfp_link == "": + url = f"http://wikicfp.com/cfp/servlet/tool.search?q={conference.wikicfp_query}&year=f" + table_id = 1 + else: + url = conference.wikicfp_link + table_id = 3 + + try: + page = urllib.request.urlopen(url) + except Exception as e: + print(f"Error: could not open {url}: {e}") + return [] + soup = BeautifulSoup(page, "html.parser") + table = soup.select("div.contsec table")[table_id] + tables_rows = table.find_all("tr") + if len(tables_rows) == 0: + return [] + headline = tables_rows.pop(0) + content_rows = [ + [tables_rows[i], tables_rows[i + 1]] for i in range(0, len(tables_rows), 2) + ] + conference_candidates = [] + for i, row in enumerate(content_rows): + row_data = [subrow.find_all(["th", "td"]) for subrow in row] + row_data = sum(row_data, []) + try: + year = int(row_data[0].text.split(" ")[-1]) + # year = get_datetime(row_data[2].text.split("-")[0].strip()).year + conf_data = { + "title": row_data[0].text, + "wikicfp_link": f"http://wikicfp.com{row_data[0].find_all('a')[0]['href']}", + "full_name": row_data[1].text, + "year": year, + # 'date': row_data[2].text, + # 'location': row_data[3].text, + # 'deadline': row_data[4].text, + } + conference_candidates.append(ConferenceCandidateCFP(**conf_data)) + except Exception as e: + print(f"Error with {[r.text for r in row_data]}: {e}") + return conference_candidates + + +def find_conference_from_candidates( + conference: ConferenceMasterData, + conference_candidates: List[ConferenceCandidateCFP], +) -> List[ConferenceCandidateCFP]: + current_year = datetime.datetime.now().year + + # Only conferences next year + best_candidates = [ + c + for c in conference_candidates + if c.year - current_year in [-1, 0, 1] + and compute_conference_match_score(conference, c) > 0.8 + ] + if len(best_candidates) == 0: + print( + f"WARNING: no candidates found for {conference.title} ({conference.full_name}); \n" + f"Candidates: {conference_candidates}" + ) + return best_candidates + + +def extract_data_from_website(url) -> Dict: + def get_data(keyword: str, resources): + candidates = [ + r for r in resources if r[0].text.strip().lower() == keyword.lower() + ] + if len(candidates) == 1: + return candidates[0][1].text + + page = urllib.request.urlopen(url) + soup = BeautifulSoup(page, "html.parser") + + # Extract Conference Info + table = soup.select("div.contsec table.gglu")[0] + tables_rows = table.find_all("tr") + row_data = [row.find_all(["th", "td"]) for row in tables_rows] + conf_data = { + "date": get_data("when", row_data), + "location": get_data("where", row_data), + "deadline_abstract": get_data("abstract registration due", row_data), + "deadline_submission": get_data("submission deadline", row_data), + "notification_date": get_data("notification due", row_data), + "final_version": get_data("final version due", row_data), + "wikicfp": url, + } + + # Extract Conference Link + link_table = soup.select("div.contsec")[0] + link_candidates = [f.text for f in link_table.find_all("td") if "Link:" in f.text] + if len(link_candidates) == 1: + link = link_candidates[0].replace("Link:", "") + conf_data["link"] = link + + conf_data = { + key: val.replace("\n", "").replace("\t", "").strip() + for key, val in conf_data.items() + if val + } + return conf_data + + +def convert_wikicfp2deadline( + conference_data, conference: ConferenceMasterData +) -> ConferenceDeadline: + start, end = [get_datetime(d) for d in conference_data["date"].split("-")] + abstract_deadline = ( + get_datetime(conference_data["deadline_abstract"]) + if "deadline_abstract" in conference_data.keys() + and conference_data["deadline_abstract"] is not None + else "" + ) + data = { + "title": conference.title.upper(), + "full_name": conference_data["full_name"], + "hindex": conference.hindex, + "ranking": conference.ranking, + "year": int(conference_data["year"]), + "id": f"{conference.title}{str(conference_data['year'])[2:]}", + "link": conference_data["link"] if "link" in conference_data.keys() else None, + "deadline": get_datetime(conference_data["deadline_submission"]), + "abstract_deadline": abstract_deadline, + "timezone": "", + "start": start, + "end": end, + "date": get_date_format_from_start_and_end(start, end), + "place": conference_data["location"] + if "location" in conference_data.keys() + else None, + "sub": conference.sub, + "note": f"Abstract deadline: {datetime_to_string(get_datetime(conference_data['deadline_abstract']), format_conf_date)}" + if abstract_deadline != "" + else "", + "wikicfp": conference_data["wikicfp"], + } + return ConferenceDeadline(**data) diff --git a/src/tools/__init__.py b/src/tools/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/tools/merge_with_aideadlines.py b/src/tools/merge_with_aideadlines.py new file mode 100644 index 00000000000..072def4de4a --- /dev/null +++ b/src/tools/merge_with_aideadlines.py @@ -0,0 +1,51 @@ +import dateutil.parser + +from src.config import csv_path_master_data, yaml_path_conferences +from src.io import load_ai_deadlines_data, load_csv, load_yaml, save_yaml +from src.scraping.utils import get_date_format_from_start_and_end + +time_format = '%Y/%m/%d %H:%M' + + +def update_data_with_ai_deadlines_data(): + ai_deadlines = load_ai_deadlines_data() + deadlines_info = load_yaml(yaml_path_conferences, key="id") + for conf_id, conf_data in ai_deadlines.items(): + if conf_id.lower() not in list(set([c['id'].lower() for c in deadlines_info.values()])): # conf does not exist + master_data = {c['title'].lower(): c for c in load_csv(csv_path_master_data)} + master_data_match = master_data.get(conf_data['title'].lower(), None) + if master_data_match: + conf_data['full_name'] = master_data_match['full_name'] + deadlines_info[conf_id] = conf_data + else: # conf exists -> overwrite data if mismatch + conf_match = deadlines_info.get(conf_id) + for key, val in conf_data.items(): + match_key = key if key != "long" else "full_name" # necessary due to renaming of key + if conf_data[key] != conf_match.get(match_key, None): # use ai-deadlines data if mismatch + conf_match[match_key] = val + + # Adjust data + for conf_id, conf_data in deadlines_info.items(): + for key, val in conf_data.items(): + if key == "note": + conf_data[key] = val.replace("NOTE: ", "") + if key == "date": + if conf_data.get("start", None) is not None and conf_data.get("end", None) is not None: + start = dateutil.parser.parse(conf_data["start"]) + end = dateutil.parser.parse(conf_data["end"]) + conf_data[key] = get_date_format_from_start_and_end(start, end) + if "deadline" in key: + if conf_data["deadline"].lower() == "tba": + continue + date = dateutil.parser.parse(val) + conf_data[key] = date.strftime(time_format) + # try: + # conf_data[key] = datetime.datetime.strptime(val, '%Y-%m-%d %H:%M:%S').strftime(time_format) + # except: + # conf_data[key] = datetime.datetime.strptime(val, format_datetime).strftime(time_format) + # pass # format correct + save_yaml(yaml_path_conferences, list(deadlines_info.values())) + + +if __name__ == '__main__': + update_data_with_ai_deadlines_data() diff --git a/src/tools/scrape_new_deadlines.py b/src/tools/scrape_new_deadlines.py new file mode 100644 index 00000000000..4053d7e50b7 --- /dev/null +++ b/src/tools/scrape_new_deadlines.py @@ -0,0 +1,4 @@ +from src.scraping.wikicfp_deadlines import scrape_update_suggestions_from_wikicfp + +if __name__ == "__main__": + scrape_update_suggestions_from_wikicfp() diff --git a/src/tools/sort_data.py b/src/tools/sort_data.py new file mode 100644 index 00000000000..9998fd4e112 --- /dev/null +++ b/src/tools/sort_data.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +# coding: utf-8 + +# Sort and Clean conference data. +# It writes to `sorted_data.yml` and `cleaned_data.yml`, copy those to the conference.yml after screening. + +import datetime +from collections import OrderedDict +from pathlib import Path + +import pytz +import yaml +from yaml import CLoader as Loader, CDumper as Dumper +from yaml.representer import SafeRepresenter + +from src.config import ( + yaml_path_conference_new_candidates, + yaml_path_conference_updated_candidates, + yaml_path_conferences, +) +from src.scraping.utils import datetime_format, date_format + +_mapping_tag = yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG + + +def dict_representer(dumper, data): + return dumper.represent_dict(data.iteritems()) + + +def dict_constructor(loader, node): + return OrderedDict(loader.construct_pairs(node)) + + +Dumper.add_representer(OrderedDict, dict_representer) +Loader.add_constructor(_mapping_tag, dict_constructor) + +Dumper.add_representer(str, SafeRepresenter.represent_str) + + +def ordered_dump(data, stream=None, Dumper=yaml.Dumper, **kwds): + class OrderedDumper(Dumper): + pass + + def _dict_representer(dumper, data): + return dumper.represent_mapping( + yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, data.items() + ) + + OrderedDumper.add_representer(OrderedDict, _dict_representer) + return yaml.dump(data, stream, OrderedDumper, **kwds) + + +default_timezone = "UTC" +tba_words = ["tba", "tbd"] + + +def sort_data(yaml_path: Path, overwrite): + with open(yaml_path.as_posix(), "r") as stream: + try: + data = yaml.load(stream, Loader=Loader) + conf = [x for x in data if x["deadline"].lower() not in tba_words] + tba = [x for x in data if x["deadline"].lower() in tba_words] + + def datesort(conf): + deadline_str = conf.get("deadline", "") + for format in [date_format, datetime_format + ":%S"]: + try: + deadline = datetime.datetime.strptime(deadline_str, format) + break + except ValueError: + pass + deadline = datetime.datetime.utcnow() + timezone = ( + conf.get("timezone", default_timezone) + .replace("PDT", "UTC-7") + .replace("UTC+", "Etc/GMT-") + .replace("UTC-", "Etc/GMT+") + ) + return pytz.utc.normalize( + deadline.replace(tzinfo=pytz.timezone(timezone)) + ) + + conf.sort(key=datesort, reverse=True) + conf = tba + conf + + output_yaml = ( + yaml_path + if overwrite + else yaml_path.parent / f"{yaml_path.stem}_sorted{yaml_path.suffix}" + ) + with open(output_yaml.as_posix(), "w") as outfile: + for line in ordered_dump( + conf + tba, + Dumper=yaml.SafeDumper, + default_flow_style=False, + explicit_start=True, + ).splitlines(): + outfile.write(line.replace("- title:", "\n- title:")) + outfile.write("\n") + except yaml.YAMLError as exc: + print(exc) + + +if __name__ == "__main__": + sort_data(yaml_path_conferences, overwrite=True) diff --git a/src/tools/update_masterdata.py b/src/tools/update_masterdata.py new file mode 100644 index 00000000000..4a0bafae4bf --- /dev/null +++ b/src/tools/update_masterdata.py @@ -0,0 +1,34 @@ +from src.config import csv_path_master_data, yaml_path_conferences +from src.io import load_csv, save_csv, load_yaml + + +def update_master_data_from_conferences(): + conferences_data = load_yaml(yaml_path_conferences) + master_data = load_csv(csv_path_master_data) + + titles = set([r["title"] for r in conferences_data]) + master_data_conference_titles = list(set([c["title"].lower() for c in master_data])) + for title in titles: + # find matching title + confs = [r for r in conferences_data if r["title"] == title] + # use newest conf entry for update + conf = sorted(confs, key=lambda x: int(x["year"]), reverse=True)[0] + if conf["title"].lower() not in master_data_conference_titles: + master_data.append( + { + "title": conf.get("title", "").lower(), + "full_name": conf.get("full_name", ""), + "wikicfp_query": conf.get("title", ""), + "wikicfp_link": "", + "sub": conf.get("sub", ""), + } + ) + save_csv( + csv_path_master_data, + master_data, + key_order=["title", "full_name", "wikicfp_query", "wikicfp_link", "sub"], + ) + + +if __name__ == "__main__": + update_master_data_from_conferences() diff --git a/src/tools/yaml2csv.py b/src/tools/yaml2csv.py new file mode 100644 index 00000000000..11b9cd2f63d --- /dev/null +++ b/src/tools/yaml2csv.py @@ -0,0 +1,56 @@ +import pandas as pd +import yaml + +from src.io import load_yaml, save_csv + + +def convert_yaml_to_csv(yaml_path, csv_path): + data = load_yaml(yaml_path) + save_csv(csv_path, data) + + +def convert_csv_to_yaml(csv_path, yaml_path): + data = pd.read_csv(csv_path, encoding="utf-8").fillna("") + column_order = [ + "title", + "year", + "id", + "name", + "link", + "deadline", + "abstract_deadline", + "timezone", + "place", + "date", + "start", + "end", + "paperslink", + "pwclink", + "hindex", + "sub", + "ranking", + "note", + "wikicfp", + ] + data = data[ + [name for name in column_order if name in data.columns] + ] # sort by specified order + data = data.rename(columns={"name": "full_name"}) # renamings + data = data.to_dict("records") # to list of dicts + for conf in data: + del_keys = [] + for key, val in conf.items(): + if val == "": + del_keys.append(key) + if isinstance(val, float): + conf[key] = int(val) + for key in del_keys: + del conf[key] + + with open(yaml_path, "w") as output_file: + yaml.safe_dump(data, output_file, sort_keys=False) + + +if __name__ == "__main__": + convert_yaml_to_csv("../../_data/conferences.yml", "../../_data/conferences.csv") + # convert_csv_to_yaml("../../_data/conferences.csv", "../../_data/conferences.yml") diff --git a/utils/process.py b/utils/process.py deleted file mode 100644 index 685a0ab408e..00000000000 --- a/utils/process.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/env python3 -# coding: utf-8 - -# Sort and Clean conference data. -# It writes to `sorted_data.yml` and `cleaned_data.yml`, copy those to the conference.yml after screening. - -import yaml -import datetime -import sys -from shutil import copyfile -from builtins import input -import pytz - -import pdb - -try: - # for python newer than 2.7 - from collections import OrderedDict -except ImportError: - # use backport from pypi - from ordereddict import OrderedDict - -try: - from yaml import CLoader as Loader, CDumper as Dumper -except ImportError: - from yaml import Loader, Dumper -from yaml.representer import SafeRepresenter -_mapping_tag = yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG - - -def dict_representer(dumper, data): - return dumper.represent_dict(data.iteritems()) - - -def dict_constructor(loader, node): - return OrderedDict(loader.construct_pairs(node)) - - -Dumper.add_representer(OrderedDict, dict_representer) -Loader.add_constructor(_mapping_tag, dict_constructor) - -Dumper.add_representer(str, SafeRepresenter.represent_str) - - -def ordered_dump(data, stream=None, Dumper=yaml.Dumper, **kwds): - class OrderedDumper(Dumper): - pass - - def _dict_representer(dumper, data): - return dumper.represent_mapping( - yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, data.items()) - - OrderedDumper.add_representer(OrderedDict, _dict_representer) - return yaml.dump(data, stream, OrderedDumper, **kwds) - - -dateformat = '%Y-%m-%d %H:%M:%S' -tba_words = ["tba", "tbd"] - -right_now = datetime.datetime.utcnow().replace( - microsecond=0).strftime(dateformat) - - -# Helper function for yes no questions -def query_yes_no(question, default="no"): - """Ask a yes/no question via input() and return their answer. - - "question" is a string that is presented to the user. - "default" is the presumed answer if the user just hits . - It must be "yes" (the default), "no" or None (meaning - an answer is required of the user). - - The "answer" return value is True for "yes" or False for "no". - """ - valid = {"yes": True, "y": True, "ye": True, "no": False, "n": False} - if default is None: - prompt = " [y/n] " - elif default == "yes": - prompt = " [Y/n] " - elif default == "no": - prompt = " [y/N] " - else: - raise ValueError("invalid default answer: '%s'" % default) - - while True: - sys.stdout.write(question + prompt) - choice = input().lower() - if default is not None and choice == '': - return valid[default] - elif choice in valid: - return valid[choice] - else: - sys.stdout.write("Please respond with 'yes' or 'no' " - "(or 'y' or 'n').\n") - - -# Sort: - -with open("../_data/conferences.yml", 'r') as stream: - try: - data = yaml.load(stream, Loader=Loader) - print("Initial Sorting:") - for q in data: - print(q["deadline"], " - ", q["title"]) - print("\n\n") - conf = [x for x in data if x['deadline'].lower() not in tba_words] - tba = [x for x in data if x['deadline'].lower() in tba_words] - - # just sort: - conf.sort(key=lambda x: pytz.utc.normalize(datetime.datetime.strptime(x['deadline'], dateformat).replace(tzinfo=pytz.timezone(x['timezone'].replace('UTC+', 'Etc/GMT-').replace('UTC-', 'Etc/GMT+'))))) - print("Date Sorting:") - for q in conf + tba: - print(q["deadline"], " - ", q["title"]) - print("\n\n") - conf.sort(key=lambda x: pytz.utc.normalize(datetime.datetime.strptime(x['deadline'], dateformat).replace(tzinfo=pytz.timezone(x['timezone'].replace('UTC+', 'Etc/GMT-').replace('UTC-', 'Etc/GMT+')))).strftime(dateformat) < right_now) - print("Date and Passed Deadline Sorting with tba:") - for q in conf + tba: - print(q["deadline"], " - ", q["title"]) - print("\n\n") - - with open('sorted_data.yml', 'w') as outfile: - for line in ordered_dump( - conf + tba, - Dumper=yaml.SafeDumper, - default_flow_style=False, - explicit_start=True).splitlines(): - outfile.write(line.replace('- title:', '\n- title:')) - outfile.write('\n') - except yaml.YAMLError as exc: - print(exc) From 2a3de72e5e424c1c9af850ae7e5da64b8cd4dde5 Mon Sep 17 00:00:00 2001 From: Alex Naumann Date: Mon, 8 Aug 2022 22:00:56 +0200 Subject: [PATCH 2/4] refactor: sort conference list --- _data/conferences.yml | 1952 +++++++++++++++++++++-------------------- 1 file changed, 979 insertions(+), 973 deletions(-) diff --git a/_data/conferences.yml b/_data/conferences.yml index 34963b96905..cd9a7633550 100644 --- a/_data/conferences.yml +++ b/_data/conferences.yml @@ -1,5 +1,45 @@ --- +- title: ICCV + year: 2023 + id: iccv2023 + link: http://iccv2023.thecvf.com/ + deadline: '2023-03-08 23:59:00' + timezone: UTC + place: Paris, France + date: September 30th - October 6, 2023 + start: 2023-09-30 + end: 2023-10-06 + hindex: 239 + sub: CV + note: Supplementary deadline on Mar 15, 2023. More info here. + +- title: CVPR + year: 2023 + id: cvpr23 + link: http://cvpr2023.thecvf.com/ + deadline: '2022-11-22 23:59:59' + timezone: America/Los_Angeles + place: Vancouver, Canada + date: June 17-23, 2023 + start: 2022-06-17 + end: 2022-06-23 + hindex: 389 + sub: CV + +- title: ICASSP + year: 2023 + id: icassp23 + link: https://2023.ieeeicassp.org/ + deadline: '2022-10-19 23:59:59' + timezone: UTC-12 + place: Rhodes Island, Greece + date: June 4-9, 2023 + start: 2023-06-04 + end: 2023-06-09 + hindex: 110 + sub: SP + - title: ICLR year: 2023 id: iclr23 @@ -15,18 +55,18 @@ sub: ML note: Mandatory abstract deadline on September 11, 2022. More info here. -- title: ACML - year: 2022 - id: acml22 - link: https://www.acml-conf.org/2022 - deadline: '2022-06-23 23:59:00' - timezone: UTC-12 - place: Hyderabad, India - date: December 12-14, 2022 - start: 2022-12-12 - end: 2022-12-14 - hindex: 20 - sub: ML +- title: ICRA + year: 2023 + id: icra23 + link: https://www.icra2023.org/ + deadline: '2022-09-15 23:59:59' + timezone: America/Los_Angeles + place: ExCeL London, UK + date: May 29- June 2, 2023 + start: 2023-05-29 + end: 2023-06-02 + hindex: 94 + sub: RO - title: AAAI year: 2023 @@ -43,20 +83,89 @@ hindex: 95 sub: ML -- title: ICDM - year: 2022 - id: icdm22 - full_name: IEEE International Conference on Data Mining (ICDM) - link: https://icdm22.cse.usf.edu/ - deadline: '2022-06-10 23:59:00' - timezone: PDT - place: Orlando, Florida, USA - date: November 30 - December 3, 2022 - start: 2022-11-30 - end: 2022-12-03 - hindex: 124.0 +- title: WSDM + year: 2023 + id: wsdm23 + link: https://www.wsdm-conference.org/2023/ + deadline: '2022-08-12 23:59:00' + timezone: UTC-12 + place: Singapore + date: Feb 27- March 03, 2023 + start: 2023-02-27 + end: 2023-03-03 + hindex: 54 sub: DM - note: Paper submissions limited to ten (10) pages, in the IEEE 2-column format | Key Dates | Call for Papers + +- title: SIGGRAPHASIAConf + year: 2022 + id: siggraphasia22 + full_name: SIGGRAPH ASIA 2022 + link: https://sa2022.siggraph.org/ + deadline: 2022-05-20 23:59 + abstract_deadline: 2022-05-19 23:59 + timezone: UTC-12 + place: Daegu, South Korea + date: December, 6-9, 2022 + sub: CG + note: null + +- title: evoMUSART + year: 2023 + id: evomusart23 + full_name: 12th International Conference on Artificial Intelligence in Music, Sound, + Art and Design + link: https://www.evostar.org/2023/evomusart/ + deadline: 2022-11-01 23:59 + abstract_deadline: 2022-11-01 23:59 + timezone: UTC-12 + place: Brno, Czech Republic + date: April, 12-14, 2023 + start: 2023-04-12 + end: 2023-04-14 + paperslink: https://evomusart-index.dei.uc.pt/ + hindex: 12 + sub: CG + note: part of evostar 2023 + +- title: BMVC + year: 2022 + id: bmvc22 + link: https://www.bmvc2022.org + deadline: '2022-07-29 23:59:59' + timezone: UTC + place: London + date: November 21-24, 2022 + start: 2022-11-21 + end: 2022-11-24 + hindex: 75 + sub: CV + +- title: AACL-IJCNLP + year: 2022 + id: aacl22 + link: https://www.aacl2022.org/ + deadline: '2022-07-15 23:59:00' + timezone: UTC-12 + place: Taipei, Taiwan + date: November 21-24, 2022 + start: 2022-11-21 + end: 2022-11-24 + hindex: -1 + sub: NLP + +- title: WACV + year: 2023 + id: wacv23 + link: http://wacv2023.thecvf.com/ + deadline: '2022-07-13 11:59:59' + timezone: America/Los_Angeles + place: Waikoloa, Hawaii, USA + date: January 3-7, 2023 + start: 2023-01-03 + end: 2023-01-07 + hindex: 54 + sub: CV + note: Second round submission deadline on Aug. 29th 2022 - title: EMNLP year: 2022 @@ -73,45 +182,74 @@ sub: NLP note: Hybrid format with ARR and START. More info here. -- title: WSDM - year: 2023 - id: wsdm23 - link: https://www.wsdm-conference.org/2023/ - deadline: '2022-08-12 23:59:00' +- title: ACML + year: 2022 + id: acml22 + link: https://www.acml-conf.org/2022 + deadline: '2022-06-23 23:59:00' timezone: UTC-12 - place: Singapore - date: Feb 27- March 03, 2023 - start: 2023-02-27 - end: 2023-03-03 - hindex: 54 + place: Hyderabad, India + date: December 12-14, 2022 + start: 2022-12-12 + end: 2022-12-14 + hindex: 20 + sub: ML + +- title: ISMIS + hindex: 9 + year: 2022 + id: ismis22 + link: https://ismis2022.icar.cnr.it/ + deadline: '2022-06-16 23:59:59' + timezone: UTC-12 + date: October, 03-05, 2022 + place: Cosenza, Italy sub: DM -- title: MM + note: 'NOTE: Industry Session Deadline: 16 June 2022' + +- title: CoRL year: 2022 - id: mm22 - link: https://2022.acmmm.org/ - deadline: '2022-04-11 23:59:59' - abstract_deadline: '2022-03-31 23:59:59' + id: corl22 + link: https://corl2022.org + deadline: '2022-06-15 23:59:00' timezone: UTC-12 - place: Lisbon, Portugal - date: October 10-14, 2022 - start: 2022-10-10 - end: 2022-10-14 - hindex: 58 - sub: CV - note: Mandatory abstract deadline on March 31, 2022. More info here. + place: Auckland, New Zealand, and virtual + date: December 14-18, 2022 + start: 2022-12-14 + end: 2022-12-18 + sub: RO -- title: ICMI +- title: ICDM year: 2022 - id: icmi2022 - link: https://icmi.acm.org/2022/ - deadline: '2022-05-13 23:59:00' - timezone: UTC-7 - place: Bangalore, India - date: November 7-11, 2022 - start: 2022-11-07 - end: 2022-11-11 - hindex: 34 - sub: CV + id: icdm22 + full_name: IEEE International Conference on Data Mining (ICDM) + link: https://icdm22.cse.usf.edu/ + deadline: '2022-06-10 23:59:00' + timezone: PDT + place: Orlando, Florida, USA + date: November 30 - December 3, 2022 + start: 2022-11-30 + end: 2022-12-03 + hindex: 124.0 + sub: DM + note: Paper submissions limited to ten (10) pages, in the IEEE 2-column format | + Key Dates | Call + for Papers + +- title: ISMIR + year: 2022 + id: ismir22 + link: https://ismir2022.ismir.net/ + deadline: '2022-05-20 23:59:59' + abstract_deadline: '2022-5-13 23:59:59' + timezone: UTC-12 + place: Bangaluru, India + date: December 4-8, 2022 + start: 2022-12-04 + end: 2022-12-08 + hindex: 32 + sub: SP + note: Mandatory abstract deadline on May 13, 2022. More info here. - title: CIKM year: 2022 @@ -128,19 +266,6 @@ sub: DM note: Mandatory abstract deadline on May 12, 2022 -- title: COLING - year: 2022 - id: coling22 - link: https://coling2022.org/ - deadline: '2022-05-17 23:59:59' - timezone: UTC-12 - place: Gyeongju, Republic of Korea - date: October 12-17, 2022 - start: 2022-10-12 - end: 2022-10-17 - hindex: 64 - sub: NLP - - title: NeurIPS year: 2022 id: neurips22 @@ -156,406 +281,559 @@ sub: ML note: Mandatory abstract deadline on May 16, 2022 -- title: ISMIR +- title: COLING year: 2022 - id: ismir22 - link: https://ismir2022.ismir.net/ - deadline: '2022-05-20 23:59:59' - abstract_deadline: '2022-5-13 23:59:59' + id: coling22 + link: https://coling2022.org/ + deadline: '2022-05-17 23:59:59' timezone: UTC-12 - place: Bangaluru, India - date: December 4-8, 2022 - start: 2022-12-04 - end: 2022-12-08 - hindex: 32 - sub: SP - note: Mandatory abstract deadline on May 13, 2022. More info here. + place: Gyeongju, Republic of Korea + date: October 12-17, 2022 + start: 2022-10-12 + end: 2022-10-17 + hindex: 64 + sub: NLP -- title: AACL-IJCNLP +- title: ICMI year: 2022 - id: aacl22 - link: https://www.aacl2022.org/ - deadline: '2022-07-15 23:59:00' + id: icmi2022 + link: https://icmi.acm.org/2022/ + deadline: '2022-05-13 23:59:00' + timezone: UTC-7 + place: Bangalore, India + date: November 7-11, 2022 + start: 2022-11-07 + end: 2022-11-11 + hindex: 34 + sub: CV + +- title: RecSys + hindex: 45 + year: 2022 + id: recsys22 + link: https://recsys.acm.org/recsys22/ + deadline: '2022-05-03 23:59:59' + abstract_deadline: '2022-04-26 23:59:59' timezone: UTC-12 - place: Taipei, Taiwan - date: November 21-24, 2022 - start: 2022-11-21 - end: 2022-11-24 - hindex: -1 - sub: NLP + date: September 18 - September 23, 2022 + place: Seattle, Washington, USA + sub: DM + note: 'NOTE: Mandatory abstract deadline on April 26, 2022. More info here.' -- title: CoRL +- title: MM year: 2022 - id: corl22 - link: https://corl2022.org - deadline: '2022-06-15 23:59:00' + id: mm22 + link: https://2022.acmmm.org/ + deadline: '2022-04-11 23:59:59' + abstract_deadline: '2022-03-31 23:59:59' timezone: UTC-12 - place: Auckland, New Zealand, and virtual - date: December 14-18, 2022 - start: 2022-12-14 - end: 2022-12-18 + place: Lisbon, Portugal + date: October 10-14, 2022 + start: 2022-10-10 + end: 2022-10-14 + hindex: 58 + sub: CV + note: Mandatory abstract deadline on March 31, 2022. More info here. + +- title: ECML/PKDD + year: 2022 + id: ecmlpkdd22 + full_name: European Conference on Machine Learning and Principles and Practice of + Knowledge Discovery in Databases + link: https://2022.ecmlpkdd.org/ + deadline: '2022-04-06 23:59:59' + abstract_deadline: '2022-03-30 23:59:59' + timezone: UTC-12 + place: Grenoble, France + date: September, 19-23, 2022 + start: 2022-09-19 + end: 2022-09-23 + sub: SP + note: Check the conference website for workshop and demo deadlines + +- title: InterSpeech + year: 2022 + id: interspeech22 + link: http://www.interspeech2022.org/ + deadline: '2022-03-21 23:59:59' + timezone: Asia/Seoul + place: Incheon, South Korea + date: September, 18-22, 2022 + start: 2022-09-18 + end: 2022-09-22 + hindex: 100 + sub: SP + +- title: RO-MAN + year: 2022 + id: ro-man22 + link: http://www.ro-man2022.org/ + deadline: '2022-03-15 23:59:59' + timezone: UTC+1 + place: Naples, Italy + date: August 29 - September 2, 2022 + start: 2022-08-29 + end: 2022-09-02 + hindex: 29 sub: RO - -- title: ALT - year: 2020 - id: alt20 - link: http://alt2020.algorithmiclearningtheory.org/ - deadline: '2019-09-20 16:59:59' - timezone: America/New_York - place: San Diego, CA, United States - date: February 8-10, 2020 - start: 2020-02-08 - end: 2020-02-10 - paperslink: http://algorithmiclearningtheory.org/alt2020/accepted-papers/ - hindex: 15 + note: Workshop and Tutorial deadline on February 7, 2022 + +- title: ECCV + year: 2022 + id: eccv22 + link: https://eccv2022.ecva.net/ + deadline: '2022-03-07 21:59:00' + timezone: CET + place: Tel Aviv, Israel + date: October 24-28, 2022 + start: 2022-10-24 + end: 2022-10-28 + hindex: 197 + sub: CV + +- title: CoLLAs + year: 2022 + id: collas22 + link: https://lifelong-ml.cc + deadline: '2022-03-04 23:59:59' + abstract_deadline: '2022-03-01 23:59:59' + timezone: UTC-12 + place: Online + date: August 29-31, 2022 + start: 2022-08-29 + end: 2022-08-31 sub: ML -- title: HRI - year: 2020 - id: hri20 - link: https://humanrobotinteraction.org/2020/ - deadline: '2019-10-01 23:59:59' +- title: AutoML-Conf + year: 2022 + id: automl-conf22 + link: https://automl.cc/ + deadline: '2022-03-03 23:59:00' + abstract_deadline: '2022-02-24 23:59:00' + timezone: UTC-12 + place: Baltimore, US + date: July 25-27, 2022 + start: 2022-07-25 + end: 2022-07-27 + hindex: 0 + sub: ML + note: Conference replacing the AutoML workshops @ ICML as they were extremely successful. + First edition. + +- title: IROS + year: 2022 + id: iros22 + link: https://iros2022.org/ + deadline: '2022-03-01 23:59:59' timezone: America/Los_Angeles - place: Cambridge, UK - date: March 23-26, 2020 - start: 2020-03-23 - end: 2020-03-26 - paperslink: https://dl.acm.org/doi/proceedings/10.1145/3319502 - hindex: 40 + place: Kyoto, Japan + date: October 23-27, 2022 + start: 2022-10-23 + end: 2022-10-27 + hindex: 73 sub: RO -- title: ICMR - year: 2020 - id: icmr20 - link: http://icmr2020.org/ - deadline: '2020-01-11 23:59:59' - timezone: Europe/London - place: Dublin, Ireland - date: June 8-11, 2020 - start: 2020-06-08 - end: 2020-06-11 - paperslink: http://icmr2020.org/ICMR2020-detailed-schedule-FINAL.pdf - hindex: 33 +- title: ICIP + year: 2022 + id: icip22 + link: https://2022.ieeeicip.org + deadline: '2022-02-25 23:59:59' + timezone: UTC + place: Bordeaux, France + date: October, 16-19, 2022 + start: 2022-10-16 + end: 2022-10-19 sub: CV -- title: COLT - year: 2020 - id: colt20 - link: http://www.learningtheory.org/colt2020/ - deadline: '2020-01-31 16:00:00' - timezone: America/Los_Angeles - place: Graz, Austria - date: June 8-12, 2020 - start: 2020-06-08 - end: 2020-06-12 - paperslink: http://proceedings.mlr.press/v125/ - hindex: 48 +- title: UAI + year: 2022 + id: uai22 + link: https://www.auai.org/uai2022/ + deadline: '2022-02-25 23:59:59' + timezone: UTC + place: Eindhoven, The Netherlands + date: August 1-5, 2022 + start: 2022-08-01 + end: 2022-08-05 sub: ML -- title: ICCC - year: 2020 - id: iccc20 - link: http://computationalcreativity.net/iccc20/ - deadline: '2020-03-08 23:59:59' +- title: KDD + year: 2022 + id: kdd22 + link: https://www.kdd.org/kdd2022/ + deadline: '2022-02-10 23:59:59' timezone: UTC-12 - place: Coimbra, Portugal - date: June 29 - July 3, 2020 - start: 2020-06-29 - end: 2020-07-03 - paperslink: http://computationalcreativity.net/iccc20/papers/ICCC20_Proceedings.pdf - hindex: 22 - sub: ML + place: Washington, DC, USA + date: August 14-18, 2022 + start: 2022-08-14 + end: 2022-08-18 + hindex: 30 + sub: DM -- title: ISMIR - year: 2020 - id: ismir20 - link: https://ismir.github.io/ISMIR2020/ - deadline: '2020-04-17 23:59:59' - abstract_deadline: '2020-04-10 23:59:59' +- title: RSS + year: 2022 + id: rss22 + link: https://roboticsconference.org/ + deadline: '2022-01-28 23:59:59' timezone: UTC-12 - place: Montreal, Canada - date: October 12-15, 2020 - start: 2020-10-12 - end: 2020-10-15 - paperslink: https://program.ismir2020.net/papers.html?filter=keywords - hindex: 32 - sub: SP - note: Mandatory abstract deadline on Apr 10, 2020. More info here. + place: New York City, USA + date: June 27 - July 1, 2022 + start: 2022-06-27 + end: 2022-07-01 + hindex: 50 + sub: RO -- title: AACL-IJCNLP - year: 2020 - id: aacl20 - link: http://aacl2020.org - deadline: '2020-06-26 23:59:00' +- title: SIGIR + year: 2022 + id: sigir22 + link: https://sigir.org/sigir2022/ + deadline: '2022-01-28 23:59:00' + abstract_deadline: '2022-01-21 23:59:00' timezone: UTC-12 - place: Suzhou, China - date: December 4-7, 2020 - start: 2020-12-04 - end: 2020-12-07 - paperslink: https://aclanthology.org/events/aacl-2020/ - pwclink: https://paperswithcode.com/conference/asian-chapter-of-the-association-for - hindex: -1 - sub: NLP + place: Madrid, Spain + date: July 11-15, 2022 + start: 2022-07-11 + end: 2022-07-15 + hindex: 66 + sub: DM + note: Mandatory abstract deadline on January 21, 2022. More info here. -- title: ACCV - year: 2020 - id: accv20 - link: http://accv2020.kyoto/ - deadline: '2020-07-08 23:59:00' +- title: ICML + year: 2022 + id: icml22 + link: https://icml.cc/Conferences/2022 + deadline: '2022-01-27 23:59:00' + abstract_deadline: '2022-01-20 23:59:00' + timezone: UTC-12 + place: Baltimore, Maryland USA + date: July 17-23, 2022 + start: 2022-07-17 + end: 2022-07-23 + hindex: 204 + sub: ML + note: Mandatory abstract deadline on Jan 20, 2022. More info here. + +- title: SIGGRAPH + year: 2022 + id: siggraph22 + link: https://s2022.siggraph.org/ + deadline: '2022-01-27 22:00:00' + abstract_deadline: '2022-01-26 22:00:00' timezone: UTC - place: Online - date: November 30 - December 4, 2020 - start: 2020-11-30 - end: 2020-12-04 - paperslink: https://accv2020.github.io/programs/papers/index.html - hindex: 38 - sub: CV + place: Vancouver + date: August 8-11, 2022 + start: 2022-08-08 + end: 2022-08-11 + hindex: 19 + sub: CG + note: Mandatory abstract deadline on Jan 26, 2022. More info here. -- title: ICPR - year: 2020 - id: icpr20 - link: https://www.micc.unifi.it/icpr2020/ - deadline: '2020-07-15 23:59:00' - timezone: UTC+1 - place: Milan, Italy - date: January 10-15, 2021 - start: 2021-01-10 - end: 2021-01-15 - paperslink: https://www.micc.unifi.it/icpr2020/index.php/papers-and-authors/ - hindex: 38 - sub: ML +- title: ICWSM + year: 2022 + id: icwsm22 + link: https://www.icwsm.org/2022/index.html/ + deadline: '2022-01-15 23:59:59' + timezone: UTC-12 + place: Atlanta, Georgia AND Online + date: June 6-9, 2022 + start: 2022-06-06 + end: 2022-06-09 + sub: DM -- title: CoNLL - year: 2020 - id: conll2020 - link: http://www.conll.org/2020 - deadline: '2020-07-17 23:59:59' +- title: NAACL + year: 2022 + id: naacl22 + link: https://2022.naacl.org/ + deadline: '2022-01-15 23:59:00' timezone: UTC-12 - place: Online - date: November 19-20, 2020 - start: 2020-11-19 - end: 2020-11-20 - paperslink: https://aclanthology.org/events/conll-2020/ - hindex: 34 + place: Seattle, Washington, USA + date: July 10-15, 2022 + start: 2022-07-10 + end: 2022-07-15 + hindex: 105 sub: NLP -- title: 3DV - year: 2020 - id: threedv20 - link: http://3dv2020.dgcv.nii.ac.jp/index.html - deadline: '2020-07-31 23:59:59' - timezone: America/Los_Angeles - place: Fukuoka, Japan - date: November 25-28, 2020 - start: 2020-11-25 - end: 2020-11-28 - paperslink: http://3dv2020.dgcv.nii.ac.jp/conferenceprogram.html - hindex: 29 - sub: CV - -- title: WMT - year: 2020 - id: wmt20 - link: http://www.statmt.org/wmt20/ - deadline: '2020-08-15 23:59:00' +- title: CHIL + year: 2022 + id: chil22 + link: https://www.chilconference.org/ + deadline: '2022-01-14 23:59:59' timezone: UTC-12 place: Online - date: November 19-20, 2020 - start: 2020-11-19 - end: 2020-11-20 - paperslink: http://www.statmt.org/wmt20/papers.html - hindex: 27 - sub: NLP + date: April 7-8, 2022 + start: 2022-04-07 + end: 2022-04-08 + paperslink: https://www.chilconference.org/2021/proceedings.html + hindex: -1 + sub: ML + note: Recommended abstract deadline on Jan 10, 2021. More info here. -- title: EACL - year: 2021 - id: eacl21 - link: https://2021.eacl.org/ - deadline: '2020-10-07 23:59:00' +- title: FAccT + year: 2022 + id: facct22 + link: https://facctconference.org/2022/ + deadline: '2022-01-14 23:59:00' + abstract_deadline: '2021-12-15 23:59:00' timezone: UTC-12 - place: Online (Kyiv, Ukraine) - date: April 21-23, 2021 - start: 2021-04-21 - end: 2021-04-23 - paperslink: https://aclanthology.org/events/eacl-2021/#2021-eacl-main - pwclink: https://paperswithcode.com/conference/eacl-2021-2 - hindex: 36 + place: Seoul, South Korea + date: June 21-24, 2022 + start: 2022-06-21 + end: 2022-06-24 + hindex: 44 + sub: ML + note: Mandatory abstract deadline on Dec 14, 2021. More info here. + +- title: IJCAI-ECAI + year: 2022 + id: ijcai22 + full_name: International Joint Conference on Artificial Intelligence and European + Conference on Artificial Intelligence + link: https://ijcai-22.org/ + deadline: '2022-01-14 23:59:59' + abstract_deadline: '2022-01-07 23:59:59' + timezone: UTC+1 + place: Vienna, Austria + date: July 23-29, 2022 + start: 2022-07-23 + end: 2022-07-29 + hindex: 105 + sub: ML + +- title: LREC + year: 2022 + id: lrec22 + link: http://elra.info/en/lrec/lrec-2022/ + deadline: '2022-01-10 23:59:59' + timezone: Europe/Paris + place: Marseille, France + date: June 20-25, 2022 + start: 2022-06-20 + end: 2022-06-25 + hindex: 38 sub: NLP -- title: AAMAS - year: 2021 - id: aamas21 - link: https://aamas2021.soton.ac.uk/ - deadline: '2020-10-09 23:59:59' - abstract_deadline: '2020-10-02 23:59:59' +- title: ICAPS + year: 2022 + id: icaps22 + link: http://icaps22.icaps-conference.org/ + deadline: '2021-12-15 23:59:59' + abstract_deadline: '2021-12-10 23:59:59' timezone: UTC-12 - place: London, UK - date: May 3-7, 2021 - start: 2021-05-03 - end: 2021-05-07 - paperslink: https://dl.acm.org/doi/proceedings/10.5555/3463952 - hindex: 25 + place: Singapore Management University, Singapore + date: June 19-24, 2022 + start: 2022-06-19 + end: 2022-06-24 + hindex: 27 sub: ML - note: Mandatory abstract deadline on Oct 02, 2020. More info here. + note: Mandatory abstract deadline on Dec 10, 2021. More info here. -- title: SDM - year: 2021 - id: sdm21 - link: https://www.siam.org/conferences/cm/conference/sdm21 - deadline: '2020-10-12 23:59:00' - timezone: UTC-5 - place: Online - date: April 29 - May 1, 2021 - start: 2021-04-29 - end: 2021-05-01 - paperslink: https://epubs.siam.org/doi/book/10.1137/1.9781611976700 - hindex: 33 +- title: L4DC + year: 2022 + id: l4dc22 + link: https://l4dc.stanford.edu/ + deadline: '2021-12-07 17:00:00' + timezone: UTC-5 + place: Stanford University, CA, USA + date: June 23-24, 2022 + start: 2022-06-23 + end: 2022-06-24 + sub: ML + +- title: ACL + year: 2022 + id: acl22 + link: https://2022.aclweb.org/ + deadline: '2021-11-15 23:59:59' + timezone: UTC-12 + place: Dublin, Ireland + date: May 22-27, 2022 + start: 2022-05-22 + end: 2022-05-27 + hindex: 157 + sub: NLP + +- title: WWW + year: 2022 + id: www22 + link: https://www2022.thewebconf.org/ + deadline: '2021-10-21 23:59:59' + abstract_deadline: '2021-10-14 23:59:59' + timezone: UTC-12 + place: Lyon, France + date: April 25-29, 2022 + start: 2022-04-25 + end: 2022-04-29 + hindex: 70 sub: DM + note: Mandatory abstract deadline on October 12, 2020 - title: AISTATS - year: 2021 - id: aistats21 - link: https://www.aistats.org/aistats2021/ - deadline: '2020-10-15 08:00:00' - timezone: America/Los_Angeles - place: San Diego, California, USA - date: April 13-15, 2021 - start: 2021-04-13 - end: 2021-04-15 - paperslink: http://proceedings.mlr.press/v130/ - hindex: 52 + year: 2022 + id: aistats22 + link: https://www.aistats.org/aistats2022/ + deadline: '2021-10-15 11:59:00' + timezone: UTC + place: Valencia, Spain + date: March 30 - April 1, 2022 + start: 2022-03-30 + end: 2022-04-01 + hindex: 57 sub: ML - note: Mandatory abstract deadline on Oct 8, 2020. More info here. + note: Mandatory abstract deadline on Oct 8, 2021. More info here. -- title: ICME - year: 2021 - id: icme21 - link: https://2021.ieeeicme.org/ - deadline: '2020-11-29 23:59:59' - timezone: America/Los_Angeles - place: Shenzhen, China - date: July 5-9, 2021 - start: 2021-07-05 - end: 2021-07-09 - paperslink: https://2021.ieeeicme.org/conf_oral - hindex: 30 - sub: CV +- title: ICLR + year: 2022 + id: iclr22 + link: https://iclr.cc/ + deadline: '2021-10-05 17:00:00' + abstract_deadline: '2021-09-28 17:00:00' + timezone: UTC-7 + place: Online + date: April 25-29, 2022 + start: 2022-04-25 + end: 2022-04-29 + hindex: 203 + sub: ML + note: Mandatory abstract deadline on September 28, 2021. More info here. -- title: ICIP - year: 2021 - id: icip21 - link: https://2021.ieeeicip.org - deadline: '2021-01-13 23:59:59' - timezone: America/Los_Angeles - place: Anchorage, Alaska, USA - date: September, 19-22, 2021 - start: 2021-09-19 - end: 2021-09-22 - paperslink: https://2021.ieeeicip.org/Papers/TechnicalProgram_MS.asp - hindex: 52 - sub: CV +- title: AAAI + year: 2022 + id: aaai22 + link: https://aaai.org/Conferences/AAAI-22/ + deadline: '2021-09-08 23:59:59' + abstract_deadline: '2021-08-30 23:59:59' + timezone: UTC-12 + place: Vancouver, Canada + date: February 22 - March 1, 2022 + start: 2022-02-22 + end: 2022-03-01 + hindex: 95 + sub: ML + note: Mandatory abstract deadline on August 30, 2021 -- title: SIGGRAPH +- title: WSDM + year: 2022 + id: wsdm22 + link: https://www.wsdm-conference.org/2022/ + deadline: '2021-08-09 23:59:59' + timezone: UTC-12 + place: Phoenix, Arizona, USA + date: February 21-25, 2022 + start: 2022-02-21 + end: 2022-02-25 + hindex: 54 + sub: DM + +- title: ACML year: 2021 - id: siggraph21 - link: https://s2021.siggraph.org/ - deadline: '2021-01-28 22:00:00' - abstract_deadline: '2021-01-27 22:00:00' - timezone: UTC + id: acml21 + link: http://www.acml-conf.org/2021 + deadline: '2021-06-25 23:59:00' + timezone: UTC-7 place: Online - date: August 1-5, 2021 - start: 2021-08-01 - end: 2021-08-05 - paperslink: https://s2021.siggraph.org/full-program/ - hindex: 19 - sub: CV - note: Mandatory abstract deadline on Jan 27, 2021. More info here. + date: November 17-19, 2021 + start: 2021-11-17 + end: 2021-11-19 + hindex: 17 + sub: ML -- title: MIDL +- title: AKBC year: 2021 - id: midl2021 - link: https://2021.midl.io/ - deadline: '2021-02-17 23:59:59' - abstract_deadline: '2021-02-10 23:59:59' + id: akbc21 + link: https://www.akbc.ws/2021/ + deadline: '2021-06-21 23:59:59' timezone: UTC-12 - place: Luebeck, Germany - date: July 7-9, 2021 - start: 2021-07-07 - end: 2021-07-09 - paperslink: https://2021.midl.io/program.html - hindex: -1 - sub: CV - note: Abstract deadline on Feb 10, 2021. More info here. + place: Irvine, United States + date: October 4-7, 2021 + start: 2021-10-04 + end: 2021-10-07 + paperslink: https://openreview.net/group?id=AKBC.ws/2021/Conference#all-submissions + sub: NLP -- title: UAI +- title: CoRL year: 2021 - id: uai21 - link: http://auai.org/uai2021/ - deadline: '2021-02-19 23:59:59' - timezone: UTC - place: TBD - date: July 26-30, 2021 - start: 2021-07-26 - end: 2021-07-30 - paperslink: https://www.auai.org/uai2021/accepted_papers - hindex: 33 - sub: ML + id: corl21 + link: http://www.robot-learning.org + deadline: '2021-06-18 23:59:00' + timezone: UTC-7 + place: London, UK, and virtual + date: November 8-11, 2021 + start: 2021-11-08 + end: 2021-11-11 + sub: RO -- title: IROS +- title: ICDM year: 2021 - id: iros21 - link: https://www.iros2021.org/important-dates - deadline: '2021-03-01 23:59:59' + id: icdm21 + link: https://icdm2021.auckland.ac.nz + deadline: '2021-06-11 23:59:59' timezone: America/Los_Angeles - place: Prague, Czech Republic - date: September 27 - October 1, 2021 - start: 2021-09-27 - end: 2021-10-01 - hindex: 58 - sub: RO + place: Auckland, New Zealand + date: December 7-10, 2021 + start: 2021-12-07 + end: 2021-12-10 + hindex: -1 + sub: DM -- title: RSS +- title: NeurIPS year: 2021 - id: rss21 - link: https://roboticsconference.org/ - deadline: '2021-03-01 23:59:59' - timezone: UTC-12 + id: neurips21 + link: https://neurips.cc/Conferences/2021/ + deadline: '2021-05-28 13:00:00' + abstract_deadline: '2021-05-21 13:00:00' + timezone: America/Los_Angeles place: Online - date: July 12-16, 2021 - start: 2021-07-12 - end: 2021-07-16 - paperslink: https://roboticsconference.org/program/papers/ - hindex: 47 - sub: RO + date: December 5-14, 2021 + start: 2021-12-05 + end: 2021-12-14 + paperslink: https://proceedings.neurips.cc/paper/2021 + pwclink: https://paperswithcode.com/conference/neurips-2021-12 + hindex: 198 + sub: ML + note: Mandatory abstract deadline on May 21, 2021 -- title: MICCAI +- title: CIKM year: 2021 - id: miccai2021 - link: http://www.miccai2021.org/ - deadline: '2021-03-03 23:59:59' - timezone: America/Los_Angeles - place: Lima, Peru - date: September 27 - October 1, 2021 - start: 2021-09-27 - end: 2021-10-01 - paperslink: https://www.miccai2021.org/en/TENTATIVE-SCHEDULE.html - hindex: 46 - sub: CV - note: Intent to submit deadline on Feb 19, 2021. More info here. + id: cikm21 + link: https://cikm2021.org/ + deadline: '2021-05-26 23:59:59' + abstract_deadline: '2021-05-19 23:59:59' + timezone: UTC-12 + place: Gold Coast, Queensland, Australia + date: November 1-5, 2021 + start: 2021-11-01 + end: 2021-11-05 + hindex: 48 + sub: DM -- title: ICCV - year: 2023 - id: iccv2023 - link: http://iccv2023.thecvf.com/ - deadline: '2023-03-08 23:59:00' - timezone: UTC - place: Paris, France - date: September 30th - October 6, 2023 - start: 2023-09-30 - end: 2023-10-06 - hindex: 239 +- title: EMNLP + year: 2021 + id: emnlp21 + link: https://2021.emnlp.org/ + deadline: '2021-05-17 23:59:00' + abstract_deadline: '2021-05-10 23:59:00' + timezone: UTC-12 + place: Punta Cana, Dominican Republic + date: November 7-11, 2021 + start: 2021-11-07 + end: 2021-11-11 + hindex: 112 + sub: NLP + +- title: FG + year: 2021 + id: fg2021 + link: http://iab-rubric.org/fg2021/ + deadline: '2021-04-15 23:59:00' + timezone: America/Los_Angeles + place: Jodhpur, India + date: December 15-18, 2021 + start: 2021-12-15 + end: 2021-12-18 + hindex: -1 sub: CV - note: Supplementary deadline on Mar 15, 2023. More info here. + note: the 2nd round submission deadline is July 15, 2021. - title: ECML-PKDD year: 2021 @@ -588,621 +866,349 @@ hindex: 81 sub: SP -- title: FG +- title: MICCAI year: 2021 - id: fg2021 - link: http://iab-rubric.org/fg2021/ - deadline: '2021-04-15 23:59:00' + id: miccai2021 + link: http://www.miccai2021.org/ + deadline: '2021-03-03 23:59:59' timezone: America/Los_Angeles - place: Jodhpur, India - date: December 15-18, 2021 - start: 2021-12-15 - end: 2021-12-18 - hindex: -1 + place: Lima, Peru + date: September 27 - October 1, 2021 + start: 2021-09-27 + end: 2021-10-01 + paperslink: https://www.miccai2021.org/en/TENTATIVE-SCHEDULE.html + hindex: 46 sub: CV - note: the 2nd round submission deadline is July 15, 2021. + note: Intent to submit deadline on Feb 19, 2021. More info here. -- title: RecSys - hindex: 45 - year: 2022 - id: recsys22 - link: https://recsys.acm.org/recsys22/ - deadline: '2022-05-03 23:59:59' - abstract_deadline: '2022-04-26 23:59:59' +- title: RSS + year: 2021 + id: rss21 + link: https://roboticsconference.org/ + deadline: '2021-03-01 23:59:59' timezone: UTC-12 - date: September 18 - September 23, 2022 - place: Seattle, Washington, USA - sub: DM - note: 'NOTE: Mandatory abstract deadline on April 26, 2022. More info here.' + place: Online + date: July 12-16, 2021 + start: 2021-07-12 + end: 2021-07-16 + paperslink: https://roboticsconference.org/program/papers/ + hindex: 47 + sub: RO -- title: EMNLP +- title: IROS year: 2021 - id: emnlp21 - link: https://2021.emnlp.org/ - deadline: '2021-05-17 23:59:00' - abstract_deadline: '2021-05-10 23:59:00' - timezone: UTC-12 - place: Punta Cana, Dominican Republic - date: November 7-11, 2021 - start: 2021-11-07 - end: 2021-11-11 - hindex: 112 - sub: NLP + id: iros21 + link: https://www.iros2021.org/important-dates + deadline: '2021-03-01 23:59:59' + timezone: America/Los_Angeles + place: Prague, Czech Republic + date: September 27 - October 1, 2021 + start: 2021-09-27 + end: 2021-10-01 + hindex: 58 + sub: RO -- title: CIKM +- title: UAI year: 2021 - id: cikm21 - link: https://cikm2021.org/ - deadline: '2021-05-26 23:59:59' - abstract_deadline: '2021-05-19 23:59:59' + id: uai21 + link: http://auai.org/uai2021/ + deadline: '2021-02-19 23:59:59' + timezone: UTC + place: TBD + date: July 26-30, 2021 + start: 2021-07-26 + end: 2021-07-30 + paperslink: https://www.auai.org/uai2021/accepted_papers + hindex: 33 + sub: ML + +- title: MIDL + year: 2021 + id: midl2021 + link: https://2021.midl.io/ + deadline: '2021-02-17 23:59:59' + abstract_deadline: '2021-02-10 23:59:59' timezone: UTC-12 - place: Gold Coast, Queensland, Australia - date: November 1-5, 2021 - start: 2021-11-01 - end: 2021-11-05 - hindex: 48 - sub: DM + place: Luebeck, Germany + date: July 7-9, 2021 + start: 2021-07-07 + end: 2021-07-09 + paperslink: https://2021.midl.io/program.html + hindex: -1 + sub: CV + note: Abstract deadline on Feb 10, 2021. More info here. -- title: NeurIPS +- title: SIGGRAPH year: 2021 - id: neurips21 - link: https://neurips.cc/Conferences/2021/ - deadline: '2021-05-28 13:00:00' - abstract_deadline: '2021-05-21 13:00:00' - timezone: America/Los_Angeles + id: siggraph21 + link: https://s2021.siggraph.org/ + deadline: '2021-01-28 22:00:00' + abstract_deadline: '2021-01-27 22:00:00' + timezone: UTC place: Online - date: December 5-14, 2021 - start: 2021-12-05 - end: 2021-12-14 - paperslink: https://proceedings.neurips.cc/paper/2021 - pwclink: https://paperswithcode.com/conference/neurips-2021-12 - hindex: 198 - sub: ML - note: Mandatory abstract deadline on May 21, 2021 + date: August 1-5, 2021 + start: 2021-08-01 + end: 2021-08-05 + paperslink: https://s2021.siggraph.org/full-program/ + hindex: 19 + sub: CV + note: Mandatory abstract deadline on Jan 27, 2021. More info here. -- title: WACV - year: 2023 - id: wacv23 - link: http://wacv2023.thecvf.com/ - deadline: '2022-07-13 11:59:59' +- title: ICIP + year: 2021 + id: icip21 + link: https://2021.ieeeicip.org + deadline: '2021-01-13 23:59:59' timezone: America/Los_Angeles - place: Waikoloa, Hawaii, USA - date: January 3-7, 2023 - start: 2023-01-03 - end: 2023-01-07 - hindex: 54 + place: Anchorage, Alaska, USA + date: September, 19-22, 2021 + start: 2021-09-19 + end: 2021-09-22 + paperslink: https://2021.ieeeicip.org/Papers/TechnicalProgram_MS.asp + hindex: 52 sub: CV - note: Second round submission deadline on Aug. 29th 2022 -- title: ICDM +- title: ICME year: 2021 - id: icdm21 - link: https://icdm2021.auckland.ac.nz - deadline: '2021-06-11 23:59:59' + id: icme21 + link: https://2021.ieeeicme.org/ + deadline: '2020-11-29 23:59:59' timezone: America/Los_Angeles - place: Auckland, New Zealand - date: December 7-10, 2021 - start: 2021-12-07 - end: 2021-12-10 - hindex: -1 - sub: DM + place: Shenzhen, China + date: July 5-9, 2021 + start: 2021-07-05 + end: 2021-07-09 + paperslink: https://2021.ieeeicme.org/conf_oral + hindex: 30 + sub: CV -- title: CoRL +- title: AISTATS year: 2021 - id: corl21 - link: http://www.robot-learning.org - deadline: '2021-06-18 23:59:00' - timezone: UTC-7 - place: London, UK, and virtual - date: November 8-11, 2021 - start: 2021-11-08 - end: 2021-11-11 - sub: RO + id: aistats21 + link: https://www.aistats.org/aistats2021/ + deadline: '2020-10-15 08:00:00' + timezone: America/Los_Angeles + place: San Diego, California, USA + date: April 13-15, 2021 + start: 2021-04-13 + end: 2021-04-15 + paperslink: http://proceedings.mlr.press/v130/ + hindex: 52 + sub: ML + note: Mandatory abstract deadline on Oct 8, 2020. More info here. -- title: AKBC +- title: SDM year: 2021 - id: akbc21 - link: https://www.akbc.ws/2021/ - deadline: '2021-06-21 23:59:59' - timezone: UTC-12 - place: Irvine, United States - date: October 4-7, 2021 - start: 2021-10-04 - end: 2021-10-07 - paperslink: https://openreview.net/group?id=AKBC.ws/2021/Conference#all-submissions - sub: NLP - -- title: BMVC - year: 2022 - id: bmvc22 - link: https://www.bmvc2022.org - deadline: '2022-07-29 23:59:59' - timezone: UTC - place: London - date: November 21-24, 2022 - start: 2022-11-21 - end: 2022-11-24 - hindex: 75 - sub: CV + id: sdm21 + link: https://www.siam.org/conferences/cm/conference/sdm21 + deadline: '2020-10-12 23:59:00' + timezone: UTC-5 + place: Online + date: April 29 - May 1, 2021 + start: 2021-04-29 + end: 2021-05-01 + paperslink: https://epubs.siam.org/doi/book/10.1137/1.9781611976700 + hindex: 33 + sub: DM -- title: ACML +- title: AAMAS year: 2021 - id: acml21 - link: http://www.acml-conf.org/2021 - deadline: '2021-06-25 23:59:00' - timezone: UTC-7 - place: Online - date: November 17-19, 2021 - start: 2021-11-17 - end: 2021-11-19 - hindex: 17 + id: aamas21 + link: https://aamas2021.soton.ac.uk/ + deadline: '2020-10-09 23:59:59' + abstract_deadline: '2020-10-02 23:59:59' + timezone: UTC-12 + place: London, UK + date: May 3-7, 2021 + start: 2021-05-03 + end: 2021-05-07 + paperslink: https://dl.acm.org/doi/proceedings/10.5555/3463952 + hindex: 25 sub: ML + note: Mandatory abstract deadline on Oct 02, 2020. More info here. -- title: WSDM - year: 2022 - id: wsdm22 - link: https://www.wsdm-conference.org/2022/ - deadline: '2021-08-09 23:59:59' +- title: EACL + year: 2021 + id: eacl21 + link: https://2021.eacl.org/ + deadline: '2020-10-07 23:59:00' timezone: UTC-12 - place: Phoenix, Arizona, USA - date: February 21-25, 2022 - start: 2022-02-21 - end: 2022-02-25 - hindex: 54 - sub: DM + place: Online (Kyiv, Ukraine) + date: April 21-23, 2021 + start: 2021-04-21 + end: 2021-04-23 + paperslink: https://aclanthology.org/events/eacl-2021/#2021-eacl-main + pwclink: https://paperswithcode.com/conference/eacl-2021-2 + hindex: 36 + sub: NLP -- title: AAAI - year: 2022 - id: aaai22 - link: https://aaai.org/Conferences/AAAI-22/ - deadline: '2021-09-08 23:59:59' - abstract_deadline: '2021-08-30 23:59:59' +- title: WMT + year: 2020 + id: wmt20 + link: http://www.statmt.org/wmt20/ + deadline: '2020-08-15 23:59:00' timezone: UTC-12 - place: Vancouver, Canada - date: February 22 - March 1, 2022 - start: 2022-02-22 - end: 2022-03-01 - hindex: 95 - sub: ML - note: Mandatory abstract deadline on August 30, 2021 + place: Online + date: November 19-20, 2020 + start: 2020-11-19 + end: 2020-11-20 + paperslink: http://www.statmt.org/wmt20/papers.html + hindex: 27 + sub: NLP -- title: ICRA - year: 2023 - id: icra23 - link: https://www.icra2023.org/ - deadline: '2022-09-15 23:59:59' +- title: 3DV + year: 2020 + id: threedv20 + link: http://3dv2020.dgcv.nii.ac.jp/index.html + deadline: '2020-07-31 23:59:59' timezone: America/Los_Angeles - place: ExCeL London, UK - date: May 29- June 2, 2023 - start: 2023-05-29 - end: 2023-06-02 - hindex: 94 - sub: RO + place: Fukuoka, Japan + date: November 25-28, 2020 + start: 2020-11-25 + end: 2020-11-28 + paperslink: http://3dv2020.dgcv.nii.ac.jp/conferenceprogram.html + hindex: 29 + sub: CV -- title: ICLR - year: 2022 - id: iclr22 - link: https://iclr.cc/ - deadline: '2021-10-05 17:00:00' - abstract_deadline: '2021-09-28 17:00:00' - timezone: UTC-7 +- title: CoNLL + year: 2020 + id: conll2020 + link: http://www.conll.org/2020 + deadline: '2020-07-17 23:59:59' + timezone: UTC-12 place: Online - date: April 25-29, 2022 - start: 2022-04-25 - end: 2022-04-29 - hindex: 203 - sub: ML - note: Mandatory abstract deadline on September 28, 2021. More info here. + date: November 19-20, 2020 + start: 2020-11-19 + end: 2020-11-20 + paperslink: https://aclanthology.org/events/conll-2020/ + hindex: 34 + sub: NLP -- title: ICASSP - year: 2023 - id: icassp23 - link: https://2023.ieeeicassp.org/ - deadline: '2022-10-19 23:59:59' - timezone: UTC-12 - place: Rhodes Island, Greece - date: June 4-9, 2023 - start: 2023-06-04 - end: 2023-06-09 - hindex: 110 - sub: SP +- title: ICPR + year: 2020 + id: icpr20 + link: https://www.micc.unifi.it/icpr2020/ + deadline: '2020-07-15 23:59:00' + timezone: UTC+1 + place: Milan, Italy + date: January 10-15, 2021 + start: 2021-01-10 + end: 2021-01-15 + paperslink: https://www.micc.unifi.it/icpr2020/index.php/papers-and-authors/ + hindex: 38 + sub: ML -- title: AISTATS - year: 2022 - id: aistats22 - link: https://www.aistats.org/aistats2022/ - deadline: '2021-10-15 11:59:00' +- title: ACCV + year: 2020 + id: accv20 + link: http://accv2020.kyoto/ + deadline: '2020-07-08 23:59:00' timezone: UTC - place: Valencia, Spain - date: March 30 - April 1, 2022 - start: 2022-03-30 - end: 2022-04-01 - hindex: 57 - sub: ML - note: Mandatory abstract deadline on Oct 8, 2021. More info here. + place: Online + date: November 30 - December 4, 2020 + start: 2020-11-30 + end: 2020-12-04 + paperslink: https://accv2020.github.io/programs/papers/index.html + hindex: 38 + sub: CV -- title: WWW - year: 2022 - id: www22 - link: https://www2022.thewebconf.org/ - deadline: '2021-10-21 23:59:59' - abstract_deadline: '2021-10-14 23:59:59' +- title: AACL-IJCNLP + year: 2020 + id: aacl20 + link: http://aacl2020.org + deadline: '2020-06-26 23:59:00' timezone: UTC-12 - place: Lyon, France - date: April 25-29, 2022 - start: 2022-04-25 - end: 2022-04-29 - hindex: 70 - sub: DM - note: Mandatory abstract deadline on October 12, 2020 + place: Suzhou, China + date: December 4-7, 2020 + start: 2020-12-04 + end: 2020-12-07 + paperslink: https://aclanthology.org/events/aacl-2020/ + pwclink: https://paperswithcode.com/conference/asian-chapter-of-the-association-for + hindex: -1 + sub: NLP -- title: ACL - year: 2022 - id: acl22 - link: https://2022.aclweb.org/ - deadline: '2021-11-15 23:59:59' +- title: ISMIR + year: 2020 + id: ismir20 + link: https://ismir.github.io/ISMIR2020/ + deadline: '2020-04-17 23:59:59' + abstract_deadline: '2020-04-10 23:59:59' timezone: UTC-12 - place: Dublin, Ireland - date: May 22-27, 2022 - start: 2022-05-22 - end: 2022-05-27 - hindex: 157 - sub: NLP + place: Montreal, Canada + date: October 12-15, 2020 + start: 2020-10-12 + end: 2020-10-15 + paperslink: https://program.ismir2020.net/papers.html?filter=keywords + hindex: 32 + sub: SP + note: Mandatory abstract deadline on Apr 10, 2020. More info here. -- title: CVPR - year: 2023 - id: cvpr23 - link: http://cvpr2023.thecvf.com/ - deadline: '2022-11-22 23:59:59' - timezone: America/Los_Angeles - place: Vancouver, Canada - date: June 17-23, 2023 - start: 2022-06-17 - end: 2022-06-23 - hindex: 389 - sub: CV - -- title: L4DC - year: 2022 - id: l4dc22 - link: https://l4dc.stanford.edu/ - deadline: '2021-12-07 17:00:00' - timezone: UTC-5 - place: Stanford University, CA, USA - date: June 23-24, 2022 - start: 2022-06-23 - end: 2022-06-24 - sub: ML - -- title: ICAPS - year: 2022 - id: icaps22 - link: http://icaps22.icaps-conference.org/ - deadline: '2021-12-15 23:59:59' - abstract_deadline: '2021-12-10 23:59:59' - timezone: UTC-12 - place: Singapore Management University, Singapore - date: June 19-24, 2022 - start: 2022-06-19 - end: 2022-06-24 - hindex: 27 - sub: ML - note: Mandatory abstract deadline on Dec 10, 2021. More info here. - -- title: LREC - year: 2022 - id: lrec22 - link: http://elra.info/en/lrec/lrec-2022/ - deadline: '2022-01-10 23:59:59' - timezone: Europe/Paris - place: Marseille, France - date: June 20-25, 2022 - start: 2022-06-20 - end: 2022-06-25 - hindex: 38 - sub: NLP - -- title: IJCAI-ECAI - year: 2022 - id: ijcai22 - full_name: International Joint Conference on Artificial Intelligence and European - Conference on Artificial Intelligence - link: https://ijcai-22.org/ - deadline: '2022-01-14 23:59:59' - abstract_deadline: '2022-01-07 23:59:59' - timezone: UTC+1 - place: Vienna, Austria - date: July 23-29, 2022 - start: 2022-07-23 - end: 2022-07-29 - hindex: 105 - sub: ML - -- title: FAccT - year: 2022 - id: facct22 - link: https://facctconference.org/2022/ - deadline: '2022-01-14 23:59:00' - abstract_deadline: '2021-12-15 23:59:00' - timezone: UTC-12 - place: Seoul, South Korea - date: June 21-24, 2022 - start: 2022-06-21 - end: 2022-06-24 - hindex: 44 - sub: ML - note: Mandatory abstract deadline on Dec 14, 2021. More info here. - -- title: CHIL - year: 2022 - id: chil22 - link: https://www.chilconference.org/ - deadline: '2022-01-14 23:59:59' +- title: ICCC + year: 2020 + id: iccc20 + link: http://computationalcreativity.net/iccc20/ + deadline: '2020-03-08 23:59:59' timezone: UTC-12 - place: Online - date: April 7-8, 2022 - start: 2022-04-07 - end: 2022-04-08 - paperslink: https://www.chilconference.org/2021/proceedings.html - hindex: -1 + place: Coimbra, Portugal + date: June 29 - July 3, 2020 + start: 2020-06-29 + end: 2020-07-03 + paperslink: http://computationalcreativity.net/iccc20/papers/ICCC20_Proceedings.pdf + hindex: 22 sub: ML - note: Recommended abstract deadline on Jan 10, 2021. More info here. -- title: NAACL - year: 2022 - id: naacl22 - link: https://2022.naacl.org/ - deadline: '2022-01-15 23:59:00' - timezone: UTC-12 - place: Seattle, Washington, USA - date: July 10-15, 2022 - start: 2022-07-10 - end: 2022-07-15 - hindex: 105 - sub: NLP - -- title: ICWSM - year: 2022 - id: icwsm22 - link: https://www.icwsm.org/2022/index.html/ - deadline: '2022-01-15 23:59:59' - timezone: UTC-12 - place: Atlanta, Georgia AND Online - date: June 6-9, 2022 - start: 2022-06-06 - end: 2022-06-09 - sub: DM - -- title: SIGGRAPH - year: 2022 - id: siggraph22 - link: https://s2022.siggraph.org/ - deadline: '2022-01-27 22:00:00' - abstract_deadline: '2022-01-26 22:00:00' - timezone: UTC - place: Vancouver - date: August 8-11, 2022 - start: 2022-08-08 - end: 2022-08-11 - hindex: 19 - sub: CG - note: Mandatory abstract deadline on Jan 26, 2022. More info here. - -- title: ICML - year: 2022 - id: icml22 - link: https://icml.cc/Conferences/2022 - deadline: '2022-01-27 23:59:00' - abstract_deadline: '2022-01-20 23:59:00' - timezone: UTC-12 - place: Baltimore, Maryland USA - date: July 17-23, 2022 - start: 2022-07-17 - end: 2022-07-23 - hindex: 204 +- title: COLT + year: 2020 + id: colt20 + link: http://www.learningtheory.org/colt2020/ + deadline: '2020-01-31 16:00:00' + timezone: America/Los_Angeles + place: Graz, Austria + date: June 8-12, 2020 + start: 2020-06-08 + end: 2020-06-12 + paperslink: http://proceedings.mlr.press/v125/ + hindex: 48 sub: ML - note: Mandatory abstract deadline on Jan 20, 2022. More info here. - -- title: SIGIR - year: 2022 - id: sigir22 - link: https://sigir.org/sigir2022/ - deadline: '2022-01-28 23:59:00' - abstract_deadline: '2022-01-21 23:59:00' - timezone: UTC-12 - place: Madrid, Spain - date: July 11-15, 2022 - start: 2022-07-11 - end: 2022-07-15 - hindex: 66 - sub: DM - note: Mandatory abstract deadline on January 21, 2022. More info here. - -- title: RSS - year: 2022 - id: rss22 - link: https://roboticsconference.org/ - deadline: '2022-01-28 23:59:59' - timezone: UTC-12 - place: New York City, USA - date: June 27 - July 1, 2022 - start: 2022-06-27 - end: 2022-07-01 - hindex: 50 - sub: RO - -- title: KDD - year: 2022 - id: kdd22 - link: https://www.kdd.org/kdd2022/ - deadline: '2022-02-10 23:59:59' - timezone: UTC-12 - place: Washington, DC, USA - date: August 14-18, 2022 - start: 2022-08-14 - end: 2022-08-18 - hindex: 30 - sub: DM -- title: ICIP - year: 2022 - id: icip22 - link: https://2022.ieeeicip.org - deadline: '2022-02-25 23:59:59' - timezone: UTC - place: Bordeaux, France - date: October, 16-19, 2022 - start: 2022-10-16 - end: 2022-10-19 +- title: ICMR + year: 2020 + id: icmr20 + link: http://icmr2020.org/ + deadline: '2020-01-11 23:59:59' + timezone: Europe/London + place: Dublin, Ireland + date: June 8-11, 2020 + start: 2020-06-08 + end: 2020-06-11 + paperslink: http://icmr2020.org/ICMR2020-detailed-schedule-FINAL.pdf + hindex: 33 sub: CV -- title: UAI - year: 2022 - id: uai22 - link: https://www.auai.org/uai2022/ - deadline: '2022-02-25 23:59:59' - timezone: UTC - place: Eindhoven, The Netherlands - date: August 1-5, 2022 - start: 2022-08-01 - end: 2022-08-05 - sub: ML - -- title: IROS - year: 2022 - id: iros22 - link: https://iros2022.org/ - deadline: '2022-03-01 23:59:59' +- title: HRI + year: 2020 + id: hri20 + link: https://humanrobotinteraction.org/2020/ + deadline: '2019-10-01 23:59:59' timezone: America/Los_Angeles - place: Kyoto, Japan - date: October 23-27, 2022 - start: 2022-10-23 - end: 2022-10-27 - hindex: 73 + place: Cambridge, UK + date: March 23-26, 2020 + start: 2020-03-23 + end: 2020-03-26 + paperslink: https://dl.acm.org/doi/proceedings/10.1145/3319502 + hindex: 40 sub: RO -- title: AutoML-Conf - year: 2022 - id: automl-conf22 - link: https://automl.cc/ - deadline: '2022-03-03 23:59:00' - abstract_deadline: '2022-02-24 23:59:00' - timezone: UTC-12 - place: Baltimore, US - date: July 25-27, 2022 - start: 2022-07-25 - end: 2022-07-27 - hindex: 0 - sub: ML - note: Conference replacing the AutoML workshops @ ICML as they were extremely successful. - First edition. - -- title: CoLLAs - year: 2022 - id: collas22 - link: https://lifelong-ml.cc - deadline: '2022-03-04 23:59:59' - abstract_deadline: '2022-03-01 23:59:59' - timezone: UTC-12 - place: Online - date: August 29-31, 2022 - start: 2022-08-29 - end: 2022-08-31 +- title: ALT + year: 2020 + id: alt20 + link: http://alt2020.algorithmiclearningtheory.org/ + deadline: '2019-09-20 16:59:59' + timezone: America/New_York + place: San Diego, CA, United States + date: February 8-10, 2020 + start: 2020-02-08 + end: 2020-02-10 + paperslink: http://algorithmiclearningtheory.org/alt2020/accepted-papers/ + hindex: 15 sub: ML - -- title: ECCV - year: 2022 - id: eccv22 - link: https://eccv2022.ecva.net/ - deadline: '2022-03-07 21:59:00' - timezone: CET - place: Tel Aviv, Israel - date: October 24-28, 2022 - start: 2022-10-24 - end: 2022-10-28 - hindex: 197 - sub: CV - -- title: RO-MAN - year: 2022 - id: ro-man22 - link: http://www.ro-man2022.org/ - deadline: '2022-03-15 23:59:59' - timezone: UTC+1 - place: Naples, Italy - date: August 29 - September 2, 2022 - start: 2022-08-29 - end: 2022-09-02 - hindex: 29 - sub: RO - note: Workshop and Tutorial deadline on February 7, 2022 - -- title: InterSpeech - year: 2022 - id: interspeech22 - link: http://www.interspeech2022.org/ - deadline: '2022-03-21 23:59:59' - timezone: Asia/Seoul - place: Incheon, South Korea - date: September, 18-22, 2022 - start: 2022-09-18 - end: 2022-09-22 - hindex: 100 - sub: SP - -- title: ECML/PKDD - year: 2022 - id: ecmlpkdd22 # title as lower case + last two digits of year - full_name: European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases # full conference name - link: https://2022.ecmlpkdd.org/ - deadline: '2022-04-06 23:59:59' - abstract_deadline: '2022-03-30 23:59:59' - timezone: UTC-12 - place: Grenoble, France - date: September, 19-23, 2022 - start: 2022-09-19 - end: 2022-09-23 - sub: SP - note: Check the conference website for workshop and demo deadlines - -- title: ISMIS - hindex: 9 - year: 2022 - id: ismis22 - link: https://ismis2022.icar.cnr.it/ - deadline: '2022-06-16 23:59:59' - timezone: UTC-12 - date: October, 03-05, 2022 - place: Cosenza, Italy - sub: DM - note: 'NOTE: Industry Session Deadline: 16 June 2022' - -- title: SIGGRAPHASIAConf - year: 2022 - id: siggraphasia22 # title as lower case + last two digits of year - full_name: SIGGRAPH ASIA 2022 # full conference name - link: https://sa2022.siggraph.org/ - deadline: 2022-05-20 23:59 - abstract_deadline: 2022-05-19 23:59 - timezone: UTC-12 - place: Daegu, South Korea - date: December, 6-9, 2022 - sub: CG - note: - -- title: evoMUSART - year: 2023 - id: evomusart23 - full_name: 12th International Conference on Artificial Intelligence in Music, Sound, Art and Design - link: https://www.evostar.org/2023/evomusart/ - deadline: 2022-11-01 23:59 - abstract_deadline: 2022-11-01 23:59 - timezone: UTC-12 - place: Brno, Czech Republic - date: April, 12-14, 2023 - start: 2023-04-12 - end: 2023-04-14 - paperslink: https://evomusart-index.dei.uc.pt/ - hindex: 12 - sub: CG - note: part of evostar 2023 From d71b27f65cfcd28815aa59a6efba81785f3dd5e5 Mon Sep 17 00:00:00 2001 From: Alex Naumann Date: Mon, 8 Aug 2022 22:03:03 +0200 Subject: [PATCH 3/4] docs: update readme --- README.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ca9a84193e1..14ef6b90db4 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,11 @@ Countdown timers to keep track of a bunch of CV/NLP/ML/RO conference deadlines. ## Contributing -[![](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/images/0)](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/links/0)[![](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/images/1)](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/links/1)[![](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/images/2)](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/links/2)[![](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/images/3)](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/links/3)[![](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/images/4)](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/links/4)[![](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/images/5)](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/links/5)[![](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/images/6)](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/links/6)[![](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/images/7)](https://sourcerer.io/fame/abhshkdz/abhshkdz/ai-deadlines/links/7) - Contributions are very welcome! -To keep things minimal, I'm only looking to list top-tier conferences in AI as per [conferenceranks.com][6] and my judgement calls. Please feel free to maintain a separate fork if you don't see your sub-field or conference of interest listed. +### Manual Adding of a Deadline -To add or update a deadline: +If you found new information online, you can manually add or update a deadline: - Fork the repository - Update `_data/conferences.yml` - Make sure it has the `title`, `year`, `id`, `link`, `deadline`, `timezone`, `date`, `place`, `sub` attributes @@ -39,6 +37,20 @@ To add or update a deadline: ``` - Send a pull request +### Automated Adding of a Deadline + +- [master_data.csv](_data/master_data.csv) contains a list of conferences for which we scraped data automatically from [WikiCFP](http://wikicfp.com/cfp/) +- You can add your conference master data here, and hope that someone will add it to WikiCFP (or do it yourself) and that we match it +- Automated scraping be run by + - Building the Docker containir or setting up a suitable Python environment + ```shell + docker build -t deadlines . + ``` + - Running + ```shell + docker run -it --rm --mount type=bind,source=${PWD},target=/app deadlines + ``` + ## Forks & other useful listings - [geodeadlin.es][3] by @LukasMosser From 9b27ff269f74332f05a057e343cafb4030dad3a5 Mon Sep 17 00:00:00 2001 From: Alex Naumann Date: Mon, 8 Aug 2022 22:07:09 +0200 Subject: [PATCH 4/4] refactor: comment jekyll installation from Dockerfile --- Dockerfile | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index f740bef99f0..87ebbcb3730 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,11 @@ FROM ubuntu:20.04 # Install jekyll -RUN apt-get update -RUN apt-get install -y ruby-full build-essential zlib1g-dev -RUN export GEM_HOME="$HOME/gems" -RUN export PATH="$HOME/gems/bin:$PATH" -RUN gem install jekyll bundler +#RUN apt-get update +#RUN apt-get install -y ruby-full build-essential zlib1g-dev +#RUN export GEM_HOME="$HOME/gems" +#RUN export PATH="$HOME/gems/bin:$PATH" +#RUN gem install jekyll bundler # Install python RUN apt-get install -y python3 python3-pip @@ -15,12 +15,11 @@ WORKDIR /app COPY . ./ -RUN bundle install +# RUN bundle install RUN pip3 install -r requirements.txt ENV PYTHONPATH "${PYTHONPATH}:/app" EXPOSE 4000 -#CMD ["jekyll", "serve"] #CMD ["bundle", "exec", "jekyll", "serve"] CMD ["python", "src/tools/scrape_new_deadlines.py"] \ No newline at end of file