GitXplorerGitXplorer
a

vocabulary-graph

public
2 stars
0 forks
1 issues

Commits

List of commits on branch master.
Unverified
1ea178f4a0a5cc313b8df9a1580628f981a05cac

tweak the graph settings (again)

aalexwlchan committed 5 years ago
Unverified
371231b9db7d5e0d91233fcb7deb58c74b80dad6

Add some phrases from Duolingo "Hobbies 1"

aalexwlchan committed 5 years ago
Verified
0696f03d459cc1f4044ce8c2de4d597179805d3b

Fix the link to the blog post

aalexwlchan committed 5 years ago
Unverified
71b5800bb574a133aaa5c40d0a34bf70895f2015

add a small footer

aalexwlchan committed 5 years ago
Unverified
3b7deee4b573778b683d230ea449304d553b4c0b

add a start.sh script for gunicorn

aalexwlchan committed 5 years ago
Unverified
3c06a0bd63040728999d747e6610658aaf59e998

smaller screenshot

aalexwlchan committed 5 years ago

README

The README file for this repository.

vocabulary-graph

This is an experiment in displaying vocabulary as a (network) graph of related words and phrases. When you look at a word, you can see a graph of related words:

screenshot

Words could be related for a number of reasons; what's important is that the relation makes them easier to remember. For example:

  • If they have a common component or root
  • If they have a related meaning (such as words for family members, or directions, or modes of transport)
  • If they trigger a shared memory

I find it easier to remember a cluster of related words, than to learn each word separately. I often draw word graphs by hand; this allows me to draw graphs on a bigger scale.

You can read more in the accompanying blog post, or play with the app on Glitch.

How it works

The heavy lifting is done by two libraries:

  • networkx manages the graph data
  • D3.js renders the graph visualisations

The graph is created entirely in networkx, then saved to JSON (phrases_zh.json). The web app pulls out the appropriate nodes/edges and passes them to D3 to render.

State of the code

This was an experiment to see if representing vocabulary as a graph was useful. The code is pretty rough and not meant for other people to use.