APIKG-Summary is a project of creating API class summary when given specific query and class. We constructed an API Knowledge Graph with API documentation and wikidata knowledge support this. This is an implementation of "Generating Query-Specific Class API Summaries". However, the code is not exactly the same as in the paper, because we tried to refactor and improve the code after that. Welcome any help for improvement!
The data for this project is here, containing the KG we built and the models used to support for API Class Summary.
- sekg (an integrated python package of our research)
- pyfasttext
- gensim
- py2neo
- nltk
- db:
data table in database - doc:
some classes for building documents for training model - graph:
graph builder for generating graph - script:
scripts for building documents, building graph, training model, generating summary and importing graph data into neo4j. You can easily find by their name. - util:
some general tool classes
Our project consists of three main parts: build api graph, train search model and generate apisummary.
1、build graph and document
pyhon -m script.build_all_graph_and_doc
2、train model
python -m script.n2v.train
python -m script.model.compound.train
3、summary
python -m script.summary.console_test_summary_with_class
When citing "Generating Query-Specific Class API Summaries" in academic papers and theses, please use this BibTeX entry:
@inproceedings{DBLP:conf/sigsoft/Liu0MXXXL19,
author = {Mingwei Liu and
Xin Peng and
Andrian Marcus and
Zhenchang Xing and
Wenkai Xie and
Shuangshuang Xing and
Yang Liu},
title = {Generating query-specific class {API} summaries},
booktitle = {Proceedings of the {ACM} Joint Meeting on European Software Engineering
Conference and Symposium on the Foundations of Software Engineering,
{ESEC/SIGSOFT} {FSE} 2019, Tallinn, Estonia, August 26-30, 2019.},
pages = {120--130},
year = {2019},
crossref = {DBLP:conf/sigsoft/2019},
url = {https://doi.org/10.1145/3338906.3338971},
doi = {10.1145/3338906.3338971},
timestamp = {Fri, 09 Aug 2019 14:13:18 +0200},
biburl = {https://dblp.org/rec/bib/conf/sigsoft/Liu0MXXXL19},
bibsource = {dblp computer science bibliography, https://dblp.org}
}