{ "metadata": { "name": "", "signature": "sha256:fe208b8620f42d1fac554e7b90b3b7bc752c14cf0e4a85b150571a78ff91b62d" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Looking at French word frequency with Lexique\n", "\n", "[Lexique 3](http://lexique.org/) is a French word database from the Universit\u00e9 de Savoie. It includes:\n", "\n", "- Inflected word forms.\n", "- Lexemes.\n", "- Frequency data for movie subtitles and books.\n", "\n", "It's a great database and a ton of fun. In this notebook, we use a copy of Lexique that has been loaded into the SQLite 3 database. But since we don't want to get into the messy details of the Python, we build the database using a `Makefile`, and we keep all of our Python utility functions in an external file named `lexique.py`. If you want to see all those details, or customize this analysis, [check out this notebook on GitHub](https://github.com/emk/lexique-experiments).\n", "\n", "First, let's get everything loaded." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "%run lexique.py" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, let's take a look at what data we have available. First, we have the raw data from Lexique, which includes inflected forms in the `ortho` column:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "sql(\"SELECT * FROM lexique WHERE lemme = 'avoir' LIMIT 5\")" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
orthophonlemmecgramgenrenombrefreqlemfilms2freqlemlivresfreqfilms2freqlivres
0 a a avoir AUX 18559.22 12800.81 6350.91 2926.69
1 a a avoir VER 13572.40 6426.49 5498.34 1669.39
2 ai E avoir AUX 18559.22 12800.81 4902.10 2119.12
3 ai E avoir VER 13572.40 6426.49 2475.78 619.05
4 aie E avoir AUX 18559.22 12800.81 31.75 21.69
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ " ortho phon lemme cgram genre nombre freqlemfilms2 freqlemlivres \\\n", "0 a a avoir AUX 18559.22 12800.81 \n", "1 a a avoir VER 13572.40 6426.49 \n", "2 ai E avoir AUX 18559.22 12800.81 \n", "3 ai E avoir VER 13572.40 6426.49 \n", "4 aie E avoir AUX 18559.22 12800.81 \n", "\n", " freqfilms2 freqlivres \n", "0 6350.91 2926.69 \n", "1 5498.34 1669.39 \n", "2 4902.10 2119.12 \n", "3 2475.78 619.05 \n", "4 31.75 21.69 " ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have another table, `lemme`, which sums over all the orthographies associated with a given lemma. The `lemme` column, however, is still not unique: If a given word can be either a noun or a verb, it will appear twice. And so on." ] }, { "cell_type": "code", "collapsed": false, "input": [ "sql(\"SELECT * FROM lemme ORDER BY freqlivres DESC LIMIT 5\")" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lemmecgramgenrenombrefreqfilms2freqlivres
0 de PRE 25220.86 38928.92
1 la ART:def f s 14946.48 23633.92
2 et CON 12909.08 20879.73
3 \u00e0 PRE 12190.40 19209.05
4 le ART:def m s 13652.76 18310.95
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ " lemme cgram genre nombre freqfilms2 freqlivres\n", "0 de PRE 25220.86 38928.92\n", "1 la ART:def f s 14946.48 23633.92\n", "2 et CON 12909.08 20879.73\n", "3 \u00e0 PRE 12190.40 19209.05\n", "4 le ART:def m s 13652.76 18310.95" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And finally, we collapse all the `cgram`, `genre` and `nombre` values associated with a given value of `lemme`, to give us unique lemmas with frequency data:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "sql(\"SELECT * FROM lemme_simple ORDER BY freqlivres DESC LIMIT 5\")" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lemmefreqfilms2freqlivres
0 de 25220.96 38928.92
1 la 16028.08 24877.30
2 \u00eatre 40411.41 21709.87
3 et 12909.08 20879.73
4 le 16953.50 20735.14
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ " lemme freqfilms2 freqlivres\n", "0 de 25220.96 38928.92\n", "1 la 16028.08 24877.30\n", "2 \u00eatre 40411.41 21709.87\n", "3 et 12909.08 20879.73\n", "4 le 16953.50 20735.14" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that we have two sets of frequency data: `freqfilms2`, which is based on a corpus of film subtitles, and `freqlivres`, which is based on a corpus of books. There are some important differences. For example, French films use the _pass\u00e9 compos\u00e9_ far more often than books, which raises the frequencies of the auxiliary verbs _\u00eatre_ and _avoir_:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "sql(\"SELECT * FROM lemme_simple ORDER BY freqfilms2 DESC LIMIT 5\")" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lemmefreqfilms2freqlivres
0 \u00eatre 40411.41 21709.87
1 avoir 32134.77 19230.64
2 je 25988.48 10862.77
3 de 25220.96 38928.92
4 ne 22297.51 13852.97
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ " lemme freqfilms2 freqlivres\n", "0 \u00eatre 40411.41 21709.87\n", "1 avoir 32134.77 19230.64\n", "2 je 25988.48 10862.77\n", "3 de 25220.96 38928.92\n", "4 ne 22297.51 13852.97" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Parts of speech\n", "\n", "Using the film dataset, let's take a look at the parts of speech:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "cgram_freq = sql(\"\"\"\n", "SELECT cgram, SUM(freqfilms2) AS freqfilms2, SUM(freqlivres) AS freqlivres\n", " FROM lemme GROUP BY cgram\n", "\"\"\", index_col='cgram')\n", "cgram_freq" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
freqfilms2freqlivres
cgram
1.20 0.00
ADJ 42939.77 56548.13
ADJ:dem 6363.94 6802.23
ADJ:ind 2999.34 3737.10
ADJ:int 1273.62 582.91
ADJ:num 2525.93 4680.43
ADJ:pos 19106.03 20005.62
ADV 97693.38 69747.44
ART:def 54495.63 83470.15
ART:ind 26051.19 33763.58
AUX 26633.45 19302.64
CON 29730.47 38189.17
LIA 0.00 412.57
NOM 144894.66 186537.81
ONO 6291.15 1501.06
PRE 77439.28 118274.42
PRO:dem 15700.13 7549.99
PRO:ind 7538.14 5716.50
PRO:int 1612.64 736.37
PRO:per 133651.20 90995.84
PRO:pos 334.17 322.16
PRO:rel 11547.03 14483.19
VER 198390.74 150350.57
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ " freqfilms2 freqlivres\n", "cgram \n", " 1.20 0.00\n", "ADJ 42939.77 56548.13\n", "ADJ:dem 6363.94 6802.23\n", "ADJ:ind 2999.34 3737.10\n", "ADJ:int 1273.62 582.91\n", "ADJ:num 2525.93 4680.43\n", "ADJ:pos 19106.03 20005.62\n", "ADV 97693.38 69747.44\n", "ART:def 54495.63 83470.15\n", "ART:ind 26051.19 33763.58\n", "AUX 26633.45 19302.64\n", "CON 29730.47 38189.17\n", "LIA 0.00 412.57\n", "NOM 144894.66 186537.81\n", "ONO 6291.15 1501.06\n", "PRE 77439.28 118274.42\n", "PRO:dem 15700.13 7549.99\n", "PRO:ind 7538.14 5716.50\n", "PRO:int 1612.64 736.37\n", "PRO:per 133651.20 90995.84\n", "PRO:pos 334.17 322.16\n", "PRO:rel 11547.03 14483.19\n", "VER 198390.74 150350.57" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "cgram_freq_summary = cgram_freq.groupby(lambda x: x[0:3]).sum()\n", "plt.figure(figsize=(7,7))\n", "plt.subplot(aspect=True)\n", "plt.pie(cgram_freq_summary.freqfilms2, labels=cgram_freq_summary.index.values, colors=colors)\n", "plt.title(\"Parts of speech\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Text coverage\n", "\n", "How many words do we need to know to understand 98% of the individual words which appear on a given page?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "coverage = sql(\"\"\"\n", "SELECT lemme, freqfilms2 FROM lemme_simple\n", " ORDER BY freqfilms2 DESC\"\"\")\n", "coverage.index += 1\n", "coverage['film_coverage'] = \\\n", " 100*coverage['freqfilms2'].cumsum() / coverage['freqfilms2'].sum()\n", "del coverage['lemme']\n", "del coverage['freqfilms2']\n", "coverage[0:5]" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
film_coverage
1 4.454456
2 7.996598
3 10.861248
4 13.641296
5 16.099099
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ " film_coverage\n", "1 4.454456\n", "2 7.996598\n", "3 10.861248\n", "4 13.641296\n", "5 16.099099" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "book_coverage = sql(\"\"\"\n", "SELECT lemme, freqlivres FROM lemme_simple\n", " ORDER BY freqlivres DESC\"\"\")\n", "book_coverage.index += 1\n", "coverage['book_coverage'] = \\\n", " 100*book_coverage['freqlivres'].cumsum() / book_coverage['freqlivres'].sum()\n", "coverage[0:5]" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
film_coveragebook_coverage
1 4.454456 4.260534
2 7.996598 6.983203
3 10.861248 9.359217
4 13.641296 11.644377
5 16.099099 13.913712
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ " film_coverage book_coverage\n", "1 4.454456 4.260534\n", "2 7.996598 6.983203\n", "3 10.861248 9.359217\n", "4 13.641296 11.644377\n", "5 16.099099 13.913712" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(coverage.index.values, coverage.film_coverage, label=\"Film Coverage\")\n", "plt.plot(coverage.index.values, coverage.book_coverage, label=\"Book Coverage\")\n", "plt.legend(loc = 'lower right')\n", "plt.title('Text Coverage')\n", "plt.xlabel('Vocabulary size')\n", "plt.ylabel('% coverage')\n", "plt.xlim((0,10000))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "(0, 10000)" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nERHx1v8HqiIXWxPbqKUAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or, in table form, here's how many words you need to know to get a given percentage of coverage:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "coverage.loc[[250, 500, 1000, 2000, 4000, 8000, 16000], :]" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
film_coveragebook_coverage
250 76.164757 68.074024
500 82.792428 74.990087
1000 88.386602 81.450089
2000 93.004247 87.535363
4000 96.410076 92.756703
8000 98.554939 96.606475
16000 99.666146 99.017399
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ " film_coverage book_coverage\n", "250 76.164757 68.074024\n", "500 82.792428 74.990087\n", "1000 88.386602 81.450089\n", "2000 93.004247 87.535363\n", "4000 96.410076 92.756703\n", "8000 98.554939 96.606475\n", "16000 99.666146 99.017399" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Text coverage by part of speech\n", "\n", "We want to get a feel for how many nouns, verbs, etc., are required in a well-balanced vocabulary. This requires grouping words by part of speech, sorting them by frequency, and graphing the cumulative text coverge for a given number of words. This takes a fair bit of work to set up.\n", "\n", "First, we need to do quite a bit of data munging:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Merge related cgrams, sum frequency over (cgram, lemme) groups,\n", "# and sort by (cgram,freqfilms2).\n", "cgram_lemme_freq = sql(\"\"\"\n", "SELECT cgram, SUM(freqfilms2) AS freqfilms2\n", " FROM (SELECT CASE WHEN cgram='AUX' THEN 'VER'\n", " ELSE SUBSTR(cgram, 1, 3)\n", " END AS cgram,\n", " lemme, freqfilms2\n", " FROM lemme)\n", " GROUP BY cgram, lemme\n", " ORDER BY cgram, freqfilms2 DESC\n", "\"\"\")\n", "\n", "# Convert freqfilms2 to a cumulative percentage over each cgram group.\n", "cgram_col = cgram_lemme_freq['cgram']\n", "normalized_freq = cgram_lemme_freq.groupby(cgram_col).transform(lambda x: x/x.sum())\n", "cumulative_freq = normalized_freq.groupby(cgram_col).cumsum()\n", "cgram_lemme_freq['freqfilms2'] = 100.0*cumulative_freq\n", "\n", "# Sequentially number the rows within each cgram group so we can see the\n", "# vocabulary size corresponding to each cumulative percentage.\n", "cgram_lemme_freq['rang'] = cgram_lemme_freq.groupby(cgram_col).cumcount()+1\n", "\n", "# Index by cgram group, and vocabulary size within the group. Uncomment the\n", "# last line to view the data.\n", "cgram_lemme_freq.set_index(['cgram', 'rang'], inplace = True)\n", "#cgram_lemme_freq" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have the data, we can plot it using two different graphs: One for the \"large\" parts of speech (nouns, etc.), and one for the parts of speech which are either closed classes, or at least very small." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def plot_cgrams(labels):\n", " for key in labels.keys():\n", " cgram_group = cgram_lemme_freq.loc[key]\n", " plt.plot(cgram_group.index.values, cgram_group.freqfilms2, label=labels[key])\n", " plt.legend(loc = 'lower right')\n", " plt.title('Text Coverage by Part of Speech (films)')\n", " plt.xlabel('Words known by part of speech')\n", " plt.ylabel('% coverage')\n", " plt.ylim((0,100))\n", " plt.axhline(y=90, color='k', ls='dashed')\n", "\n", "plt.figure(figsize=(12,4))\n", " \n", "plt.subplot(121)\n", "small_cgram_labels = {\n", " 'PRO': 'Pronouns',\n", " 'ADV': 'Adverbs',\n", " 'PRE': 'Prepositions',\n", " 'CON': 'Conjuctions',\n", " 'ART': 'Articles'\n", "}\n", "plot_cgrams(small_cgram_labels)\n", "plt.xlim((0,150))\n", "\n", "plt.subplot(122)\n", "large_cgram_labels = {\n", " 'NOM': 'Nouns',\n", " 'VER': 'Verbs',\n", " 'ADJ': 'Adjectives'\n", "}\n", "plot_cgrams(large_cgram_labels)\n", "plt.xlim((0,10000))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "(0, 10000)" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\ndDrt22+/NSwfOnSotmjRIk3TNK1Pnz7ahx9+aFh2+vRprVGjRlpxcbG2b98+rWXLluViCgkJ0fbs\n2aNpmqbNnTtX69evn2HZ8ePHNWdnZ03TNO3s2bNa8+bNtf/+97/azZs3a1z2O1HVZwncXX2riuYw\nz0ErKCpokPdeCEvEbfKumVK7pmmaduDAAa1x48Zadna2pmma1rFjR+29997T/ve//2kBAQHl1n3k\nkUe02bNna5qmlcvLhw8f1oKCgsqtu3DhQm3s2LGapmla27ZttW3btpk8vk6n0xISEgyvK+b77t27\na7GxsZqmadru3bu10NBQTdM07dKlS5qTk5OWl5dnWHf9+vXao48+qmmapo0ePVqbMGGClpycfNv3\noKrPh3rK2VbZ8n29pBgPB3m6pbgL1VWOriGdTsfWrVvJzMwkMTGRDz74gMaNGwOU63Ysbe0u1aRJ\nE5o2bUpKSophnp+fn2HaxcXF0KJRcdugoCCKioq4fPlytWL09fUtt9/8/HxKSkoICwvj/fffJyoq\nCl9fX4YPH15uKIyof072TjjaO5o7DCEslplSOwAxMTGEh4fj5uYGwJAhQ4iJiSEtLY0WLVqUW9c4\nRxtLSkoiNTUVLy8vw7933nmHK1euAJCcnExoaOgdxTdixAg2bNgAwPr16w2t3klJSRQWFuLv7284\n5p/+9CeuXr0KwOLFi9E0jS5dutChQwdWr159R8evDw7mDuBO5NkV4+VoD6mpUOGLIYRoWMZdkAEB\nASQmJhpeX79+nWvXrlVK4KZU3PbChQs4ODjg6+tLcnIyN27cMCwrLi42JNjqGD58OMOHDycnJ4eX\nXnqJGTNmEBsbW+3tRe14NvY0dwhCCBPy8vLYtGkTJSUl+Pv7A1BQUEBWVhb+/v7lGk5AVXjDwsIq\n7ScwMJBWrVpx5swZk8cJDAwkPj6e9u3b1zjG5557jtdee42UlBQ+//xzDh8+bNink5MT165dw86u\ncluyr68v//jHPwD49ttv6du3L7169aJ169Y1jqGuWWXLd55dEd4lN8HLC5yczB2OEEJv+PDhrF69\nmri4OAoKCpg1axZdu3YlqIoLozVNM4wlHz58OO+99x6JiYnk5uYya9YsIiIisLOzo23btuTn57Nz\n504KCwtZsGABBQUF1YrpzJkz7N27l4KCApycnGjcuDH29vZ1VmZxe+5O8iA0ISzR559/joODAydP\n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\n/wAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "It would be nice to have this as a table, too, so we can figure out\u2014for example\u2014how many nouns we need to get 75% coverage. Once again, this will require a fair bit of data munging." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Only include the parts of speech used in our graph.\n", "cgram_labels = small_cgram_labels.copy()\n", "cgram_labels.update(large_cgram_labels)\n", "interesting = cgram_lemme_freq.loc[cgram_labels.keys()]\n", "\n", "# We'll use this to build a list of columns in our final table.\n", "columns = []\n", "\n", "# Calculate minimum number words for a given percentage of coverage.\n", "for threshold in [75,90,95,98,99,99.5]:\n", " # Discard all the rows below our threshold.\n", " over_threshold = interesting[interesting['freqfilms2'] >= threshold]\n", " \n", " # Take the first row that remains.\n", " over_threshold.reset_index(inplace=True)\n", " over_threshold.set_index('cgram', inplace=True)\n", " first_over = over_threshold.groupby(level=0).first()\n", " \n", " # Keep only a single column named after our threashold.\n", " del first_over['freqfilms2']\n", " first_over.rename(columns={'rang': '%r%%' % threshold}, inplace=True)\n", " columns.append(first_over)\n", "\n", "# Join all the columns together.\n", "table = columns[0].join(columns[1:])\n", "\n", "# Clean up the table a bit and add a total\n", "table.index.names = ['Part of speech']\n", "table.index = table.index.map(lambda i: cgram_labels[i])\n", "table.loc['TOTAL'] = table.sum()\n", "table" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
75%90%95%98%99%99.5%
Adjectives 136 620 1367 2686 3742 4736
Adverbs 17 42 69 118 182 277
Articles 6 8 9 9 10 10
Conjuctions 5 9 11 14 15 17
Nouns 1137 3115 5215 8454 10956 13347
Prepositions 6 9 14 21 26 30
Pronouns 16 24 29 40 50 65
Verbs 63 290 583 1108 1601 2149
TOTAL 1386 4117 7297 12450 16582 20631
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ " 75% 90% 95% 98% 99% 99.5%\n", "Adjectives 136 620 1367 2686 3742 4736\n", "Adverbs 17 42 69 118 182 277\n", "Articles 6 8 9 9 10 10\n", "Conjuctions 5 9 11 14 15 17\n", "Nouns 1137 3115 5215 8454 10956 13347\n", "Prepositions 6 9 14 21 26 30\n", "Pronouns 16 24 29 40 50 65\n", "Verbs 63 290 583 1108 1601 2149\n", "TOTAL 1386 4117 7297 12450 16582 20631" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Verb groups\n", "\n", "We divide verbs into the three standard groups, _-er_, _-ir_ and _-re_. We split _aller_ into its own group, because it's the only irregular _-er_ verb. For now, we treat the auxiliary versions of _\u00eatre_ and _avoir_ in the _pass\u00e9 compos\u00e9_ as being ordinary verbs." ] }, { "cell_type": "code", "collapsed": false, "input": [ "verbs = sql(\"SELECT * FROM verbe ORDER BY freqfilms2 DESC\")\n", "verbs[0:15]" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lemmegroupeprototypeconjugaisonauxfreqfilms2freqlivres
0 \u00eatre re \u00eatre \u00eatre avoir 40310.72 21587.31
1 avoir ir avoir avoir avoir 32131.64 19227.33
2 aller aller aller aller \u00eatre 9992.78 2854.92
3 faire re .*faire faire avoir 8813.52 5328.99
4 dire re dire|redire dire avoir 5946.18 4832.51
5 pouvoir ir pouvoir pouvoir avoir 5524.46 2659.75
6 vouloir ir .*vouloir vouloir avoir 5249.31 1640.16
7 savoir ir .*savoir savoir avoir 4516.72 2003.59
8 voir ir .*voir|.*oir voir avoir 4119.47 2401.76
9 devoir ir .*devoir devoir avoir 3232.59 1318.20
10 venir ir .*venir venir \u00eatre 2763.82 1514.53
11 suivre re .*suivre suivre avoir 2090.55 949.13
12 parler er .*er -er avoir 1970.53 1086.02
13 prendre re .*prendre prendre avoir 1913.84 1466.44
14 croire re .*croire croire avoir 1712.02 947.25
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ " lemme groupe prototype conjugaison aux freqfilms2 freqlivres\n", "0 \u00eatre re \u00eatre \u00eatre avoir 40310.72 21587.31\n", "1 avoir ir avoir avoir avoir 32131.64 19227.33\n", "2 aller aller aller aller \u00eatre 9992.78 2854.92\n", "3 faire re .*faire faire avoir 8813.52 5328.99\n", "4 dire re dire|redire dire avoir 5946.18 4832.51\n", "5 pouvoir ir pouvoir pouvoir avoir 5524.46 2659.75\n", "6 vouloir ir .*vouloir vouloir avoir 5249.31 1640.16\n", "7 savoir ir .*savoir savoir avoir 4516.72 2003.59\n", "8 voir ir .*voir|.*oir voir avoir 4119.47 2401.76\n", "9 devoir ir .*devoir devoir avoir 3232.59 1318.20\n", "10 venir ir .*venir venir \u00eatre 2763.82 1514.53\n", "11 suivre re .*suivre suivre avoir 2090.55 949.13\n", "12 parler er .*er -er avoir 1970.53 1086.02\n", "13 prendre re .*prendre prendre avoir 1913.84 1466.44\n", "14 croire re .*croire croire avoir 1712.02 947.25" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see, all three groups have roughly equal text coverage, but there are actually far more _-er_ verbs than all the others combined. This suggests that a small number of _-ir_ and _-re_ verbs are disproportionately common." ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure(figsize=(8,8))\n", "\n", "plt.subplot(121, aspect=True)\n", "group_freq = verbs.groupby(verbs['groupe']).sum()\n", "plt.pie(group_freq.freqfilms2, labels=group_freq.index.values, colors=colors)\n", "plt.title(\"Verb group frequency\")\n", "\n", "plt.subplot(122, aspect=True)\n", "group_size = verbs.groupby(verbs['groupe']).count()\n", "plt.pie(group_size.lemme, labels=group_size.index.values, colors=colors)\n", "plt.title(\"Verb group size (words)\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER\nERERERERERERERERERERERERERERERERERERERERERERERERERERkY/tn32k6x9ouff3AAAAAElF\nTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "# Extract the columns we need, and get rid of 'aller'.\n", "group_freq = verbs[['groupe', 'lemme', 'freqfilms2']].copy()\n", "group_freq = group_freq[group_freq['groupe'] != 'aller']\n", "\n", "# Calculate coverage percentages for frequency ranks in each group.\n", "groupe_col = group_freq['groupe']\n", "normalized_freq = group_freq.groupby(groupe_col).transform(lambda x: x/x.sum())\n", "cumulative_freq = 100.0*normalized_freq.groupby(groupe_col).cumsum()\n", "group_freq['freqfilms2'] = cumulative_freq\n", "group_freq['rang'] = group_freq.groupby(groupe_col).cumcount()+1\n", "group_freq.set_index(['groupe', 'rang'], inplace=True)\n", "group_freq[0:10]" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lemmefreqfilms2
grouperang
re1 \u00eatre 53.707239
ir1 avoir 44.826275
re2 faire 65.449768
3 dire 73.372051
ir2 pouvoir 52.533350
3 vouloir 59.856569
4 savoir 66.157764
5 voir 71.904763
6 devoir 76.414491
7 venir 80.270247
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ " lemme freqfilms2\n", "groupe rang \n", "re 1 \u00eatre 53.707239\n", "ir 1 avoir 44.826275\n", "re 2 faire 65.449768\n", " 3 dire 73.372051\n", "ir 2 pouvoir 52.533350\n", " 3 vouloir 59.856569\n", " 4 savoir 66.157764\n", " 5 voir 71.904763\n", " 6 devoir 76.414491\n", " 7 venir 80.270247" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "# Sigh. My database is in French, and my libraries are in English.\n", "# There's no way to avoid coding in franglais, I fear.\n", "for group in ['er', 'ir', 're']:\n", " g = group_freq.loc[group]\n", " plt.plot(g.index.values, g.freqfilms2, label=group)\n", "plt.title('Verb Coverage by Group')\n", "plt.legend(loc = 'lower right')\n", "plt.xlabel('Verbs known in group')\n", "plt.ylabel('% coverage')\n", "plt.xlim((1,100))\n", "plt.ylim((0,100))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 18, "text": [ "(0, 100)" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEZCAYAAACJjGL9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XecFfX1//HX3V5oS++7gIAI0gQblo2oscSuRA12xSSW\n+I2aaEwh+SYWjD/4xiQaO1GDBRsqKkJYmoJU6U06S5O2sH3vzu+PM5d7t7J99t59Px+PedyZuXPv\nnDsLc+ZT5jMgIiIiIiIiIiIiIiIiIiIiIiIiIiIiIrWQBhQDUR7H0ZiloWMkjYT+EUpVfA78sZz1\nVwC7aJh/R6cCU4GDwH5gAXBrA+w3UvQG3gL2AoeB9cDfgC5eBiXhQYlCquI1YHQ5628C3sCufKsq\npgb7PwOYAcwEegFtgJ8BF9Xgu2ojuoH3V1dOwBLrDmAw0BIYAXwHnFXBZ2rydxKRJiwROAScHbIu\nBcgFTgZ8wCPARuB74G33fQhWodwObAUygFR33V3ATiATeLCS/c8Fnj1OjHcBG7DSxkdAJ3f9c8DT\npbb9CPgfd74z8B52pb0JuC9ku7HAZOB17Cr8dmA48DVWssl044oN+cyFwDrseP0DmAXcEfL+7cBq\n4ABWUutewe9Jo+Jj1BHIBlqHbD/U/Q3lJbM33N9cmXQskfwKKyVOBOKACe7+dwLj3XVgpbk5pb6j\nGOjpzr8GPA9MA7Kwv3tFv1VEIsQLwIshy3cDS9z5XwBfYSfdWOwE8R/3vTTsBPIalnDiQ9a96a4b\ngJ3kRpaz3ySgCDi3ktjOA/ZhV8txWJXKLPe9s4FtIdumADnYyTYKWAz8FruC7oFdZV/objsWKAAu\nd5cTsBPyqe5nU7GT/i/c99tiCeVK9/373c/f7r5/BZbM+rrvPwbMq+A3pVH5MfoU+GnI9uOB/6vg\nu3YBN1fwXkA6UAg8gf0NE4A/YX/Xtu40z10HVUsUWViJJZBwSm8vIhFmBHYVHbiinEfwBLkGO1kH\ndMJOkFEET3hpIe8H1vUJWfcU8FI5++1SzralvQw8GbKc7O6/O1ba2UqwNHQXMN2dP819L9SjwCvu\n/FjsSrgyDwDvu/M3U/bEv41govgsZB7s+GQD3cr53jQqP0Y/xkpaYKWIXcCwCmIsJJj8AO7F/pZH\nsAsAsESRT/DvC1ZCDK3euxDY7M7fyvETxX9C3kvGEr7aRMKQ2iikquZh1UpXYe0EwwmeCFKBD7CT\nz0HsKrsI6BDy+e3lfGfoum1YiaS0g9gJqFM57wV0ouQJPxurguoCOFgj7g3uezdiV+mBuDuHxH0Q\nSxTtQ75rR6l99QE+wU7Mh4G/YG0muN9VevvQ5VTsqj+wr/3u+spOnhUdo4+Ak7CEcoEby6IKvmM/\nJY/t37GS1QRKtkXswxJsQGdKHteK/kblcSj527Ox6raqfl4aESUKqY5/Y1fNo7H69X3u+m3YlWdK\nyJSEnUwDnHK+r3up+Z3lbJODtQlcW0lcmZQssSRjJ+/A901yP5+KVRu9FxL35lJxtwB+FBJz6bif\nwxLhCVij8GME/x9lAl1DtvWVWt4GjCm1v2RgfiW/raJjlAe8i/0tRmN/m4rMAK4uZ73PnQJK/9bS\nx7W7uw7sxJ8U8l7Hcr47tKTUDGtTyUREIloqdsW5HbgmZP0DWI+kwEmtHcF6/TTK3g8QWPc6Vv/e\nH9gDnF/Bfs/AqkkeInj1PghLAGD19nvddfHYVfvsUt+xGviSYJKAYBvFr9w4orG2gEAVzlg3xlAL\ngN9hJ8ITsYbrQBVMW6xe/grsSv1eSrZRXAmswEoCYInmugp+cxrHP0aBnktZlF99FdAbK8E8Q/CK\nvi12LALVbOmULfX9L1aSDLRRzCXYRtEHS1aDsPaM5ylb9XTYjTEOa0NRG4VIEzETq8oI7enjw3oR\nrcVOWhuBP7vvpQF+yiYKP3AndoW8C0sClRmO3UdxyN3/fEp22b3b3e9+YAplqzh+6+7zmlLrO2FV\naLuwqpGvCLa3/IGyV+pnY20yR7Bk9EdKJqUfUrLX01fAT0LeHw0sx06i2yi/XQaqfow2YH+T4+mD\n9Ubbh/2N1mIJNVDtlU7JRn8IJt1Md5pAyTaM37jftxX7jX6CieJVrPQ1DTtWGdiFhkgJr2BXQCtC\n1rXGrurWY/+AWoW89yj2j34tJRveRMJVFHaSr6zHVm1Np2QDeWPxKlYiEanU2cAQSiaKcVgxH+DX\nBHuqnAQsw65S07ArQ7WfSDi6ELsAisdKMTvd+fowHCsFJdfT99fGayhRSBWlUTJRrCXYE6ajuwxW\nmvh1yHafA6fXd3Ai9eAPWO+wLKwRfng97WciVr11vPsjvPIqwfYMkUqlUTJRHAyZ94UsP0vJetyX\nKFuXLCIiHvCyeqe8roel3xcREY819MBfe7Aqp91Yb5O97vqdlOze15Vy+tQPGjTI+fbbb+s7RhGR\nSPMddu9PjfiOv0mtpAEfYwPHgTVm78eGIngEa/R7BGvM/g92M1QXrCfHCZQtVTiO07QLGmPHjmXs\n2LFeh9Eo6FiUVOvj4TiQnw95eeVP+flQUGBTYL68daFTfj4UFla+TeD90O1Krwu8AsTGlj/FxJSY\nH7tnD2PT0nCioyE6CicmhuLoaJxoH8XR0RTHRFMc5aM4OopiH/ijo2w5Jgp/lA+/u84f5dhylI+i\nKGx9lENRFBT5HIp82HyUzft9DkU+h0KfQ5GvmCICy8X2SjFFFFMYVWzz7roC/Lbe506On0KKKcR/\n7L3A+wX4KXD8FPnsOwqcIgoJ2d4psvfx43eKKfx9IdTifF+fJYpJWLfAttiNPL/Hejm9g42muQUY\n5W672l0fGPrh56jqScQUFUFuLmRnQ05O2Sk3114XLYLx44PLpd8vvZybW3LKy7OTbGIiJCRAfHyJ\neSchASc2FicuBn9MDMVxMfhjovHHRlMUG0NRTJRNsfZaGO2jIAkKY6MoiI6iMCqe/Jh4CqKhIMoh\nPzBFO+RHFZMX5VAQVUyez0/usVe/vfr85PqKyKeIQn8hhcWFFbzmHlvOnpbN4+n7KCwuxIeP2OhY\nYqJiiImKITYq9thybJT7GrIcGx1LtC+a2OhYYqNiiY6KLne70O8LzIduW958Ysh2xz7j7ivaF11i\nfeC9wPal5wPbBubLez/aF03C7xNq9U+wPhPFDRWsr+ju28fdSST8BK7GjxyBo0ftNTBfesrODk6h\nyzk5ZedzcqCoCCcpCZKScBLi8SclUpwYjz8+jqLEeAoTYimMi+Hw5i1sXAp5cVHkx0aRFxdFbvMo\ncltDTizkxCRwNCaO7JgWHI0pJju6mCPRRRyJLiIrqpAjvkJynQLyivLIL8on359PftEB9zWfAn8B\nUb4o4qLjiI2OJT46nviYeGKjYomPiScuOo646Djio4Pzge3KzEfFHlsXWI6NjqVZdBwp7nzo+tD5\n0NfAd5R+LyYqhqePPM0fHv3DsRO91JweThJm0tPTvQ6h0aj1sXAcu5LOyio5HTlSdj70tZzJOXoU\noqJwkpPwN0umKDmRwsR4CpLiyU+KIz8hhtyEaHLjosiO85EdB0djHY60KyarczFZMUUcji7iUDQc\njorjQJTDAZ+PA74YDjo55PpziPLlkRiTSGJsPokxiSTEJJAY6ychJoGEGB8569uwdWCcuxyc4qPj\nSyy3iomnY8h78THxJeYD2wfmA69x0XFhdcL94fk/JCGmdlfSYuq7jaKuNfk2CnEVFsLBg3D4cHDK\nyqr4tfR8VhbOkSMQF4e/eTJFyUkUJMeTnxRPXkIM2YnRZMdHkZXgIyvO4XBcMYdi/RyMLWJ/dAH7\nYwrYF5XHvqg89kTlcCCmkLjEZiTHJZMcm1zmNSk26dhy6fnAFNguMTbx2LrEmMRj62KidF0nNePz\n+aAW53slCmk8cnMhMzM47dxpr3v32rRvH3z/PRw4ALm5OK1a4bRsSVHzJPKbJZKXHEd2YizZCVFk\nxcOheIcDsX4OxBWyL6aAPdG57I7KIdOXzU7fEfZHF9AsuRUt41vSKqEVLeJb0DKhJS3jW9IivoUt\nu/PN45vTPK45zeKalZgCiSAhJiHwn1Gk0VGikMbPcexqfscOm7ZvD87v3Ak7duBkZkJ2NoUd2pHb\nrhVH2jbnYJskvm8Ry55msCvRz46EfLbH5rIlKovtxYfYn3+QuOg4Wie2JiUxxV4TUmxKDL62SmhF\nSkLKsSTQKqEVrRJakRSbpJO7NAlKFOK94mLYtQu2bIGtW+3Vnfdv2wrbt+PgcLR9Kw60SWZPqxi2\nt3DY0qyIDUm5rIs/yrr4oxS3SaFdcnvaJrWlTVIb2ibaa5vENrRObE3rxNa0SbL5wLr4mPoaRkkk\ncihRSMM4cAA2bYLvvrPXzZvxb/oO/6bviN6ZSX6LJA60a86u1rFsSoF1ybksTzjM1pYO/i6dadW+\nO11adqVL8y50ad6Fzs070y65He2S2tEuuR0pCSlh1VAqEk6UKKTuZGfDhg2wfj2sX0/R2jUUrF1J\nzMbNUFjAvk4t2NY2jg0ti1jRLIe1zfLI69qR6LQedGiXRrcW3Wxqaa9dWnQhJSFF1TsiHlOikOpx\nHKsmWr0a1qyhePVq8ld/i2/demIOHmZPpxZsbBfNiha5LG+Zx9HUTji9e9O6e19SU9JIbZlKaqtU\nUlum0qFZB6J8Gg1epLFTopCKZWXBihWwfDnFy78lb+kiYtaspTAKtnZOZmUbPwtaZLGnS0t8fU8k\npc8g+rQ/kb5t+tK7TW+6teim6iCRCKBEIebAAVi8GGfhQvIWzMNZsoSY7/ezvWsLlndwmNfyCLvS\n2sDAk+nWaygntTuJk9qdxIltT6RZXDOvoxeReqRE0RTl5VlSmD+f7K8ycBYuJPb7A6zrnsy89nks\n6xpD/qD+tBlwGgM6D+Lk9ifTr10/JQSRJkqJoinYvx9mz4ZZsyiYOxvfqlVs65zMrA55LO8ehzNs\nGJ2Hn8fgLqcwsMNAOjbrqAZkETlGiSISHT0Ks2bBl1/izJiBf+tmNp3Ygc+75PJ5hyO0PusCRva/\njJE9R9KtRTclBRGplBJFpFi/Hj75BD75BGfhQvb2686s3rG8lLKZ7/ulctGJP+LiEy7mjG5naMwf\nEakWJYpw5ffDV1/BlCkwZQrFR4+w4Yy+vNH9IC+2/I7hfdL5Ue8fcUnvS+jWstvxv09EpAK1TRS6\nNG1IxcUwZw68+SZ88AFO165sOqs/r9zRg3/4v+bcHi0YffLP2dTnUpJik7yOVkQEUImiYezYAf/4\nB7zxBrRpw4GrLuKVPtn8bfdHtEtux22Db+P6AdfTNqmt15GKSARS1VNjtnQpPPMMTJ1K8eifkHFB\nH57OmsrCnQv5yck/4fYhtzOo4yCvoxSRCKdE0dgUF8PUqZYgNmwg/+d388rwGJ5c9Txdmnfhp8N+\nynUnXUdibKLXkYpIE6E2isaioABefx3++ldITOTIvWP4f9128PdlfyP9UDqTr5vM8C7DvY5SRKTa\nlChqKycHXnrJEkS/fhz66194Ku4bXlj6GFe3vZqvbv+K3m16ex2liEiNaejPmioogH/+E044AWbO\n5NCbL/PrhwbTc+WdHC7IYsmYJbx4+YtKEiIS9lSiqK7iYnj7bfjd7+CEEzjy/luMy/mSf359PaNO\nGsW3P/1W9z2ISERRoqiOdetgzBjIyaHo+ef4R7PV/GXOtVzW5zIWj1lMWqs0ryMUEalzShRVUVAA\nTz8N48fj/O53TL2wBw/OuI/UVqnMvGUm/dv39zpCEZF6o0RxPFu3wrXXQtu2FHzzNfeuepqM6f9g\nwkUTuPiEizUgn4hEPDVmV2b6dDjtNLj+eva88yrnZdzG9znfs3jMYi7pfYmShIg0CUoU5XEceOop\nuOkmmDSJxTekM/ylUzm/5/lMHjWZ5vHNvY5QRKTBqOqptLw8uPNOa7heuJD3shbw0zdH8fylz3PN\nSdd4HZ2ISINTogi1bx9cdRV06oSTkcGTS/7GPxf9ky9Gf8HQTkO9jk5ExBOqegpYs8baI9LTKZr0\nJrdPv5f31rzH/DvmK0mISJOmEgXYMyKuvRbGjcN/02hu+mA0h/IOMevWWSTHJXsdnYiIp5Qo3n0X\n7rkH3nwT/8jzuO2j29ifs58pN0whISbB6+hERDzXtBPFs89a76Zp0ygeNJC7Px7D9qztfHrjp0oS\nIiKuppsoJk+2u63nzYPUVB6f/WfWfL+GL0Z/oceQioiECLc7xurmwUULF8Ill8C0aTBkCCv3ruQH\nE3/AkjFLNKCfiESc2j64yKteT48Cq4AVwH+AeKA18CWwHpgGtKqXPe/YYV1gX3wRhgyhqLiI2z+6\nnb+c9xclCRGRcniRKNKAu4ChwMlANHA98AiWKPoAM9zlupWTA5ddBvfdB1deCcD4r8fTPL45dw29\nq853JyISCbxIFFlAIZCEtZEkAZnA5cBEd5uJwJV1vuff/hZ694Zf/QqAdd+v46l5T/HSZS9p3CYR\nkQp40Zh9AHgG2AbkAl9gJYkOwB53mz3uct2ZNw8mTYIVK8BNCvd/fj+/P/f39EjpUae7EhGJJF4k\nil7AA1gV1GHgXWB0qW0cdypj7Nixx+bT09NJT08//h5zc+G22+Af/4C2bQHYsH8DS3ct5eMbPq5u\n/CIijVpGRgYZGRl19n1e1Lf8GLgAuNNdvgk4HTgP+AGwG+gEzAROLPXZmvV6eugha8R+661jqx6Z\n/ghFxUX89cK/Vv/7RETCSG17PXlRolgL/A5IBPKA84FvgGzgFuAp9/XDOtnb/Pnw5puwfPmxVYX+\nQiZ+O5GZt8ysk12IiEQyLxLFt8C/gUVAMbAEeAFoDrwD3AFsAUbVek9FRXD33TB+PLRrd2z1J+s/\noXfr3pzYtnSBRURESgu3rj7Vq3r6+9/h/fdhxoxjDdgAl7x5CdcPuJ6bB91cDyGKiDQuta16itxE\nsXcvDBgAM2dC//7HVm8/vJ3B/xrM9v/ZrqE6RKRJCNc7s+vfo4/ao0xDkgTAK0tf4YYBNyhJiIhU\nUWQOCrhgAXz2GaxdW2K1v9jPK8te4aPrP/IoMBGR8BN5JYriYrj3Xhs+vEWLEm/N2jqLNoltGNxx\nsEfBiYiEn8hLFG+/bQ3Xo0vfwwfvrHqH6wdc70FQIiLhK7KqnvLz4Te/gVdfLdHLCaCouIj317zP\ngjsXeBSciEh4iqwSxXPPWeN1OcN6ZGzJIK1VmsZ1EhGppsgpURw6BE88YfdMlOOdVe8wqn/t7+ET\nEWlqIidRPPUUXHqp3TtRSqG/kA/WfsCiuxZ5EJiISHiLjESxcye88AJ8+225b8/cMpNeKb1IbZXa\nwIGJiIS/yGij+PxzuPhi6Nq13LdV7SQiUnORkSiWLoVTTin3rUJ/IR+u/ZBrT7q2gYMSEYkMkZMo\nhgwp960Zm2fQp00furfs3sBBiYhEhvBPFH6/PWticPl3W3+49kOu7nd1AwclIhI5wj9RbNxoz5po\n1arct6dvms6FvS5s4KBERCJH+CeKSqqdthzaQlZ+FgPal+0yKyIiVRPRiWLGphmM7DmSKF/4/0wR\nEa+E/xn0OA3ZI3uMbOCAREQiS3gnCsepMFE4jsOMzTM4v+f5HgQmIhI5wjtR7Nxpo8R26lTmrZV7\nV9IsrhlprdIaPi4RkQgS3okiUJrwlX0U7PRN0zm/h0oTIiK1FRmJohwzNltDtoiI1E5EJopCfyFz\nts3hvB7neRCUiEhkichE8c3Ob+iZ0pO2SW09CEpEJLKEb6I4cAD274cTTijzltonRETqTvgmimXL\nYNAgiCr7E9Q+ISJSd8I3UVRQ7ZRbmMviXYs5q/tZHgQlIhJ5wjdRLFtWbqJYsHMBJ7c/mWZxzTwI\nSkQk8oRvoti4Efr0KbN69tbZnN39bA8CEhGJTOGbKDZtgh49yqyes20O56Se40FAIiKRKTwTRXY2\nHD5cZuiOQn8h83fMZ0T3ER4FJiISecIzUWzZAqmpZXo8Ld29lB6tetA6sbU3cYmIRKDwTBSbN5db\n7TR762xVO4mI1LGIShRzts1RQ7aISB2raqJIAvrWZyDVUk6iKHaKmbttLmenKlGIiNSlqiSKy4Gl\nwBfu8hBgSi332wqYDKwBVgOnAa2BL4H1wDR3m/KVkyhW71tNSkIKnZt3rmVoIiISqiqJYix2Ij/o\nLi8FetZyv/8HTAX6AQOBtcAjWKLoA8xwl8tXTqJQ+4SISP2oSqIoBA6VWldci322BM4GXnGXi4DD\nWMllortuInBluZ92nHIThdonRETqR0wVtlkF/MTdtjdwP/BVLfbZA9gHvAoMAhYDDwAdgD3uNnvc\n5bIOHrRk0TrYBdZxHGZvnc2ff/DnWoQlIhIZ8vPtLoJNm2yqraokivuAx4B8YBLWVvG/tdznUOBe\nYCEwgbLVTI47lRUoTYQ8/nTzoc0A9EypbY2YiEjj5zjw/ffw3XeWCAKvgWnvXujeHXr2LLeDaLVV\nJVFkA79xp7qww50WusuTgUeB3UBH97UTsLe8D4996ilLl2PHkp6eTnp6OvO2zWNEtxH4ynl2tohI\nOCoqgq1bLQkEptCkEBdniaBXL3sdMQJuvtnmN27MYM6cjDqLpSpn1o+xq/vAtg6QhZ3o/wXk1WC/\ns4E7sR5OY7HutwD7gaewEkYryilpOOPGQWYmjB9/bOX9n91PtxbdeHjEwzUIRUTEGzk5wZP/xo0l\nk8L27dCxoyWC0lPPntCq4n6hZbgX0TW+kq5KiWIz0BardvIBPwaOYL2TXgRuqsF+7wPeBOKA74Db\ngGjgHeAOYAswqvxoNsOJJ5ZYtTBzIVf3u7oGYYiI1K+cHDvxb9hg08aNwdfvv7eqoV697GGd/frB\nZZdZIkhLg/h4r6M3VUkUZwLDQpanAIvcdatquN9vgeHlrD/+80s3b4aLLz62WOgvZPme5ZzS6ZQa\nhiIiUjsFBVYyWL/epkBS2LAhmAx697bplFPg+ustMXTtCtHRXkd/fFVJFMlAKrDVXU511wEU1EdQ\nlSrVNXbl3pWktkyleXzzBg9FRJoOx4E9e2DtWli3LjitX2/VRN262SNy+vSxpzRfe60lhm7dwiMZ\nVKYqieJBYA4Q6GTVE/g5liwmVvSherN1q5XJXAszFzK8S3mFExGR6isstKqiNWssKQQSw9q1EBsL\nffsGp3PPtcTQq5c1LkeqqiSKqVh7xIlYQ/Y6gg3YE+oproo1bw7Ngo85XbhzIcM7K1GISPXk5NjJ\nf82aktOmTVYldOKJ1mZwzjlw11223Lat11F7oyqJAuxGu75AAnaTHMC/6yWi4ynVKXhh5kLuHHqn\nJ6GISON38CCsXl02IezeHWxA7tcPRo2y1z59ICHB66gbl6okirHAuUB/4FPgYmAujSBR5BTmsH7/\negZ1HFTJB0SkKdi3zxLCqlX2Gphycqw0cNJJlgjOPddee/SAmKpeKjdxVTlM12KliCVYN9YOWNdW\nb4QkimW7l9GvXT8SYpT+RZqKffuCyWDVquB8YSH07x9MCJdfbvNdupQYyEFqoCqJIhfwY4P3tcTu\nmO5Wn0FVKiRRqH1CJHIdOBBMBKtWwcqV9lpQEEwI/fvDlVfaa6dOSgj1pSqJYiGQgt1ctwgb0qM2\ngwLWTmiiyFzID9J+4FkoIlJ7OTnBRLBihb2uXAlHj1oC6N8fBgywEoISgjeOd7h9WOlhm7vcA2iB\n3TDnBcfZsMFaoIC+f+/Lu9e9y8AOAz0KR0Sqyu+3bqfLl1tCCEw7d1oD8sknW0IYMMDmu3VTQqgr\ntR3CoyqJYgUwoKY7qGOOk58PcXEcyjtE1//XlUOPHCImSi1SIo3J4cOWEL79NjitWgUdOlgSCJ16\n97b7E6T+1PdYTw72vIhTgW9qupM65d7VsjhzMYM7DlaSEPGQ48C2bbBsmSWDZcts2rPHksCgQTBk\nCNx6qy23aOF1xFITVTnLng6MxobwyHbXOdgjTD2zMFMN2SINqaDA7j8IJIPAlJBgyWDQILsX4Ykn\nrHY43IetkKCqJIof1nsUNbAoc5FGjBWpJ9nZVkJYsgSWLrXXdeusL8ngwZYULr7YXjuU/yxKiSBV\nrbM6GzgBe3xpO6AZNvx4Q3Mcxx581+P/evD5Tz6nb9u+HoQhEjmOHAkmg8WL7XXzZrsX4ZRTYOhQ\nKzEMHAiJiV5HKzXREM+jGAucgg3h8Sr2DIk3gBE13WltHcg9wP6c/fRu09urEETCUiApLFpkSWHR\nItixw9oPhg6F9HR48EG7RyGSB7mT6qlKorgKGII1agPsBDwd03vprqUM7jiYKF+Ul2GINGo5OdaG\nsGhRcNq61ZLCsGFwwQXwyCNWctBQFlKZqvzzyAeKQ5aTK9qwoSzetZihnYZ6HYZIo1FQYPckLFoE\nCxfatGGDlQyGDbPxjQIlBXVFleqqSqJ4F3s2ditgDHA78FJ9BnU8S3Yt4dLel3oZgohnHMeSwDff\nBKcVK+zxmcOHW2IYM8baFDQKqtSFqjZuXOhOAF8AX9ZPOMflOI5Dn2f78MGPP6B/+/4ehSHScA4c\ngAULYP58mxYutPsRTj0VTjvNXocMKfGYFpESGqIx+0HgLWBaTXdSl7Lys8g8kqneThKR/H67g/nr\nry0pfP01ZGZaKeH00+GeeywxdOzodaTSlFQlUTTHksRBLGG8C+ypz6Aqs3TXUgZ2GKg7siUiZGdb\naWHePJvmz4f27eHMMy0xPPCAjX2km9fES1XtHjsWeybFKGA2sAMYWW9RVWLJriVqyJawtWsXzJ1r\nSWHuXLvTedAgGDECfvpT+Pe/LVGINCbVuSzfC+wG9mM33Xliye4lGlpcwoLjwPr1MGeOTXPn2mM5\nR4ywacIEq1JSg7M0dlVJFD/HShLtsWqnO4HV9RlUZRZnLubBMx70avciFfL7bdiL2bODiSEhAc4+\nG846Cx5+2LqnRun2HwkzVUkU3YEHgGX1HEuVbDm0hf7t1NtJvFdYaHc3z5plyWHePHvs5tlnw9VX\nw/jx0L2711GK1F5Vu0sNxsZ7coA5ePjgomEvDGPhXQs92r00ZQUFdkNbRoZN8+fbIHnnnmvTOedA\nO88qZUWCS5/7AAAVO0lEQVQq1hDdY38B3AW87+7oDeyxqH+r6U5rY2hHNWRLw/D7bYC8GTPgv/+1\nrqp9+lhSuPdeeOstaN3a6yhF6l9VEsWdwGkEn0XxJDAfjxLFKZ1P8WK30gQ4jvVC+u9/LTnMmgWd\nO8PIkXb/wttvQ0qK11GKNLyq9noqrmC+walrrNSlHTssKUyfbq9xcZYYrrsOnntON7aJQNXqrH4J\n3Eqw6ulK4DVgfL1FVTEntzCXhBj1J5SaOXzY2hemT7dp3z447zxLDiNHQq9e4KtxTa5I41TbNoqq\nfvAU4CyCjdlLa7rDWjr24CKRqigstEbn6dPhyy9t8LwzzoDzz7dp8GB1V5XI1xCJ4nTsvoksd7kF\n0A9YUNOd1oIShRzXxo3wxRcwbZq1M/TqZc9euOACu9FNN7hJU9MQiWIZ9uCiwBk6GljkrmtoShRS\nRnY2zJwJn39uU04O/PCHNo0cqS6rIg3RPRaCSQLAjyULEU84DqxdC599ZtP8+TYUxsUXw/vv2xPc\n1M4gUneqkig2A/cDz2EZ6WfApvoMSqS07Gzrtjp1qiWH4mJLDPfcA++9Z89nEJH6UZXrrg7YPROB\nkfhmYDfh7a2voCqhqqcmZP16SwxTp9rNbsOHW3K45BIbM0mlBpGqaaheT/Uh0NaxA7gMaA28DaQC\nW7CBCA+V+owSRQQrKLAxkz75BD791NoaLrnEppEjVWoQqalwThS/xLrdNgcuB8YB37uvvwZSgEdK\nfUaJIsIcPGglhilTrJdS375w2WVw6aX2nAaVGkRqL1wTRVfspr2/YAnjMmAtcC729LyOQAZwYqnP\nKVFEgG3b4MMP4aOP7PnP6elwxRWWHHQntEjda6heT3VtPPAwdk9GQAeCj1jd4y5LhFi71hqdP/gA\ntmyBH/0I7rvP7m1ITvY6OhGpTHUSxenYI1ETgQnABzXc54+whvClQHoF2ziU7JIrYWjlSnj3XZg8\n2YbOuPpqePppe15DjB55LhI2Kvvv2hF79GnAg8DV7vw31DxRnIm1SVwCJGClitcJVjntBjpRQa+q\nsWPHHptPT08nPT29hmFIfdi0CSZNsunIERtc7+WX4dRTNVSGSEPJyMggIyOjzr6vsjqrD4ElWONy\nHvYMitnYlf7PgBF1sP9zgYewNopx2PO4n8IasVuhxuywsHs3vPMO/Oc/lihGjYIbbrAxlZQcRLxX\n343Zl2H3TPwbeA+4Eat6mgTsq+lOQ5yLlVQux7rHvoM9enUL6h7bqGVnW3vD66/DggVw+eVw4402\n0J6qlUQal4bo9RQN3IO1LfwZK1V4RYnCQ45jg+y9+qr1WBoxAm66yZJEUpLX0YlIReozUVwBPICN\n7fQXbHDA3wGdgceA72q601pQovBAZia89hq88oqNvHrHHVZ66KB+aSJhoT4TxQrgVKzBeRow3F3f\nGytZ/LimO60FJYoGUlRkYyq9+CLMmWON0nfcYY3SuglOJLzU530Uh4GrgGSC9zcAbMCbJCENYNs2\n66X08svQtSvcdZc1Ujdr5nVkIuKVyvqkXAW0xdoobmyYcMQLRUXW5nDppTBkCBw4YMNqzJ9vpQgl\nCZGmLdwqEVT1VIe2b4eXXrLSQ/fuMGaMdW1Vw7RIZAnXITzEI36/tT3861/w1Vd2v8Nnn9nDfkRE\nyqNE0UTs22elh+eft4H37r4b3npL4yyJyPEpUUS4xYvh2WetDeKqq+wmuaFDvY5KRMKJBliIQEVF\nNhDf2WdbcujXDzZutPsglCREpLpUooggR45YMhg/Hrp0gQcesEShITVEpDZ0CokAmZlWvfTii3De\nefD223DaaV5HJSKRQlVPYWzVKrjtNhgwAI4ehW++sVFclSREpC6pRBFmHMeG1HjqKViyBO69FzZs\ngDZtvI5MRCKVEkWYKC6GKVPgySdh/354+GF7tGhCgteRiUikU6Jo5AoL4c03rQSRnAyPPGIN1NHR\nXkcmIk2FEkUjVVBgPZieeAJ697bG6pEjNXKriDQ8JYpGpqgI3ngD/vhH6NNHjdMi4j0likbCceDT\nT+FXv4K2bWHiRDjnHK+jEhFRomgUFi+Ghx6CvXvh6afhkktUxSRSX1q3bs3Bgwe9DqNepKSkcODA\ngTr/3nA7HUXUMONHj8Jjj1n10p/+ZPdE6C5qkfrl8/mIpPNIqIp+W22HGdcNdx6ZNs2G9j582G6c\nu+suJQkRaZx0ampghw7Bgw/C9On2TIiLLvI6IhGRyqlE0YACDwiKi4OVK5UkRCQ8qETRALKy4Je/\nhBkz4LXX7H4IEZFwoRJFPZs1CwYNgqgoWL5cSUJEwo9KFPWksBAefRQmTYIXXoBLL/U6IhGRmlGi\nqAdZWXDttdaL6dtv7QY6EZG65Pf7iW6gQd9U9VTHMjPtjuqePW20VyUJEamOzMxMrrnmGtq3b0/P\nnj159tlnARg7dizXXnstN910Ey1btmTixIkNFpMSRR1avRrOPBOuvx6ee073RYhI9RQXF3PZZZcx\nZMgQMjMzmTFjBhMmTGDatGkATJkyheuuu47Dhw9z4403NlhcujO7jsydC9dcA888A6NHex2NiFSk\nKndm18UQOjU5VS1YsIBRo0axdevWY+ueeOIJNmzYQGpqKjNnziQjI6PCz9fXndm65q0DH3wAd99t\nz4244AKvoxGR2vLqenTr1q1kZmaSkpJybJ3f7+ecc84hNTWVrl27ehKXqp5q6fnn4Z574PPPlSRE\npHa6d+9Ojx49OHjw4LEpKyuLTz75BDhWMmhwShS18PTTNs2ZA0OHeh2NiIS7U089lebNmzNu3Dhy\nc3Px+/2sXLmSRYsWeRqXEkUNOI49WOjll2H2bOjVy+uIRCQSREVF8cknn7Bs2TJ69uxJu3btGDNm\nDIcPHwa8K1GoMbvaAdiNdFOnwpdfQocOnoYjItWkYcarT43Z1eA48MAD1sNp5kxo08briERE6p8X\nVU/dgJnAKmAlcL+7vjXwJbAemAa08iC2ChUXw89+Bt98Y4P7KUmISFPhRdVTR3daBjQDFgNXArcB\n3wPjgF8DKcAjpT7rSdWT3w933gnffWfPtW7evMFDEJE6oqqn6vOiRLEbSxIAR4E1QBfgciBwT/pE\nLHl4znHgjjtg2zZ7noSShIg0NV63UaQBQ4AFQAdgj7t+j7vsucceg3XrrLopKcnraEREGp6XiaIZ\n8B7wC+BIqfccdypj7Nixx+bT09NJT0+vn+iw8ZomT4avvlKSEJHwkZGRUelQH9XlVffYWOAT4DNg\ngrtuLZCOVU11whq8Tyz1uQZro/joI2u8njvXRoIVkcigNorq86KNwge8DKwmmCQApgC3uPO3AB82\ncFzHLFhgjddTpihJiIh4kShGAKOBHwBL3eki4EngAqx77HnucoPbvBmuugpefRWGDfMiAhFpqgYM\nGMDs2bO9DqMM3Zkd4uBBe57EPffAvffW225ExEOqeqrB99YiJi/UW6IoKICLLoKBA2HChONvLyLh\nKRwTRVUfexpJbRSNjuPAmDF2j8Qzz3gdjYg0VWlpacyYMcPTx56Wx+v7KBqFxx+HFStsJNgGela5\niEgZoaPDTpkyhcmTJ/P666+Tl5fnYVRKFLz9NvzrXzB/PiQnex2NiDQGvj/Wvlbe+UPtqrfOPPNM\nLr/8cgASEhJqHU9tNOlE8fXX1mg9fTp07ux1NCLSWNT2JF9bPp/Ps8eelqfJtlFs2wbXXAOvvQaD\nBnkdjYhISV49pKg8TTJRHD0Kl18ODz0El17qdTQiIiU1tl5ZTS5RFBfDLbfAkCHwP//jdTQiIiX5\nfL5jU2PReCKpmlrfR/GHP1ibxH//C/HxdRSViISNcLyPoqr0KNQ68MEH1ibxzTdKEiIiVdVkShTr\n18NZZ9kT6oYPr+OoRCRsqERRfU2ijSI723o4/elPShIiItUV8SUKx4Gbb4aoKKt2akTtQyLiAZUo\nqi/i2yiefx6WL7eb65QkRESqL9xOndUqUSxYAJddBvPmQe/e9RiViIQNlSiqL2LbKPbtg+uugxdf\nVJIQEamNiCxR+P1w8cUwdCg86clz8kSksVKJovoiskTxxz9CYSH8+c9eRyIiEv4irjF71ix46SVY\nsgRiIu7XiYg0vIgqURw+bOM4vfgidOzodTQiIjVXVFTkdQjHRFSi+MUv7LnXGhFWRMJRWloa48aN\nY+DAgTRv3px58+Zx5plnkpKSwuDBg5k1a5YncUVM5cx771k32KVLvY5ERKTm3nrrLT777DN8Ph8D\nBw7kjTfe4KKLLmL69Olcc801rF27lrZt2zZoTBFRoti1C+65B15/HZo18zoaEQl7Pl/tpxrt1sf9\n999Ply5deP3117nkkku46KKLADj//PMZNmwYU6dOrctfWiVhnygcB+64A+66C04/3etoRCQiOE7t\npxrq1q0bAFu3buXdd98lJSXl2DRv3jx2795dV7+yysK+6umFF2DvXvj9772ORESk9gIPLOrevTs3\n3XQTL7zwgscRhXmJYuNG+O1vrcopNtbraERE6s7o0aP5+OOPmTZtGn6/n7y8PDIyMti5c2eDxxK2\niaKoyEaF/e1voV8/r6MREalbXbt25aOPPuLxxx+nffv2dO/enWeeeYbi4uIGjyVsh/B44gl7pOmX\nX9oQ4iIiVaEhPGrwvbWIyQuO4zhs2ABnnAGLF0NqqtchiUg4UaKovrC7Fncc+NnP4De/UZIQEWkI\nYZco3nwT9u+H++/3OhIRkaYh7KqeOnRw+PhjPftaRGpGVU/VF3YlilGjlCRERBpS2JUoDh92aNHC\n6zBEJFypRFF9YXdntpKEiNRGSkrKsbufI01KSkq9fG9jO1oXAROAaOAl4KlS71fpUagiIhIUSW0U\n0cDfsWRxEnADoHuuS8nIyPA6hEZDx6IkHY+SdDzqTmNKFKcCG4EtQCHwFnCFlwE1RvrHH6RjUZKO\nR0k6HnWnMSWKLsD2kOUd7joREfFQY0oUanwQEWmEGlNj9unAWKyNAuBRoJiSDdrLgEENG5aISNj7\nDjjB6yDqQgz2Y9KAOCwpqDFbRERKuBhYhzVqP+pxLCIiIiIiIuGrGzATWAWsBALj5bYGvgTWA9OA\nVp5E551oYCnwsbvcVI9HK2AysAZYDZxG0z0WYDUQq4AVwH+AeJrW8XgF2IP9/oDKfv+jwAZgLXBh\nA8Uo9aAjMNidb4ZVyfUDxgG/ctf/Gniy4UPz1C+BN4Ep7nJTPR4Tgdvd+RigJU33WKQBm7DkAPA2\ncAtN63icDQyhZKKo6PefhLUBx2LHbiONqwes1MKHwPnYFUAHd11Hd7mp6ApMB35AsETRFI9HS+zE\nWFpTPBZgV87rgBQsaX4MXEDTOx5plEwUFf3+R7HEEfA51uu0Qsoi4SENu1pYgP3h97jr9xD8h9AU\njAcexrpNBzTF49ED2Ae8CiwBXgSSaZrHAuAA8AywDcgEDmFVLk31eARU9Ps7Yzc0Bxz35mYlisav\nGfAe8AvgSKn3HJrOjYo/AvZi7RMV3f/TVI5HDDAU+Kf7mg08UmqbpnIsAHoBD2AXVJ2x/zOjS23T\nlI5HeY73+ys9NkoUjVssliRex6qewK4MOrrznbCTZ1NwJnA5sBmYBJyHHZemeDx2uNNCd3kyljB2\n0/SOBcAw4CtgP1AEvA+cQdM9HgEV/d/YiXWWCejqrquQEkXj5QNexnq0TAhZPwVrqMN9/ZCm4TfY\nP+4ewPXAf4GbaJrHYzc2Llofd/l8rMfPxzS9YwFW9346kIj9vzkf+3/TVI9HQEX/N6Zg/4fisP9P\nvYFvGjw6qRNnYXXxy7DqlqXY8CatsQbdptDlryLnEuz11FSPxyCsRPEtdgXdkqZ7LMB69wS6x07E\nSuNN6XhMwtpnCrCLiNuo/Pf/BuvttBb4YYNGKiIiIiIiIiIiIiIiIiIiIiIiIiIiItL0/JeyQxs/\ngA1JUVUZwCk12HcaJQdO89opwP95HYSISGNzFzZ+fqivsZsMqyIae1ZHJCSK+hLtdQAiIrXRGhuH\nJsZdTgO2uvMXYuP2LAbewUZFBdiCjae/GPgxligmYHesrwCGu9udS/BO9iXYAHGh0ggmip7uNsOA\nW7E7nD/D7mR9KuQzNwDL3c8FxvS/DhuxFGzAxu9CvnNuSMxj3ZiXA33LORbpBIdMH4sl0Jnu991X\nzvYAd2DDai/ARo591l3/GvA8MB/4K/Y8k/kE794O3JmbQTDJtsXGzwI7Bh+5+18P/L6C/YuINIiP\nsUH+wEY+HQe0AWZhY/aAjZn/O3d+M/BQyOdnAv9y588mePKfgg0IB5BE2SvrNHfbvliSONldfyt2\ncm6OPQBnCzb0cmcsibVxv2sGcAU2ZHNgfJzJ2Em7Mzamzl9CYr7Hnf8ZdlIvLZ2SiWIuNvxEG+D7\ncuLv7H5vKyzRzgb+5r73mvv7A6PrLseODcAfsWHawY7dUHe+dKLIxJ7rkIAdp5qU2iTCaFBA8cok\nbGAysBLCJOwEfxJWolgK3Ax0D/nM2+V8B8AcoAU23tE87IR4H3bC85ez7/bYAGk3EkwwDpYEjgD5\n2KByaVhJJQMbmdSPPV3vHKxE1MydumKP3zwHqz6bE7Kv993XJe73VcYBPgUK3f3tpewzFE514zmE\njZT6LsHE4LjLjnssWobEMtGN73imAQeBPDf2qlYHSgRTohCvTAFGYg9kSsISA9gDZ4a4U3+sPSMg\n+zjfWYxVGd2BlUrmUX51zyGslHB2qfX5IfN+7Iq99Dj9vpB1X2GDr63DSgLnYMluXjnfGfi+4yko\nJ4ZQDiWfx1H62Rw5FXxv6HZFBP/vJ1QSi4+SD4mSJkqJQrxyFKsCeRW7GgervhmBPYgGrH2idwWf\n92ElEbCr3kNYaaAXNoroOGx01fISRQFwNVZiuSHk+0pzsOqlcwlWPV2PVY+BXa0/7C4vxR7RmkfZ\nB0xVVUUPZAq1yI0nUPV0DeU/dOYwVjIIlAhuwkoiYNVqw9z5a0t97gKsJJaIVbHNQ5q8qlzhiNSX\nSVj1xih3eR9WTz4JaycAeAzYUM5nHeykvAT7d3y7u/4X2Am7GFiJNU6X99kc7Kl5X2JJq6IngO3G\n2lBmYifyTwi2KczF2jFmu/vbBqwptZ/Q+fK+P3R9VZ7CthN4HEtgB7Bhog9XsM9bsMbtJKz95TZ3\n/V+xjgJjsKqu0M98gz0sqyv2YKglx4lHREQaoUBPsBisCu+KOvreWwn2oBI5RlVPIuFnLMFuwZuw\nLq11oak/V1pEREREREREREREREREREREREREREQi3/8HBP5MwFhzovEAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we take the first 40 _-ir_ and _-re_ verbs, we get better than 96% coverage. Even the first 20 in each group will give us better than 92% coverage. Here's a list for people who want to master all the high-frequency irregular verbs." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def html_for_group(groupe):\n", " lst = ', '.join(group_freq.loc[groupe].loc[1:40]['lemme'].tolist())\n", " return '

-%s verbs: %s.

' % (groupe, lst)\n", "HTML(\"

-er verbs: aller.

\" + html_for_group('ir') + html_for_group('re'))" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "

-er verbs: aller.

-ir verbs: avoir, pouvoir, vouloir, savoir, voir, devoir, venir, falloir, partir, mourir, sortir, revenir, finir, sentir, tenir, devenir, ouvrir, dormir, asseoir, souvenir, servir, valoir, agir, recevoir, mentir, offrir, choisir, revoir, courir, r\u00e9ussir, pr\u00e9venir, d\u00e9couvrir, maintenir, r\u00e9fl\u00e9chir, souffrir, couvrir, obtenir, appartenir, ressentir, pr\u00e9voir.

-re verbs: \u00eatre, faire, dire, suivre, prendre, croire, attendre, mettre, conna\u00eetre, comprendre, entendre, plaire, perdre, vivre, rendre, foutre, apprendre, boire, \u00e9crire, lire, r\u00e9pondre, descendre, suffire, vendre, battre, promettre, permettre, conduire, dispara\u00eetre, taire, remettre, reconna\u00eetre, rire, reprendre, d\u00e9truire, para\u00eetre, craindre, na\u00eetre, rejoindre, d\u00e9fendre.

" ], "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": [ "" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Verb groups, in horrifying detail\n", "\n", "Of course, not all _-er_ verbs are completely regular, and there are patterns among the other verb groups. Fortunately, there's a nice XML file of [French verb conjugation rules](http://sourceforge.net/projects/fvcr/) that we can use to examine these hidden details. Combining that with quite a bit of custom code, we can assign a \"conjugator\" to each verb prototype, and verify that the generated forms match the XML data. This gives us a much shorter list of key forms." ] }, { "cell_type": "code", "collapsed": false, "input": [ "verbs2 = sql(\"\"\"\n", "SELECT conjugaison.nom AS conjugaison, lemme, freqfilms2, resume\n", " FROM verbe\n", " LEFT OUTER JOIN conjugaison\n", " ON verbe.conjugaison = conjugaison.nom\n", " ORDER BY freqfilms2 DESC\n", "\"\"\")\n", "verbs2['freqfilms2'] = 100 * verbs2['freqfilms2'] / verbs2['freqfilms2'].sum()\n", "def summarize_conjugator(grp):\n", " return pd.Series(dict(exemples=', '.join(grp.lemme[0:5]),\n", " compte=grp.lemme.count(),\n", " freqfilms2=grp.freqfilms2.sum(),\n", " resume=grp.resume.iloc[0]))\n", "conjugators = verbs2.groupby('conjugaison').apply(summarize_conjugator).sort('freqfilms2', ascending=False)\n", "conjugators.reset_index(inplace=True)\n", "conjugators.index.names = ['rang']\n", "conjugators.reset_index(inplace=True)\n", "conjugators['rang'] = conjugators['rang'] + 1\n", "conjugators['freqfilms2'] = conjugators['freqfilms2'].cumsum()\n", "conjugators.set_index('rang', inplace=True)\n", "save_tsv('conjugators.tsv', conjugators)\n", "conjugators" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
conjugaisoncompteexemplesfreqfilms2resume
rang
1 -er 5187 parler, aimer, passer, penser, trouver 27.057864 (p.p.) parl\u00e9, je parle, tu parles, il parle, n...
2 \u00eatre 1 \u00eatre 44.971814 (irregular)
3 avoir 1 avoir 59.251008 (irregular)
4 aller 1 aller 63.691766 (irregular)
5 faire 5 faire, refaire, satisfaire, d\u00e9faire, contrefaire 67.651207 (irregular)
6 dire 2 dire, redire 70.297491 Like interdire, except: vous dites
7 pouvoir 1 pouvoir 72.752543 (irregular)
8 venir 26 venir, revenir, tenir, devenir, souvenir 75.130407 Like -ir, except: (p.p.) venu, tu viens, nous ...
9 vouloir 2 vouloir, revouloir 77.463383 (irregular)
10 savoir 3 savoir, non-savoir, assavoir 79.470603 (irregular)
11 -re 50 attendre, entendre, perdre, rendre, r\u00e9pondre 81.428246 (p.p.) attendu, tu attends, nous attendons, il...
12 voir 5 voir, revoir, entrevoir, ravoir, comparoir 83.332903 Like -ir, except: (p.p.) vu, nous voyons, ils ...
13 partir 18 partir, sortir, sentir, dormir, servir 84.950418 Like -ir, except: tu pars
14 prendre 12 prendre, comprendre, apprendre, reprendre, sur... 86.441360 Like -re, except: (p.p.) pris, nous prenons, i...
15 devoir 2 devoir, redevoir 87.877921 (irregular)
16 -ir (-iss-) 304 finir, agir, choisir, r\u00e9ussir, r\u00e9fl\u00e9chir 89.052373 (p.p.) fini, tu finis, nous finissons, ils fin...
17 suivre 2 suivre, poursuivre 90.010207 Like -re, except: (p.p.) suivi, tu suis
18 esp\u00e9rer 199 esp\u00e9rer, inqui\u00e9ter, pr\u00e9f\u00e9rer, prot\u00e9ger, r\u00e9p\u00e9ter 90.856970 Like -er, except: tu esp\u00e8res, ils esp\u00e8rent
19 acheter 64 acheter, emmener, amener, ramener, enlever 91.628962 Like -er, except: tu ach\u00e8tes, ils ach\u00e8tent, il...
20 croire 1 croire 92.389778 Like -re, except: (p.p.) cru, nous croyons, (p...
21 appeler 112 appeler, rappeler, jeter, rejeter, projeter 93.148066 Like -er, except: tu appelles, ils appellent, ...
22 mettre 15 mettre, promettre, permettre, remettre, admettre 93.891337 Like battre, except: (p.p.) mis, (p.s.) il mit
23 falloir 1 falloir 94.626262 (irregular)
24 conna\u00eetre 10 conna\u00eetre, dispara\u00eetre, reconna\u00eetre, para\u00eetre,... 95.267398 Like -re, except: (p.p.) connu, je connais, tu...
25 essayer 30 essayer, payer, effrayer, balayer, rayer 95.784982 Like ennuyer, except: tu essaies/tu essayes, i...
26 ouvrir 9 ouvrir, offrir, d\u00e9couvrir, souffrir, couvrir 96.201333 Like -ir, except: (p.p.) ouvert, j'ouvre, tu o...
27 mourir 1 mourir 96.608587 Like -ir, except: (p.p.) mort, tu meurs, ils m...
28 plaire 3 plaire, d\u00e9plaire, complaire 96.884291 Like taire, except: il pla\u00eet/il plait
29 vivre 3 vivre, survivre, revivre 97.143889 Like suivre, except: (p.p.) v\u00e9cu, (p.s.) il v\u00e9cut
30 conduire 24 conduire, d\u00e9truire, construire, produire, r\u00e9duire 97.396542 Like interdire, except: (p.s.) il conduisit
..................
34 \u00e9crire 12 \u00e9crire, d\u00e9crire, inscrire, prescrire, r\u00e9\u00e9crire 98.157882 Like -re, except: (p.p.) \u00e9crit, nous \u00e9crivons,...
35 boire 2 boire, reboire 98.308728 Like -re, except: (p.p.) bu, nous buvons, ils ...
36 asseoir 2 asseoir, rasseoir 98.453020 Like -ir, except: (p.p.) assis, tu assieds/tu ...
37 lire 4 lire, \u00e9lire, relire, r\u00e9\u00e9lire 98.586161 Like interdire, except: (p.p.) lu, (p.s.) il lut
38 battre 9 battre, abattre, combattre, d\u00e9battre, rabattre 98.718538 Like -re, except: tu bats
39 recevoir 9 recevoir, apercevoir, d\u00e9cevoir, concevoir, per... 98.845991 Like -ir, except: (p.p.) re\u00e7u, tu re\u00e7ois, nous...
40 ennuyer 52 ennuyer, nettoyer, appuyer, noyer, employer 98.964911 Like -er, except: tu ennuies, ils ennuient, il...
41 valoir 2 valoir, \u00e9quivaloir 99.070811 (irregular)
42 suffire 1 suffire 99.173942 Like interdire, except: (p.p.) suffi
43 rire 2 rire, sourire 99.260244 Like -re, except: (p.p.) ri, nous rions, ils r...
44 courir 9 courir, parcourir, secourir, accourir, recourir 99.339511 Like -ir, except: (p.p.) couru, tu cours, il c...
45 taire 1 taire 99.408153 Like -re, except: (p.p.) tu, nous taisons, ils...
46 fuir 2 fuir, enfuir 99.471239 Like -ir, except: tu fuis, nous fuyons, ils fu...
47 na\u00eetre 1 na\u00eetre 99.522834 Like conna\u00eetre, except: (p.p.) n\u00e9, (p.s.) il n...
48 ficher 1 ficher 99.566318 Like -er, except: (p.p.) fich\u00e9/fichu
49 convaincre 3 convaincre, vaincre, reconvaincre 99.603891 Like -re, except: je convaincs, tu convaincs, ...
50 interdire 6 interdire, pr\u00e9dire, contredire, m\u00e9dire, adire 99.639585 Like -re, except: (p.p.) interdit, nous interd...
51 pr\u00e9voir 1 pr\u00e9voir 99.674342 Like voir, except: il pr\u00e9voira
52 pleuvoir 1 pleuvoir 99.704196 (defective)
53 parfaire 1 parfaire 99.730887 (defective)
54 ha\u00efr 1 ha\u00efr 99.755520 Like -ir (-iss-), except: tu hais, (p.s.) il h...
55 accueillir 3 accueillir, cueillir, recueillir 99.779695 Like -ir, except: j'accueille, tu accueilles, ...
56 b\u00e9nir 1 b\u00e9nir 99.801364 Like -ir (-iss-), except: (p.p.) b\u00e9ni/b\u00e9nit
57 faillir 1 faillir 99.821006 (irregular)
58 r\u00e9soudre 1 r\u00e9soudre 99.839200 Like -re, except: (p.p.) r\u00e9solu, tu r\u00e9sous, no...
59 conclure 2 conclure, exclure 99.856353 Like -re, except: (p.p.) conclu, (p.s.) il con...
60 conqu\u00e9rir 6 conqu\u00e9rir, acqu\u00e9rir, requ\u00e9rir, reconqu\u00e9rir, en... 99.870845 Like -ir, except: (p.p.) conquis, tu conquiers...
61 distraire 10 distraire, extraire, traire, soustraire, rentr... 99.885199 (defective)
62 pourvoir 1 pourvoir 99.894749 Like pr\u00e9voir, except: (p.s.) il pourvut
63 douer 1 douer 99.903770 (defective)
\n", "

63 rows \u00d7 5 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 20, "text": [ " conjugaison compte exemples \\\n", "rang \n", "1 -er 5187 parler, aimer, passer, penser, trouver \n", "2 \u00eatre 1 \u00eatre \n", "3 avoir 1 avoir \n", "4 aller 1 aller \n", "5 faire 5 faire, refaire, satisfaire, d\u00e9faire, contrefaire \n", "6 dire 2 dire, redire \n", "7 pouvoir 1 pouvoir \n", "8 venir 26 venir, revenir, tenir, devenir, souvenir \n", "9 vouloir 2 vouloir, revouloir \n", "10 savoir 3 savoir, non-savoir, assavoir \n", "11 -re 50 attendre, entendre, perdre, rendre, r\u00e9pondre \n", "12 voir 5 voir, revoir, entrevoir, ravoir, comparoir \n", "13 partir 18 partir, sortir, sentir, dormir, servir \n", "14 prendre 12 prendre, comprendre, apprendre, reprendre, sur... \n", "15 devoir 2 devoir, redevoir \n", "16 -ir (-iss-) 304 finir, agir, choisir, r\u00e9ussir, r\u00e9fl\u00e9chir \n", "17 suivre 2 suivre, poursuivre \n", "18 esp\u00e9rer 199 esp\u00e9rer, inqui\u00e9ter, pr\u00e9f\u00e9rer, prot\u00e9ger, r\u00e9p\u00e9ter \n", "19 acheter 64 acheter, emmener, amener, ramener, enlever \n", "20 croire 1 croire \n", "21 appeler 112 appeler, rappeler, jeter, rejeter, projeter \n", "22 mettre 15 mettre, promettre, permettre, remettre, admettre \n", "23 falloir 1 falloir \n", "24 conna\u00eetre 10 conna\u00eetre, dispara\u00eetre, reconna\u00eetre, para\u00eetre,... \n", "25 essayer 30 essayer, payer, effrayer, balayer, rayer \n", "26 ouvrir 9 ouvrir, offrir, d\u00e9couvrir, souffrir, couvrir \n", "27 mourir 1 mourir \n", "28 plaire 3 plaire, d\u00e9plaire, complaire \n", "29 vivre 3 vivre, survivre, revivre \n", "30 conduire 24 conduire, d\u00e9truire, construire, produire, r\u00e9duire \n", "... ... ... ... \n", "34 \u00e9crire 12 \u00e9crire, d\u00e9crire, inscrire, prescrire, r\u00e9\u00e9crire \n", "35 boire 2 boire, reboire \n", "36 asseoir 2 asseoir, rasseoir \n", "37 lire 4 lire, \u00e9lire, relire, r\u00e9\u00e9lire \n", "38 battre 9 battre, abattre, combattre, d\u00e9battre, rabattre \n", "39 recevoir 9 recevoir, apercevoir, d\u00e9cevoir, concevoir, per... \n", "40 ennuyer 52 ennuyer, nettoyer, appuyer, noyer, employer \n", "41 valoir 2 valoir, \u00e9quivaloir \n", "42 suffire 1 suffire \n", "43 rire 2 rire, sourire \n", "44 courir 9 courir, parcourir, secourir, accourir, recourir \n", "45 taire 1 taire \n", "46 fuir 2 fuir, enfuir \n", "47 na\u00eetre 1 na\u00eetre \n", "48 ficher 1 ficher \n", "49 convaincre 3 convaincre, vaincre, reconvaincre \n", "50 interdire 6 interdire, pr\u00e9dire, contredire, m\u00e9dire, adire \n", "51 pr\u00e9voir 1 pr\u00e9voir \n", "52 pleuvoir 1 pleuvoir \n", "53 parfaire 1 parfaire \n", "54 ha\u00efr 1 ha\u00efr \n", "55 accueillir 3 accueillir, cueillir, recueillir \n", "56 b\u00e9nir 1 b\u00e9nir \n", "57 faillir 1 faillir \n", "58 r\u00e9soudre 1 r\u00e9soudre \n", "59 conclure 2 conclure, exclure \n", "60 conqu\u00e9rir 6 conqu\u00e9rir, acqu\u00e9rir, requ\u00e9rir, reconqu\u00e9rir, en... \n", "61 distraire 10 distraire, extraire, traire, soustraire, rentr... \n", "62 pourvoir 1 pourvoir \n", "63 douer 1 douer \n", "\n", " freqfilms2 resume \n", "rang \n", "1 27.057864 (p.p.) parl\u00e9, je parle, tu parles, il parle, n... \n", "2 44.971814 (irregular) \n", "3 59.251008 (irregular) \n", "4 63.691766 (irregular) \n", "5 67.651207 (irregular) \n", "6 70.297491 Like interdire, except: vous dites \n", "7 72.752543 (irregular) \n", "8 75.130407 Like -ir, except: (p.p.) venu, tu viens, nous ... \n", "9 77.463383 (irregular) \n", "10 79.470603 (irregular) \n", "11 81.428246 (p.p.) attendu, tu attends, nous attendons, il... \n", "12 83.332903 Like -ir, except: (p.p.) vu, nous voyons, ils ... \n", "13 84.950418 Like -ir, except: tu pars \n", "14 86.441360 Like -re, except: (p.p.) pris, nous prenons, i... \n", "15 87.877921 (irregular) \n", "16 89.052373 (p.p.) fini, tu finis, nous finissons, ils fin... \n", "17 90.010207 Like -re, except: (p.p.) suivi, tu suis \n", "18 90.856970 Like -er, except: tu esp\u00e8res, ils esp\u00e8rent \n", "19 91.628962 Like -er, except: tu ach\u00e8tes, ils ach\u00e8tent, il... \n", "20 92.389778 Like -re, except: (p.p.) cru, nous croyons, (p... \n", "21 93.148066 Like -er, except: tu appelles, ils appellent, ... \n", "22 93.891337 Like battre, except: (p.p.) mis, (p.s.) il mit \n", "23 94.626262 (irregular) \n", "24 95.267398 Like -re, except: (p.p.) connu, je connais, tu... \n", "25 95.784982 Like ennuyer, except: tu essaies/tu essayes, i... \n", "26 96.201333 Like -ir, except: (p.p.) ouvert, j'ouvre, tu o... \n", "27 96.608587 Like -ir, except: (p.p.) mort, tu meurs, ils m... \n", "28 96.884291 Like taire, except: il pla\u00eet/il plait \n", "29 97.143889 Like suivre, except: (p.p.) v\u00e9cu, (p.s.) il v\u00e9cut \n", "30 97.396542 Like interdire, except: (p.s.) il conduisit \n", "... ... ... \n", "34 98.157882 Like -re, except: (p.p.) \u00e9crit, nous \u00e9crivons,... \n", "35 98.308728 Like -re, except: (p.p.) bu, nous buvons, ils ... \n", "36 98.453020 Like -ir, except: (p.p.) assis, tu assieds/tu ... \n", "37 98.586161 Like interdire, except: (p.p.) lu, (p.s.) il lut \n", "38 98.718538 Like -re, except: tu bats \n", "39 98.845991 Like -ir, except: (p.p.) re\u00e7u, tu re\u00e7ois, nous... \n", "40 98.964911 Like -er, except: tu ennuies, ils ennuient, il... \n", "41 99.070811 (irregular) \n", "42 99.173942 Like interdire, except: (p.p.) suffi \n", "43 99.260244 Like -re, except: (p.p.) ri, nous rions, ils r... \n", "44 99.339511 Like -ir, except: (p.p.) couru, tu cours, il c... \n", "45 99.408153 Like -re, except: (p.p.) tu, nous taisons, ils... \n", "46 99.471239 Like -ir, except: tu fuis, nous fuyons, ils fu... \n", "47 99.522834 Like conna\u00eetre, except: (p.p.) n\u00e9, (p.s.) il n... \n", "48 99.566318 Like -er, except: (p.p.) fich\u00e9/fichu \n", "49 99.603891 Like -re, except: je convaincs, tu convaincs, ... \n", "50 99.639585 Like -re, except: (p.p.) interdit, nous interd... \n", "51 99.674342 Like voir, except: il pr\u00e9voira \n", "52 99.704196 (defective) \n", "53 99.730887 (defective) \n", "54 99.755520 Like -ir (-iss-), except: tu hais, (p.s.) il h... \n", "55 99.779695 Like -ir, except: j'accueille, tu accueilles, ... \n", "56 99.801364 Like -ir (-iss-), except: (p.p.) b\u00e9ni/b\u00e9nit \n", "57 99.821006 (irregular) \n", "58 99.839200 Like -re, except: (p.p.) r\u00e9solu, tu r\u00e9sous, no... \n", "59 99.856353 Like -re, except: (p.p.) conclu, (p.s.) il con... \n", "60 99.870845 Like -ir, except: (p.p.) conquis, tu conquiers... \n", "61 99.885199 (defective) \n", "62 99.894749 Like pr\u00e9voir, except: (p.s.) il pourvut \n", "63 99.903770 (defective) \n", "\n", "[63 rows x 5 columns]" ] } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(conjugators.index.values, conjugators.freqfilms2)\n", "plt.title('Verb Coverage by Conjugator')\n", "#plt.legend(loc = 'lower right')\n", "plt.xlabel('Verb conjugations known')\n", "plt.ylabel('% coverage')\n", "plt.ylim((0,100))\n", "plt.xlim((1,60))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 21, "text": [ "(1, 60)" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 21 } ], "metadata": {} } ] }