{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "entities = {'self', 'addressee', 'other'}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1 entity referent\n", "* self (\"me\")\n", "* addressee (\"you here\")\n", "* other (\"somebody else\")\n", "\n", "### 2+ entity referent\n", "* self, addressee (\"me and you here\" / inclusive we)\n", "* self, other (\"me and somebody else\" / exclusive we)\n", "* addressee, addressee (\"the two or more of you here\")\n", "* addressee, other (\"one of you here and somebody else\")\n", "* other, other (\"the two or more of them\")\n", "\n", "### 3+ entity referent\n", "* self, addressee, addressee (\"me and the two or more of you here\")\n", "* self, addressee, other (\"me, one of you here, and somebody else\")\n", "* self, other, other (\"me and two or more other people\")\n", "* addressee, addressee, other (\"the two or more of you and somebody else\")\n", "* addressee, other, other (\"one of you and two or more other people\")\n", "\n", "### 4+ entity referent\n", "* self, addressee, addressee, other (\"me, the two or more of you here, and somebody else\")\n", "* self, addressee, other, other (\"me, one of you here, and two or more other people\")\n", "* addressee, addressee, other, other (\"the two or more of you here and two or more other people\")\n", "\n", "### 5+ entity referent\n", "* self, addressee, addressee, other, other (\"me, the two or more of you here, and two or more other people\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are 17 possible markers if there's no distinction between 2 entities of the same type and 3+ entities of the same type.\n", "* a dual or trial entity number could be added to have a 3-way distinction between e.g. [other, other] and [other, other, other]\n", "* another entity category besides self, addressee, and other could be added (invisible/divine entities)\n", "* multiple self referents could be included (choral we)\n", "\n", "Also, what about the issue of mis-identifying the cue as \"self\" rather than \"addressee\" (kids calling themselves \"you\")?" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from itertools import combinations, combinations_with_replacement\n", "\n", "referents = []\n", "\n", "for i in xrange(1, len(entities) * 2):\n", " for combo in combinations_with_replacement(entities, i):\n", " \n", " # choral we is impossible\n", " if combo.count('self') > 1:\n", " continue\n", " \n", " # only singular vs plural\n", " if combo.count('addressee') > 2:\n", " continue\n", " \n", " if combo.count('other') > 2:\n", " continue\n", " \n", " # compound cues\n", " referent = list(combo)\n", " \n", " for j in xrange(2, len(combo) + 1):\n", " for compound in combinations(combo, j):\n", " \n", " if compound not in referent:\n", " referent.append(compound)\n", " \n", " referents.append(referent)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "17" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(referents)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[['addressee'],\n", " ['self'],\n", " ['other'],\n", " ['addressee', 'addressee', ('addressee', 'addressee')],\n", " ['addressee', 'self', ('addressee', 'self')],\n", " ['addressee', 'other', ('addressee', 'other')],\n", " ['self', 'other', ('self', 'other')],\n", " ['other', 'other', ('other', 'other')],\n", " ['addressee',\n", " 'addressee',\n", " 'self',\n", " ('addressee', 'addressee'),\n", " ('addressee', 'self'),\n", " ('addressee', 'addressee', 'self')],\n", " ['addressee',\n", " 'addressee',\n", " 'other',\n", " ('addressee', 'addressee'),\n", " ('addressee', 'other'),\n", " ('addressee', 'addressee', 'other')],\n", " ['addressee',\n", " 'self',\n", " 'other',\n", " ('addressee', 'self'),\n", " ('addressee', 'other'),\n", " ('self', 'other'),\n", " ('addressee', 'self', 'other')],\n", " ['addressee',\n", " 'other',\n", " 'other',\n", " ('addressee', 'other'),\n", " ('other', 'other'),\n", " ('addressee', 'other', 'other')],\n", " ['self',\n", " 'other',\n", " 'other',\n", " ('self', 'other'),\n", " ('other', 'other'),\n", " ('self', 'other', 'other')],\n", " ['addressee',\n", " 'addressee',\n", " 'self',\n", " 'other',\n", " ('addressee', 'addressee'),\n", " ('addressee', 'self'),\n", " ('addressee', 'other'),\n", " ('self', 'other'),\n", " ('addressee', 'addressee', 'self'),\n", " ('addressee', 'addressee', 'other'),\n", " ('addressee', 'self', 'other'),\n", " ('addressee', 'addressee', 'self', 'other')],\n", " ['addressee',\n", " 'addressee',\n", " 'other',\n", " 'other',\n", " ('addressee', 'addressee'),\n", " ('addressee', 'other'),\n", " ('other', 'other'),\n", " ('addressee', 'addressee', 'other'),\n", " ('addressee', 'other', 'other'),\n", " ('addressee', 'addressee', 'other', 'other')],\n", " ['addressee',\n", " 'self',\n", " 'other',\n", " 'other',\n", " ('addressee', 'self'),\n", " ('addressee', 'other'),\n", " ('self', 'other'),\n", " ('other', 'other'),\n", " ('addressee', 'self', 'other'),\n", " ('addressee', 'other', 'other'),\n", " ('self', 'other', 'other'),\n", " ('addressee', 'self', 'other', 'other')],\n", " ['addressee',\n", " 'addressee',\n", " 'self',\n", " 'other',\n", " 'other',\n", " ('addressee', 'addressee'),\n", " ('addressee', 'self'),\n", " ('addressee', 'other'),\n", " ('self', 'other'),\n", " ('other', 'other'),\n", " ('addressee', 'addressee', 'self'),\n", " ('addressee', 'addressee', 'other'),\n", " ('addressee', 'self', 'other'),\n", " ('addressee', 'other', 'other'),\n", " ('self', 'other', 'other'),\n", " ('addressee', 'addressee', 'self', 'other'),\n", " ('addressee', 'addressee', 'other', 'other'),\n", " ('addressee', 'self', 'other', 'other'),\n", " ('addressee', 'addressee', 'self', 'other', 'other')]]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "referents" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Spoken English collapses these to 6 possibilities: I, you, s/he, we, you guys, they" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def english(referents):\n", " # first-person\n", " if 'self' in referents:\n", " \n", " if 'addressee' in referents: # inclusive we\n", " # doesn't matter who else is being referred to\n", " return 'we'\n", " \n", " if 'other' in referents: # exclusive we\n", " # doesn't matter who else is being referred to\n", " return 'we' \n", " \n", " return 'I'\n", " \n", " # second-person, if the speaker isn't included\n", " elif 'addressee' in referents:\n", " \n", " if referents.count('addressee') > 1: # inclusive you\n", " return 'you guys'\n", " \n", " if 'other' in referents: # exclusive you\n", " return 'you guys'\n", " \n", " return 'you'\n", " \n", " # third-person, if the addressee isn't included either\n", " elif 'other' in referents:\n", " \n", " if referents.count('other') > 1:\n", " return 'they'\n", " \n", " return 's/he'" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'we'" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "english(['self', 'addressee'])" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'we'" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "english(['self', 'other'])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'you guys'" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "english(['addressee', 'other'])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'you guys'" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "english(['addressee', 'addressee']) # also ('addressee', 'addressee') compound" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", " | Cues | \n", "Outcomes | \n", "
---|---|---|
0 | \n", "[addressee] | \n", "you | \n", "
1 | \n", "[self] | \n", "I | \n", "
2 | \n", "[other] | \n", "s/he | \n", "
3 | \n", "[addressee, addressee, (addressee, addressee)] | \n", "you guys | \n", "
4 | \n", "[addressee, self, (addressee, self)] | \n", "we | \n", "
5 | \n", "[addressee, other, (addressee, other)] | \n", "you guys | \n", "
6 | \n", "[self, other, (self, other)] | \n", "we | \n", "
7 | \n", "[other, other, (other, other)] | \n", "they | \n", "
8 | \n", "[addressee, addressee, self, (addressee, addre... | \n", "we | \n", "
9 | \n", "[addressee, addressee, other, (addressee, addr... | \n", "you guys | \n", "
10 | \n", "[addressee, self, other, (addressee, self), (a... | \n", "we | \n", "
11 | \n", "[addressee, other, other, (addressee, other), ... | \n", "you guys | \n", "
12 | \n", "[self, other, other, (self, other), (other, ot... | \n", "we | \n", "
13 | \n", "[addressee, addressee, self, other, (addressee... | \n", "we | \n", "
14 | \n", "[addressee, addressee, other, other, (addresse... | \n", "you guys | \n", "
15 | \n", "[addressee, self, other, other, (addressee, se... | \n", "we | \n", "
16 | \n", "[addressee, addressee, self, other, other, (ad... | \n", "we | \n", "
17 rows × 2 columns
\n", "\n", " | I | \n", "s/he | \n", "they | \n", "we | \n", "you | \n", "you guys | \n", "
---|---|---|---|---|---|---|
0 | \n", "-0.000848 | \n", "-0.004426 | \n", "-0.010796 | \n", "0.094586 | \n", "0.051966 | \n", "0.115364 | \n", "
1 | \n", "0.038021 | \n", "-0.004950 | \n", "-0.012859 | \n", "0.244965 | \n", "-0.003339 | \n", "-0.044676 | \n", "
2 | \n", "-0.000927 | \n", "0.055316 | \n", "0.066743 | \n", "0.114067 | \n", "-0.002913 | \n", "0.074110 | \n", "
3 | \n", "-0.001350 | \n", "-0.006548 | \n", "-0.015506 | \n", "0.147016 | \n", "0.048047 | \n", "0.193614 | \n", "
4 | \n", "0.036280 | \n", "-0.010656 | \n", "-0.027279 | \n", "0.482914 | \n", "0.044615 | \n", "0.028538 | \n", "
5 | \n", "-0.002198 | \n", "0.044708 | \n", "0.041887 | \n", "0.229084 | \n", "0.045385 | \n", "0.275810 | \n", "
6 | \n", "0.036122 | \n", "0.043941 | \n", "0.038201 | \n", "0.528713 | \n", "-0.007516 | \n", "-0.007599 | \n", "
7 | \n", "-0.001687 | \n", "0.048333 | \n", "0.142420 | \n", "0.160588 | \n", "-0.004411 | \n", "0.100827 | \n", "
8 | \n", "0.035268 | \n", "-0.013435 | \n", "-0.033228 | \n", "0.616866 | \n", "0.038504 | \n", "0.078863 | \n", "
9 | \n", "-0.002760 | \n", "0.039354 | \n", "0.030369 | \n", "0.304269 | \n", "0.039766 | \n", "0.394813 | \n", "
10 | \n", "0.033516 | \n", "0.029490 | \n", "0.003721 | \n", "0.845571 | \n", "0.034954 | \n", "0.119107 | \n", "
11 | \n", "-0.003384 | \n", "0.035624 | \n", "0.107613 | \n", "0.277364 | \n", "0.041903 | \n", "0.337897 | \n", "
12 | \n", "0.034578 | \n", "0.034353 | \n", "0.102137 | \n", "0.654354 | \n", "-0.009695 | \n", "-0.001124 | \n", "
13 | \n", "0.032382 | \n", "0.021968 | \n", "-0.011912 | \n", "1.048176 | \n", "0.026274 | \n", "0.188487 | \n", "
14 | \n", "-0.004007 | \n", "0.029325 | \n", "0.091090 | \n", "0.359332 | \n", "0.035411 | \n", "0.474638 | \n", "
15 | \n", "0.031102 | \n", "0.017140 | \n", "0.053163 | \n", "0.995321 | \n", "0.029755 | \n", "0.143911 | \n", "
16 | \n", "0.029846 | \n", "0.008438 | \n", "0.030560 | \n", "1.225235 | \n", "0.019831 | \n", "0.220925 | \n", "
17 rows × 6 columns
\n", "\n", " | Truth | \n", "Prediction | \n", "Accurate? | \n", "
---|---|---|---|
0 | \n", "you | \n", "you guys | \n", "False | \n", "
1 | \n", "I | \n", "we | \n", "False | \n", "
2 | \n", "s/he | \n", "we | \n", "False | \n", "
3 | \n", "you guys | \n", "you guys | \n", "True | \n", "
4 | \n", "we | \n", "we | \n", "True | \n", "
5 | \n", "you guys | \n", "you guys | \n", "True | \n", "
6 | \n", "we | \n", "we | \n", "True | \n", "
7 | \n", "they | \n", "we | \n", "False | \n", "
8 | \n", "we | \n", "we | \n", "True | \n", "
9 | \n", "you guys | \n", "you guys | \n", "True | \n", "
10 | \n", "we | \n", "we | \n", "True | \n", "
11 | \n", "you guys | \n", "you guys | \n", "True | \n", "
12 | \n", "we | \n", "we | \n", "True | \n", "
13 | \n", "we | \n", "we | \n", "True | \n", "
14 | \n", "you guys | \n", "you guys | \n", "True | \n", "
15 | \n", "we | \n", "we | \n", "True | \n", "
16 | \n", "we | \n", "we | \n", "True | \n", "
17 rows × 3 columns
\n", "