Recommendation engine for scholarly works
Project description
scholarec
=========
Recommendation of Scholarly Works
---------------------------------
[![Build Status](https://travis-ci.org/arcolife/scholarec.png?branch=master)](https://travis-ci.org/arcolife/scholarec)
[![Dependency Status](https://gemnasium.com/arcolife/scholarec.png)](https://gemnasium.com/arcolife/scholarec)
[![Zenodo DOI for github](https://zenodo.org/badge/4244/arcolife/scholarec.png)](http://dx.doi.org/10.5281/zenodo.10265)
This software has been built due to a need felt for a proper
recommendation system for publicly available scholarly/research works.
It classifies documents and uses personalization features and content-based algorithm to
suggest/recommend similar ones, possibly of interest to the user.
_Note:_ Currently, full-functionality is offered by combining this package and another one,
that offeres web interface (Django-based).
- [arcolife/django-scholarec](https://github.com/arcolife/django-scholarec "django-scholarec")
> *Inspired from an older project* [researchlei](http://cs.stanford.edu/people/karpathy/researchlei/ "BSD Licensed")
***
**Installation**
```
$ git clone https://github.com/arcolife/scholarec.git
$ cd scholarec/
$ sh setup.sh
```
* See INSTALL for detailed instructions.
**Test**
* Optionally, to test if installed, look for a description on executing:
```
$ python -m scholarec
```
* To see if the scripts runs without error:
```
$ ./tests/run-tests.sh
$ ./tests/test.py
```
**Usage**
* To use the module in a Python script, simply import:
```python
import scholarec
```
* To check a sample run output, open log/sample_run.txt
* To go for a sample run:
```
$ ./tests/query_parse
```
Note: For developing a small database from arXiv, you need to run
the query_parse script and accept "Extract PDF" option for extracting
related pdf's, converting them to plain text and extracting interesting
words that would later be used for recommendations and suggestions.
* A simple arXiv API call can be achieved by executing the following sample code:
```python
import scholarec
from scholarec.base.arxiv import DocumentArXiv
url = "http://export.arxiv.org/api/query?search_query=all:%22higgs%22&start=0&max_results=2"
from urllib2 import urlopen
query_xml = urlopen(url)
doc = DocumentArXiv(query_xml)
data_dict = doc.extract_tags()
for entry_id in data_dict.keys():
print "ID: %s" % (entry_id)
print(data_dict[entry_id]), "\n"
```
***
**FAQ**
Q. What data interchange file formats have been used?
A. Data conversion from XML to JSON as well as in XML itself.
Q. What are the Data sources?
A. Dataset currently taken from arXiv. Future: DBLP/Google Scholar.
Q. How is the Data dealt with?
A. ElasticSearch/MongoDB for search and storage
***
**LICENSE**
[![GPL V3](http://www.gnu.org/graphics/gplv3-127x51.png)](http://www.gnu.org/licenses/gpl-3.0-standalone.html)
=========
Recommendation of Scholarly Works
---------------------------------
[![Build Status](https://travis-ci.org/arcolife/scholarec.png?branch=master)](https://travis-ci.org/arcolife/scholarec)
[![Dependency Status](https://gemnasium.com/arcolife/scholarec.png)](https://gemnasium.com/arcolife/scholarec)
[![Zenodo DOI for github](https://zenodo.org/badge/4244/arcolife/scholarec.png)](http://dx.doi.org/10.5281/zenodo.10265)
This software has been built due to a need felt for a proper
recommendation system for publicly available scholarly/research works.
It classifies documents and uses personalization features and content-based algorithm to
suggest/recommend similar ones, possibly of interest to the user.
_Note:_ Currently, full-functionality is offered by combining this package and another one,
that offeres web interface (Django-based).
- [arcolife/django-scholarec](https://github.com/arcolife/django-scholarec "django-scholarec")
> *Inspired from an older project* [researchlei](http://cs.stanford.edu/people/karpathy/researchlei/ "BSD Licensed")
***
**Installation**
```
$ git clone https://github.com/arcolife/scholarec.git
$ cd scholarec/
$ sh setup.sh
```
* See INSTALL for detailed instructions.
**Test**
* Optionally, to test if installed, look for a description on executing:
```
$ python -m scholarec
```
* To see if the scripts runs without error:
```
$ ./tests/run-tests.sh
$ ./tests/test.py
```
**Usage**
* To use the module in a Python script, simply import:
```python
import scholarec
```
* To check a sample run output, open log/sample_run.txt
* To go for a sample run:
```
$ ./tests/query_parse
```
Note: For developing a small database from arXiv, you need to run
the query_parse script and accept "Extract PDF" option for extracting
related pdf's, converting them to plain text and extracting interesting
words that would later be used for recommendations and suggestions.
* A simple arXiv API call can be achieved by executing the following sample code:
```python
import scholarec
from scholarec.base.arxiv import DocumentArXiv
url = "http://export.arxiv.org/api/query?search_query=all:%22higgs%22&start=0&max_results=2"
from urllib2 import urlopen
query_xml = urlopen(url)
doc = DocumentArXiv(query_xml)
data_dict = doc.extract_tags()
for entry_id in data_dict.keys():
print "ID: %s" % (entry_id)
print(data_dict[entry_id]), "\n"
```
***
**FAQ**
Q. What data interchange file formats have been used?
A. Data conversion from XML to JSON as well as in XML itself.
Q. What are the Data sources?
A. Dataset currently taken from arXiv. Future: DBLP/Google Scholar.
Q. How is the Data dealt with?
A. ElasticSearch/MongoDB for search and storage
***
**LICENSE**
[![GPL V3](http://www.gnu.org/graphics/gplv3-127x51.png)](http://www.gnu.org/licenses/gpl-3.0-standalone.html)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
scholarec-1.0.1.tar.gz
(22.4 kB
view details)
File details
Details for the file scholarec-1.0.1.tar.gz
.
File metadata
- Download URL: scholarec-1.0.1.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2b3152d75444f040c3f26551e3e4ef0c0310c54fa060ad5744e9d6075c93e25 |
|
MD5 | 97d8daa8cf63ce8049e75e8fd15243a3 |
|
BLAKE2b-256 | 27bb3f05a44ab1972e91fffb3e3c49a778232c8bbe16476adeb14803bcbd1a46 |