Skip to main content

Knowledge System + Natural Language Understanding

Project description

GraphBrain is a software project aimed at the research of human knowledge as a collective phenomena. More specifically, it focuses on digital media and the application of computational approaches to the study of the relatively recent public space enabled by Internet technologies.

This project is aligned with a fundamentally interdisciplinary research program, that draws from fields such as the Social Sciences, Artificial Intelligence and Epistemology.

In its current state, Graphbrain provides the following:

  • An hypergraph knowledge base, capable of representing and efficiently querying complex relationships between entities
  • Knowledge extraction algorithms for popular data sets such as WordNet and DBPedia
  • Entity disambiguation algorithms
  • An entity extraction algorithm for free-form text, such as news items and blog posts
  • A domain specific language to define knowledge extraction rules for free-form text
  • A web-based interface to navigate the knowledge graph

The main ambition of this software project is to provide a robust base upon which new methods of socio-semantic analysis of digital media can be easily defined. At its core, GraphBrain contains an expressive knowledge representation system that easily lends itself to the organization of entities in terms of relationships, sources and conflicting beliefs.

The GraphBrain knowledge graph is designed to avoid notions of ground truth, instead allowing for the representation of all beliefs as relative to a source. Then, it is possible to define algorithms to determine consensus according to certain criteria or methods. This matches the current situation of digital spaces, where a very large amount of information is available, but knowledge discovery by human actors is constrained by centralized algorithms with poorly understood dynamics (e.g. search engines and recommendation systems).

Beyond the scientific study of collective knowledge phenomena in digital media, GraphBrain could enable the creation of systems of knowledge exploration that are less centralized, less dependent of private actors and more transparent to the users.

Installation

For now, these instructions are just for macOS. Installing on Linux should be quite similar. Everything is done on the terminal.

Prerequisites

Some of these prerequisites may be already installed. In that case, just skip the appropriate step.

XCode

Use the app store.

Command Line Tools

$ xcode-select --install

Homebrew (macOS package manager)

http://brew.sh/

Python 3

$ brew install python3

pip (Python package manager)

$ sudo easy_install pip

virtualenv (Virtual Python Environment builder)

$ sudo -H pip install virtualenv

FreeType (library)

$ brew install freetype

Download, build and install

For now we only distribute GraphBrain as source code from our git repository. Start by cloning the source code to your current local directory.

$ git clone https://github.com/graphbrain/graphbrain.git
$ cd graphbrain

It is advisable to work with virtual environments. To create one in the current directory you can do this:

$ virtualenv -p /usr/local/bin/python3 venv

Then to activate it:

$ source venv/bin/activate

Now we can build and install GraphBrain:

$ pip install --editable .

It is still necessary to download spacy data files: $ python -m spacy.en.download all

Run tests

Use the script provided:

$ ./run_tests.sh

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphbrain-0.0.3.tar.gz (369.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

graphbrain-0.0.3-cp36-cp36m-macosx_10_13_x86_64.whl (425.8 kB view details)

Uploaded CPython 3.6mmacOS 10.13+ x86-64

File details

Details for the file graphbrain-0.0.3.tar.gz.

File metadata

  • Download URL: graphbrain-0.0.3.tar.gz
  • Upload date:
  • Size: 369.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for graphbrain-0.0.3.tar.gz
Algorithm Hash digest
SHA256 6e061f3ca15f6697a95f31f6cdd99b48e501ec6a56fb79c8d7d92ff0fe0bfac8
MD5 a468fe513c29725b9647a0877fefa895
BLAKE2b-256 9ea4d195ba6f8c2c62b845d5c0d949224d130f1b4152ba9f266c08463a41d88a

See more details on using hashes here.

File details

Details for the file graphbrain-0.0.3-cp36-cp36m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: graphbrain-0.0.3-cp36-cp36m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 425.8 kB
  • Tags: CPython 3.6m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for graphbrain-0.0.3-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b543882c423e16f6a7d4c87913704f447592f89dae4d5531958638c8cacb6bb6
MD5 29f72974bdd320300321e09181db09f1
BLAKE2b-256 65708dc1ee7e5a1ccc61b7a5cf36aacf1b3e51f4be8f2d6a1e385e37b70f7f4b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page