source: consulta_publica/vsm/examples/church-corpus-tfidf-lsa.ipynb @ a805aa6

baseconstituyenteestudiantesgeneralplan_patriasala
Last change on this file since a805aa6 was 0ff122b, checked in by rudmanmrrod <rudman22@…>, 7 años ago

Agregado módulo de gestión de perfiles de procesamiento, incorporado el módulo de visualización de modelado de tópicos

  • Propiedad mode establecida a 100644
File size: 42.1 KB
Línea 
1{
2 "metadata": {
3  "name": "",
4  "signature": "sha256:1a2c284881d0d090a8144448ddffa2622095c15049758d95804689d0f0432b74"
5 },
6 "nbformat": 3,
7 "nbformat_minor": 0,
8 "worksheets": [
9  {
10   "cells": [
11    {
12     "cell_type": "code",
13     "collapsed": false,
14     "input": [
15      "from vsm import *\n",
16      "from vsm.extensions.corpusbuilders import toy_corpus\n",
17      "\n",
18      "\n",
19      "plain_corpus = \"\"\"\n",
20      "His theology challenged the Pope of the Roman Catholic Church by\n",
21      "teaching that the Bible is the only source of divinely revealed\n",
22      "knowledge.\n",
23      "\n",
24      "Augustine is held in the Catholic Church to be the model teacher.\n",
25      "\n",
26      "Augustine was recognized as a Doctor of the Church by Pope Boniface\n",
27      "VIII.\n",
28      "\n",
29      "Roman Catholic theology stated that faith alone cannot justify man.\n",
30      "\n",
31      "In the Catholic Church the Pope is regarded as the successor of Saint\n",
32      "Peter.\n",
33      "\n",
34      "Alonzo Church was an American mathematician and logician who made\n",
35      "major contributions to mathematical logic and the foundations of\n",
36      "theoretical computer science.\n",
37      "\n",
38      "The lambda calculus was introduced by mathematician Alonzo Church as\n",
39      "an investigation into the foundations of mathematics.\n",
40      "\n",
41      "The Church Turing thesis states that a function is algorithmically\n",
42      "computable if and only if it is computable by a Turing machine.\n",
43      "\n",
44      "Mathematical logic has close connections to the foundations of\n",
45      "mathematics, theoretical computer science.\n",
46      "\n",
47      "A Turing machine can be adapted to simulate the logic of any computer\n",
48      "algorithm.\n",
49      "\"\"\"\n",
50      "\n",
51      "metadata = ['Ecclesiastical ' + str(i) for i in xrange(1, 6)]\n",
52      "metadata += ['Logic ' + str(i) for i in xrange(1, 6)]\n",
53      "\n",
54      "c = toy_corpus(plain_corpus, nltk_stop=True, metadata=metadata)\n",
55      "\n",
56      "tf_m = TfMulti(c, 'document')\n",
57      "tf_m.train(2)\n",
58      "\n",
59      "tfidf_m = TfIdf(tf_m.matrix, 'document')\n",
60      "tfidf_m.train()\n",
61      "\n",
62      "lsa_m = Lsa(tfidf_m.matrix, 'document')\n",
63      "lsa_m.train(k_factors=3)\n",
64      "\n",
65      "tf_v = TfViewer(c, tf_m)\n",
66      "tfidf_v = TfIdfViewer(c, tfidf_m)\n",
67      "lsa_v = LsaViewer(c, lsa_m)"
68     ],
69     "language": "python",
70     "metadata": {},
71     "outputs": [
72      {
73       "output_type": "stream",
74       "stream": "stdout",
75       "text": [
76        "Mapping\n"
77       ]
78      },
79      {
80       "output_type": "stream",
81       "stream": "stderr",
82       "text": [
83        "/usr/lib/pymodules/python2.7/numpy/ctypeslib.py:411: RuntimeWarning: Item size computed from the PEP 3118 buffer format string does not match the actual item size.\n",
84        "  return array(obj, copy=False)\n"
85       ]
86      },
87      {
88       "output_type": "stream",
89       "stream": "stdout",
90       "text": [
91        "Reducing\n"
92       ]
93      }
94     ],
95     "prompt_number": 1
96    },
97    {
98     "cell_type": "code",
99     "collapsed": false,
100     "input": [
101      "tf_v.dist_word_word('logic', print_len=24)"
102     ],
103     "language": "python",
104     "metadata": {},
105     "outputs": [
106      {
107       "html": [
108        "<table style=\"margin: 0\"><tr><th style=\"text-align: center; background: #CEE3F6\" colspan                    =\"4\">Words: logic</th></tr><tr><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                    </th><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                    </th></tr><tr><td>logic               </td><td>0.00000   </td><td>close               </td><td>0.95532   </td></tr><tr><td>computer            </td><td>0.00000   </td><td>adapted             </td><td>0.95532   </td></tr><tr><td>theoretical         </td><td>0.61548   </td><td>algorithm           </td><td>0.95532   </td></tr><tr><td>science             </td><td>0.61548   </td><td>american            </td><td>0.95532   </td></tr><tr><td>mathematical        </td><td>0.61548   </td><td>mathematician       </td><td>1.15026   </td></tr><tr><td>foundations         </td><td>0.84107   </td><td>alonzo              </td><td>1.15026   </td></tr><tr><td>simulate            </td><td>0.95532   </td><td>machine             </td><td>1.15026   </td></tr><tr><td>major               </td><td>0.95532   </td><td>mathematics         </td><td>1.15026   </td></tr><tr><td>made                </td><td>0.95532   </td><td>turing              </td><td>1.30964   </td></tr><tr><td>logician            </td><td>0.95532   </td><td>church              </td><td>1.35081   </td></tr><tr><td>contributions       </td><td>0.95532   </td><td>pope                </td><td>1.57080   </td></tr><tr><td>connections         </td><td>0.95532   </td><td>recognized          </td><td>1.57080   </td></tr></table>"
109       ],
110       "metadata": {},
111       "output_type": "pyout",
112       "prompt_number": 2,
113       "text": [
114        "LabeledColumn([('logic', 0.0), ('computer', 0.0),\n",
115        "       ('theoretical', 0.6154797086703874),\n",
116        "       ('science', 0.6154797086703874),\n",
117        "       ('mathematical', 0.6154797086703874),\n",
118        "       ('foundations', 0.84106867056793), ('simulate', 0.9553166181245092),\n",
119        "       ('major', 0.9553166181245092), ('made', 0.9553166181245092),\n",
120        "       ('logician', 0.9553166181245092),\n",
121        "       ('contributions', 0.9553166181245092),\n",
122        "       ('connections', 0.9553166181245092), ('close', 0.9553166181245092),\n",
123        "       ('adapted', 0.9553166181245092), ('algorithm', 0.9553166181245092),\n",
124        "       ('american', 0.9553166181245092),\n",
125        "       ('mathematician', 1.1502619915109316),\n",
126        "       ('alonzo', 1.1502619915109316), ('machine', 1.1502619915109316),\n",
127        "       ('mathematics', 1.1502619915109316), ('turing', 1.3096389158918722),\n",
128        "       ('church', 1.3508083493994372), ('pope', 1.5707963267948966),\n",
129        "       ('recognized', 1.5707963267948966),\n",
130        "       ('regarded', 1.5707963267948966), ('revealed', 1.5707963267948966),\n",
131        "       ('roman', 1.5707963267948966), ('saint', 1.5707963267948966),\n",
132        "       ('algorithmically', 1.5707963267948966),\n",
133        "       ('source', 1.5707963267948966), ('stated', 1.5707963267948966),\n",
134        "       ('states', 1.5707963267948966), ('successor', 1.5707963267948966),\n",
135        "       ('teacher', 1.5707963267948966), ('teaching', 1.5707963267948966),\n",
136        "       ('theology', 1.5707963267948966), ('thesis', 1.5707963267948966),\n",
137        "       ('alone', 1.5707963267948966), ('peter', 1.5707963267948966),\n",
138        "       ('computable', 1.5707963267948966), ('man', 1.5707963267948966),\n",
139        "       ('challenged', 1.5707963267948966),\n",
140        "       ('catholic', 1.5707963267948966), ('calculus', 1.5707963267948966),\n",
141        "       ('divinely', 1.5707963267948966), ('doctor', 1.5707963267948966),\n",
142        "       ('faith', 1.5707963267948966), ('boniface', 1.5707963267948966),\n",
143        "       ('model', 1.5707963267948966), ('function', 1.5707963267948966),\n",
144        "       ('introduced', 1.5707963267948966),\n",
145        "       ('investigation', 1.5707963267948966),\n",
146        "       ('justify', 1.5707963267948966), ('knowledge', 1.5707963267948966),\n",
147        "       ('lambda', 1.5707963267948966), ('bible', 1.5707963267948966),\n",
148        "       ('augustine', 1.5707963267948966), ('held', 1.5707963267948966),\n",
149        "       ('viii', 1.5707963267948966)], \n",
150        "      dtype=[('word', '|S15'), ('value', '<f8')])"
151       ]
152      }
153     ],
154     "prompt_number": 2
155    },
156    {
157     "cell_type": "code",
158     "collapsed": false,
159     "input": [
160      "tfidf_v.dist_word_word('logic', print_len=24)"
161     ],
162     "language": "python",
163     "metadata": {},
164     "outputs": [
165      {
166       "html": [
167        "<table style=\"margin: 0\"><tr><th style=\"text-align: center; background: #CEE3F6\" colspan                    =\"4\">Words: logic</th></tr><tr><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                    </th><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                    </th></tr><tr><td>logic               </td><td>0.00000   </td><td>close               </td><td>0.95532   </td></tr><tr><td>computer            </td><td>0.00000   </td><td>adapted             </td><td>0.95532   </td></tr><tr><td>theoretical         </td><td>0.61548   </td><td>algorithm           </td><td>0.95532   </td></tr><tr><td>science             </td><td>0.61548   </td><td>american            </td><td>0.95532   </td></tr><tr><td>mathematical        </td><td>0.61548   </td><td>mathematician       </td><td>1.15026   </td></tr><tr><td>foundations         </td><td>0.84107   </td><td>alonzo              </td><td>1.15026   </td></tr><tr><td>simulate            </td><td>0.95532   </td><td>machine             </td><td>1.15026   </td></tr><tr><td>major               </td><td>0.95532   </td><td>mathematics         </td><td>1.15026   </td></tr><tr><td>made                </td><td>0.95532   </td><td>turing              </td><td>1.30964   </td></tr><tr><td>logician            </td><td>0.95532   </td><td>church              </td><td>1.35081   </td></tr><tr><td>contributions       </td><td>0.95532   </td><td>pope                </td><td>1.57080   </td></tr><tr><td>connections         </td><td>0.95532   </td><td>recognized          </td><td>1.57080   </td></tr></table>"
168       ],
169       "metadata": {},
170       "output_type": "pyout",
171       "prompt_number": 3,
172       "text": [
173        "LabeledColumn([('logic', 0.0), ('computer', 0.0),\n",
174        "       ('theoretical', 0.6154797086703874),\n",
175        "       ('science', 0.6154797086703874),\n",
176        "       ('mathematical', 0.6154797086703874),\n",
177        "       ('foundations', 0.8410686705679303),\n",
178        "       ('simulate', 0.9553166181245094), ('major', 0.9553166181245094),\n",
179        "       ('made', 0.9553166181245094), ('logician', 0.9553166181245094),\n",
180        "       ('contributions', 0.9553166181245094),\n",
181        "       ('connections', 0.9553166181245094), ('close', 0.9553166181245094),\n",
182        "       ('adapted', 0.9553166181245094), ('algorithm', 0.9553166181245094),\n",
183        "       ('american', 0.9553166181245094),\n",
184        "       ('mathematician', 1.1502619915109316),\n",
185        "       ('alonzo', 1.1502619915109316), ('machine', 1.1502619915109316),\n",
186        "       ('mathematics', 1.1502619915109316), ('turing', 1.3096389158918724),\n",
187        "       ('church', 1.3508083493994372), ('pope', 1.5707963267948966),\n",
188        "       ('recognized', 1.5707963267948966),\n",
189        "       ('regarded', 1.5707963267948966), ('revealed', 1.5707963267948966),\n",
190        "       ('roman', 1.5707963267948966), ('saint', 1.5707963267948966),\n",
191        "       ('algorithmically', 1.5707963267948966),\n",
192        "       ('source', 1.5707963267948966), ('stated', 1.5707963267948966),\n",
193        "       ('states', 1.5707963267948966), ('successor', 1.5707963267948966),\n",
194        "       ('teacher', 1.5707963267948966), ('teaching', 1.5707963267948966),\n",
195        "       ('theology', 1.5707963267948966), ('thesis', 1.5707963267948966),\n",
196        "       ('alone', 1.5707963267948966), ('peter', 1.5707963267948966),\n",
197        "       ('computable', 1.5707963267948966), ('man', 1.5707963267948966),\n",
198        "       ('challenged', 1.5707963267948966),\n",
199        "       ('catholic', 1.5707963267948966), ('calculus', 1.5707963267948966),\n",
200        "       ('divinely', 1.5707963267948966), ('doctor', 1.5707963267948966),\n",
201        "       ('faith', 1.5707963267948966), ('boniface', 1.5707963267948966),\n",
202        "       ('model', 1.5707963267948966), ('function', 1.5707963267948966),\n",
203        "       ('introduced', 1.5707963267948966),\n",
204        "       ('investigation', 1.5707963267948966),\n",
205        "       ('justify', 1.5707963267948966), ('knowledge', 1.5707963267948966),\n",
206        "       ('lambda', 1.5707963267948966), ('bible', 1.5707963267948966),\n",
207        "       ('augustine', 1.5707963267948966), ('held', 1.5707963267948966),\n",
208        "       ('viii', 1.5707963267948966)], \n",
209        "      dtype=[('word', '|S15'), ('value', '<f8')])"
210       ]
211      }
212     ],
213     "prompt_number": 3
214    },
215    {
216     "cell_type": "code",
217     "collapsed": false,
218     "input": [
219      "lsa_v.dist_word_word('logic', print_len=24)"
220     ],
221     "language": "python",
222     "metadata": {},
223     "outputs": [
224      {
225       "html": [
226        "<table style=\"margin: 0\"><tr><th style=\"text-align: center; background: #CEE3F6\" colspan                    =\"4\">Words: logic</th></tr><tr><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                    </th><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                    </th></tr><tr><td>logic               </td><td>0.00000   </td><td>contributions       </td><td>0.16133   </td></tr><tr><td>computer            </td><td>0.00000   </td><td>major               </td><td>0.16133   </td></tr><tr><td>connections         </td><td>0.14615   </td><td>alonzo              </td><td>0.16665   </td></tr><tr><td>close               </td><td>0.14615   </td><td>mathematician       </td><td>0.16665   </td></tr><tr><td>theoretical         </td><td>0.15619   </td><td>calculus            </td><td>0.18072   </td></tr><tr><td>science             </td><td>0.15619   </td><td>introduced          </td><td>0.18072   </td></tr><tr><td>mathematical        </td><td>0.15619   </td><td>lambda              </td><td>0.18072   </td></tr><tr><td>mathematics         </td><td>0.16088   </td><td>investigation       </td><td>0.18072   </td></tr><tr><td>foundations         </td><td>0.16111   </td><td>church              </td><td>0.85232   </td></tr><tr><td>made                </td><td>0.16133   </td><td>simulate            </td><td>0.94910   </td></tr><tr><td>american            </td><td>0.16133   </td><td>adapted             </td><td>0.94910   </td></tr><tr><td>logician            </td><td>0.16133   </td><td>algorithm           </td><td>0.94910   </td></tr></table>"
227       ],
228       "metadata": {},
229       "output_type": "pyout",
230       "prompt_number": 4,
231       "text": [
232        "LabeledColumn([('logic', 2.1073424255447017e-08),\n",
233        "       ('computer', 2.1073424255447017e-08),\n",
234        "       ('connections', 0.1461497327030728), ('close', 0.1461497327030728),\n",
235        "       ('theoretical', 0.1561931875925689),\n",
236        "       ('science', 0.1561931875925689),\n",
237        "       ('mathematical', 0.1561931875925689),\n",
238        "       ('mathematics', 0.16088388222038064),\n",
239        "       ('foundations', 0.16111028907696195), ('made', 0.16132699126936187),\n",
240        "       ('american', 0.16132699126936187),\n",
241        "       ('logician', 0.16132699126936187),\n",
242        "       ('contributions', 0.16132699126936187),\n",
243        "       ('major', 0.16132699126936187), ('alonzo', 0.166652610177689),\n",
244        "       ('mathematician', 0.166652610177689),\n",
245        "       ('calculus', 0.18071500661099674),\n",
246        "       ('introduced', 0.18071500661099674),\n",
247        "       ('lambda', 0.18071500661099674),\n",
248        "       ('investigation', 0.18071500661099674),\n",
249        "       ('church', 0.8523211636647396), ('simulate', 0.9491017050433752),\n",
250        "       ('adapted', 0.9491017050433752), ('algorithm', 0.9491017050433752),\n",
251        "       ('machine', 1.353933874937494), ('turing', 1.3993762078367922),\n",
252        "       ('thesis', 1.455329082734973), ('states', 1.455329082734973),\n",
253        "       ('algorithmically', 1.455329082734973),\n",
254        "       ('computable', 1.455329082734973), ('function', 1.455329082734973),\n",
255        "       ('held', 1.4942581924548715), ('teacher', 1.4942581924548715),\n",
256        "       ('model', 1.4942581924548715), ('augustine', 1.5036434979434157),\n",
257        "       ('recognized', 1.5100453465502426), ('viii', 1.5100453465502426),\n",
258        "       ('boniface', 1.5100453465502426), ('doctor', 1.5100453465502426),\n",
259        "       ('peter', 1.537296434294445), ('successor', 1.537296434294445),\n",
260        "       ('saint', 1.537296434294445), ('regarded', 1.537296434294445),\n",
261        "       ('pope', 1.569538765830574), ('catholic', 1.5741457973418245),\n",
262        "       ('challenged', 1.5786643468083752), ('bible', 1.5786643468083752),\n",
263        "       ('source', 1.5786643468083752), ('knowledge', 1.5786643468083752),\n",
264        "       ('teaching', 1.5786643468083752), ('revealed', 1.5786643468083752),\n",
265        "       ('divinely', 1.5786643468083752), ('roman', 1.5807179416878123),\n",
266        "       ('theology', 1.5807179416878123), ('alone', 1.5857499354125162),\n",
267        "       ('stated', 1.5857499354125162), ('justify', 1.5857499354125162),\n",
268        "       ('man', 1.5857499354125162), ('faith', 1.5857499354125162)], \n",
269        "      dtype=[('word', '|S15'), ('value', '<f8')])"
270       ]
271      }
272     ],
273     "prompt_number": 4
274    },
275    {
276     "cell_type": "code",
277     "collapsed": false,
278     "input": [
279      "tf_v.dist_doc_doc('Ecclesiastical 4')"
280     ],
281     "language": "python",
282     "metadata": {},
283     "outputs": [
284      {
285       "html": [
286        "<table style=\"margin: 0\"><tr><th style=\"text-align: center; background: #CEE3F6\" colspan                    =\"2\">Documents: </th></tr><tr><th style=\"text-align: center; background: #EFF2FB; \">Document                          </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                          </th></tr><tr><td>Ecclesiastical 4     </td><td>0.00000   </td></tr><tr><td>Ecclesiastical 1     </td><td>1.25961   </td></tr><tr><td>Ecclesiastical 2     </td><td>1.42595   </td></tr><tr><td>Ecclesiastical 5     </td><td>1.43676   </td></tr><tr><td>Ecclesiastical 3     </td><td>1.57080   </td></tr><tr><td>Logic 1              </td><td>1.57080   </td></tr><tr><td>Logic 2              </td><td>1.57080   </td></tr><tr><td>Logic 3              </td><td>1.57080   </td></tr><tr><td>Logic 4              </td><td>1.57080   </td></tr><tr><td>Logic 5              </td><td>1.57080   </td></tr></table>"
287       ],
288       "metadata": {},
289       "output_type": "pyout",
290       "prompt_number": 5,
291       "text": [
292        "LabeledColumn([('Ecclesiastical 4', 1.4901161193847656e-08),\n",
293        "       ('Ecclesiastical 1', 1.2596120825173864),\n",
294        "       ('Ecclesiastical 2', 1.4259528297963369),\n",
295        "       ('Ecclesiastical 5', 1.4367647653836777),\n",
296        "       ('Ecclesiastical 3', 1.5707963267948966),\n",
297        "       ('Logic 1', 1.5707963267948966), ('Logic 2', 1.5707963267948966),\n",
298        "       ('Logic 3', 1.5707963267948966), ('Logic 4', 1.5707963267948966),\n",
299        "       ('Logic 5', 1.5707963267948966)], \n",
300        "      dtype=[('doc', '|S16'), ('value', '<f8')])"
301       ]
302      }
303     ],
304     "prompt_number": 5
305    },
306    {
307     "cell_type": "code",
308     "collapsed": false,
309     "input": [
310      "tfidf_v.dist_doc_doc('Ecclesiastical 4')"
311     ],
312     "language": "python",
313     "metadata": {},
314     "outputs": [
315      {
316       "html": [
317        "<table style=\"margin: 0\"><tr><th style=\"text-align: center; background: #CEE3F6\" colspan                    =\"2\">Documents: </th></tr><tr><th style=\"text-align: center; background: #EFF2FB; \">Document                          </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                          </th></tr><tr><td>Ecclesiastical 4     </td><td>0.00000   </td></tr><tr><td>Ecclesiastical 1     </td><td>1.41228   </td></tr><tr><td>Ecclesiastical 2     </td><td>1.53742   </td></tr><tr><td>Ecclesiastical 5     </td><td>1.54051   </td></tr><tr><td>Ecclesiastical 3     </td><td>1.57080   </td></tr><tr><td>Logic 1              </td><td>1.57080   </td></tr><tr><td>Logic 2              </td><td>1.57080   </td></tr><tr><td>Logic 3              </td><td>1.57080   </td></tr><tr><td>Logic 4              </td><td>1.57080   </td></tr><tr><td>Logic 5              </td><td>1.57080   </td></tr></table>"
318       ],
319       "metadata": {},
320       "output_type": "pyout",
321       "prompt_number": 6,
322       "text": [
323        "LabeledColumn([('Ecclesiastical 4', 0.0), ('Ecclesiastical 1', 1.4122756403782417),\n",
324        "       ('Ecclesiastical 2', 1.5374225855153376),\n",
325        "       ('Ecclesiastical 5', 1.5405050906164508),\n",
326        "       ('Ecclesiastical 3', 1.5707963267948966),\n",
327        "       ('Logic 1', 1.5707963267948966), ('Logic 2', 1.5707963267948966),\n",
328        "       ('Logic 3', 1.5707963267948966), ('Logic 4', 1.5707963267948966),\n",
329        "       ('Logic 5', 1.5707963267948966)], \n",
330        "      dtype=[('doc', '|S16'), ('value', '<f8')])"
331       ]
332      }
333     ],
334     "prompt_number": 6
335    },
336    {
337     "cell_type": "code",
338     "collapsed": false,
339     "input": [
340      "tfidf_v.dist_word_doc('computer')"
341     ],
342     "language": "python",
343     "metadata": {},
344     "outputs": [
345      {
346       "html": [
347        "<table style=\"margin: 0\"><tr><th style=\"text-align: center; background: #CEE3F6\" colspan                    =\"2\">Words: </th></tr><tr><th style=\"text-align: center; background: #EFF2FB; \">Document                          </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                          </th></tr><tr><td>Logic 5              </td><td>1.32242   </td></tr><tr><td>Logic 4              </td><td>1.32915   </td></tr><tr><td>Logic 1              </td><td>1.38815   </td></tr><tr><td>Ecclesiastical 1     </td><td>1.57080   </td></tr><tr><td>Ecclesiastical 2     </td><td>1.57080   </td></tr><tr><td>Ecclesiastical 3     </td><td>1.57080   </td></tr><tr><td>Ecclesiastical 4     </td><td>1.57080   </td></tr><tr><td>Ecclesiastical 5     </td><td>1.57080   </td></tr><tr><td>Logic 2              </td><td>1.57080   </td></tr><tr><td>Logic 3              </td><td>1.57080   </td></tr></table>"
348       ],
349       "metadata": {},
350       "output_type": "pyout",
351       "prompt_number": 7,
352       "text": [
353        "LabeledColumn([('Logic 5', 1.3224154697632784), ('Logic 4', 1.3291532220319409),\n",
354        "       ('Logic 1', 1.388146251745384),\n",
355        "       ('Ecclesiastical 1', 1.5707963267948966),\n",
356        "       ('Ecclesiastical 2', 1.5707963267948966),\n",
357        "       ('Ecclesiastical 3', 1.5707963267948966),\n",
358        "       ('Ecclesiastical 4', 1.5707963267948966),\n",
359        "       ('Ecclesiastical 5', 1.5707963267948966),\n",
360        "       ('Logic 2', 1.5707963267948966), ('Logic 3', 1.5707963267948966)], \n",
361        "      dtype=[('doc', '|S16'), ('value', '<f8')])"
362       ]
363      }
364     ],
365     "prompt_number": 7
366    },
367    {
368     "cell_type": "code",
369     "collapsed": false,
370     "input": [
371      "lsa_v.dist_word_doc('church')"
372     ],
373     "language": "python",
374     "metadata": {},
375     "outputs": [
376      {
377       "html": [
378        "<table style=\"margin: 0\"><tr><th style=\"text-align: center; background: #CEE3F6\" colspan                    =\"2\">Words: </th></tr><tr><th style=\"text-align: center; background: #EFF2FB; \">Document                          </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                          </th></tr><tr><td>Ecclesiastical 2     </td><td>0.73633   </td></tr><tr><td>Ecclesiastical 3     </td><td>0.75591   </td></tr><tr><td>Ecclesiastical 5     </td><td>0.78818   </td></tr><tr><td>Ecclesiastical 1     </td><td>0.83776   </td></tr><tr><td>Logic 5              </td><td>0.84555   </td></tr><tr><td>Ecclesiastical 4     </td><td>0.84617   </td></tr><tr><td>Logic 4              </td><td>0.94199   </td></tr><tr><td>Logic 2              </td><td>0.94433   </td></tr><tr><td>Logic 1              </td><td>0.94556   </td></tr><tr><td>Logic 3              </td><td>1.11314   </td></tr></table>"
379       ],
380       "metadata": {},
381       "output_type": "pyout",
382       "prompt_number": 8,
383       "text": [
384        "LabeledColumn([('Ecclesiastical 2', 0.7363264837344443),\n",
385        "       ('Ecclesiastical 3', 0.7559069891816871),\n",
386        "       ('Ecclesiastical 5', 0.7881792424138612),\n",
387        "       ('Ecclesiastical 1', 0.8377568378998803),\n",
388        "       ('Logic 5', 0.8455464728606694),\n",
389        "       ('Ecclesiastical 4', 0.8461724249009318),\n",
390        "       ('Logic 4', 0.9419921003724298), ('Logic 2', 0.9443332777787585),\n",
391        "       ('Logic 1', 0.9455622593137681), ('Logic 3', 1.1131440244046271)], \n",
392        "      dtype=[('doc', '|S16'), ('value', '<f8')])"
393       ]
394      }
395     ],
396     "prompt_number": 8
397    },
398    {
399     "cell_type": "code",
400     "collapsed": false,
401     "input": [
402      "lsa_v.dist_doc_doc('Ecclesiastical 4')"
403     ],
404     "language": "python",
405     "metadata": {},
406     "outputs": [
407      {
408       "html": [
409        "<table style=\"margin: 0\"><tr><th style=\"text-align: center; background: #CEE3F6\" colspan                    =\"2\">Documents: </th></tr><tr><th style=\"text-align: center; background: #EFF2FB; \">Document                          </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                          </th></tr><tr><td>Ecclesiastical 4     </td><td>0.00000   </td></tr><tr><td>Ecclesiastical 1     </td><td>0.00843   </td></tr><tr><td>Ecclesiastical 5     </td><td>0.05804   </td></tr><tr><td>Ecclesiastical 3     </td><td>0.09036   </td></tr><tr><td>Ecclesiastical 2     </td><td>0.10991   </td></tr><tr><td>Logic 2              </td><td>1.56321   </td></tr><tr><td>Logic 3              </td><td>1.57501   </td></tr><tr><td>Logic 1              </td><td>1.57808   </td></tr><tr><td>Logic 4              </td><td>1.58446   </td></tr><tr><td>Logic 5              </td><td>1.58765   </td></tr></table>"
410       ],
411       "metadata": {},
412       "output_type": "pyout",
413       "prompt_number": 9,
414       "text": [
415        "LabeledColumn([('Ecclesiastical 4', 0.0),\n",
416        "       ('Ecclesiastical 1', 0.008426996338275176),\n",
417        "       ('Ecclesiastical 5', 0.05803666882089707),\n",
418        "       ('Ecclesiastical 3', 0.09036042875240273),\n",
419        "       ('Ecclesiastical 2', 0.10990663361013094),\n",
420        "       ('Logic 2', 1.563206166779967), ('Logic 3', 1.5750098468112752),\n",
421        "       ('Logic 1', 1.5780801982346484), ('Logic 4', 1.58446244677414),\n",
422        "       ('Logic 5', 1.5876493531936278)], \n",
423        "      dtype=[('doc', '|S16'), ('value', '<f8')])"
424       ]
425      }
426     ],
427     "prompt_number": 9
428    },
429    {
430     "cell_type": "code",
431     "collapsed": false,
432     "input": [
433      "tf_v.coll_freq('church')"
434     ],
435     "language": "python",
436     "metadata": {},
437     "outputs": [
438      {
439       "metadata": {},
440       "output_type": "pyout",
441       "prompt_number": 10,
442       "text": [
443        "7"
444       ]
445      }
446     ],
447     "prompt_number": 10
448    },
449    {
450     "cell_type": "code",
451     "collapsed": false,
452     "input": [
453      "tf_v.coll_freqs(print_len=54)"
454     ],
455     "language": "python",
456     "metadata": {},
457     "outputs": [
458      {
459       "html": [
460        "<table style=\"margin: 0\"><tr><th style=\"text-align: center; background: #CEE3F6\" colspan                    =\"8\">Collection Frequencies</th></tr><tr><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Counts                    </th><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Counts                    </th><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Counts                    </th><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Counts                    </th></tr><tr><td>church              </td><td>7         </td><td>computable          </td><td>2         </td><td>calculus            </td><td>1         </td><td>states              </td><td>1         </td></tr><tr><td>catholic            </td><td>4         </td><td>augustine           </td><td>2         </td><td>american            </td><td>1         </td><td>stated              </td><td>1         </td></tr><tr><td>foundations         </td><td>3         </td><td>roman               </td><td>2         </td><td>close               </td><td>1         </td><td>source              </td><td>1         </td></tr><tr><td>turing              </td><td>3         </td><td>science             </td><td>2         </td><td>algorithmically     </td><td>1         </td><td>simulate            </td><td>1         </td></tr><tr><td>computer            </td><td>3         </td><td>alone               </td><td>1         </td><td>held                </td><td>1         </td><td>saint               </td><td>1         </td></tr><tr><td>pope                </td><td>3         </td><td>contributions       </td><td>1         </td><td>function            </td><td>1         </td><td>revealed            </td><td>1         </td></tr><tr><td>logic               </td><td>3         </td><td>algorithm           </td><td>1         </td><td>viii                </td><td>1         </td><td>regarded            </td><td>1         </td></tr><tr><td>alonzo              </td><td>2         </td><td>faith               </td><td>1         </td><td>introduced          </td><td>1         </td><td>recognized          </td><td>1         </td></tr><tr><td>mathematics         </td><td>2         </td><td>doctor              </td><td>1         </td><td>investigation       </td><td>1         </td><td>peter               </td><td>1         </td></tr><tr><td>theoretical         </td><td>2         </td><td>divinely            </td><td>1         </td><td>thesis              </td><td>1         </td><td>model               </td><td>1         </td></tr><tr><td>machine             </td><td>2         </td><td>bible               </td><td>1         </td><td>teaching            </td><td>1         </td><td>man                 </td><td>1         </td></tr><tr><td>theology            </td><td>2         </td><td>boniface            </td><td>1         </td><td>teacher             </td><td>1         </td><td>major               </td><td>1         </td></tr><tr><td>mathematical        </td><td>2         </td><td>connections         </td><td>1         </td><td>successor           </td><td>1         </td><td>made                </td><td>1         </td></tr><tr><td>mathematician       </td><td>2         </td><td>challenged          </td><td>1         </td><td style=\"border-color: #EFF2FB; background: #EEF2FB;\">                                                 </td><td style=\"border-color: #EFF2FB; background: #EEF2FB;\">                                       </td><td style=\"border-color: #EFF2FB; background: #EEF2FB;\">                                                 </td><td style=\"border-color: #EFF2FB; background: #EEF2FB;\">                                       </td></tr></table>"
461       ],
462       "metadata": {},
463       "output_type": "pyout",
464       "prompt_number": 11,
465       "text": [
466        "LabeledColumn([('church', 7), ('catholic', 4), ('foundations', 3), ('turing', 3),\n",
467        "       ('computer', 3), ('pope', 3), ('logic', 3), ('alonzo', 2),\n",
468        "       ('mathematics', 2), ('theoretical', 2), ('machine', 2),\n",
469        "       ('theology', 2), ('mathematical', 2), ('mathematician', 2),\n",
470        "       ('computable', 2), ('augustine', 2), ('roman', 2), ('science', 2),\n",
471        "       ('alone', 1), ('contributions', 1), ('algorithm', 1), ('faith', 1),\n",
472        "       ('doctor', 1), ('divinely', 1), ('bible', 1), ('boniface', 1),\n",
473        "       ('connections', 1), ('challenged', 1), ('calculus', 1),\n",
474        "       ('american', 1), ('close', 1), ('algorithmically', 1), ('held', 1),\n",
475        "       ('function', 1), ('viii', 1), ('introduced', 1),\n",
476        "       ('investigation', 1), ('thesis', 1), ('teaching', 1),\n",
477        "       ('teacher', 1), ('successor', 1), ('states', 1), ('stated', 1),\n",
478        "       ('source', 1), ('simulate', 1), ('saint', 1), ('revealed', 1),\n",
479        "       ('regarded', 1), ('recognized', 1), ('peter', 1), ('model', 1),\n",
480        "       ('man', 1), ('major', 1), ('made', 1), ('logician', 1),\n",
481        "       ('lambda', 1), ('knowledge', 1), ('justify', 1), ('adapted', 1)], \n",
482        "      dtype=[('word', '|S15'), ('value', '<i4')])"
483       ]
484      }
485     ],
486     "prompt_number": 11
487    },
488    {
489     "cell_type": "code",
490     "collapsed": false,
491     "input": [
492      "dm = tf_v.dismat_word(['logic','church','catholic','pope'])\n",
493      "np.around(dm, decimals=2)"
494     ],
495     "language": "python",
496     "metadata": {},
497     "outputs": [
498      {
499       "metadata": {},
500       "output_type": "pyout",
501       "prompt_number": 12,
502       "text": [
503        "array([[ 0.  ,  1.35,  1.57,  1.57],\n",
504        "       [ 1.35,  0.  ,  0.97,  0.86],\n",
505        "       [ 1.57,  0.97,  0.  ,  0.96],\n",
506        "       [ 1.57,  0.86,  0.96,  0.  ]])"
507       ]
508      }
509     ],
510     "prompt_number": 12
511    },
512    {
513     "cell_type": "code",
514     "collapsed": false,
515     "input": [
516      "dm = tfidf_v.dismat_word(['logic','church','catholic','pope'])\n",
517      "np.around(dm, decimals=2)"
518     ],
519     "language": "python",
520     "metadata": {},
521     "outputs": [
522      {
523       "metadata": {},
524       "output_type": "pyout",
525       "prompt_number": 13,
526       "text": [
527        "array([[ 0.  ,  1.35,  1.57,  1.57],\n",
528        "       [ 1.35,  0.  ,  0.97,  0.86],\n",
529        "       [ 1.57,  0.97,  0.  ,  0.96],\n",
530        "       [ 1.57,  0.86,  0.96,  0.  ]])"
531       ]
532      }
533     ],
534     "prompt_number": 13
535    },
536    {
537     "cell_type": "code",
538     "collapsed": false,
539     "input": [
540      "dm = lsa_v.dismat_word(['logic','church','catholic','pope'])\n",
541      "np.around(dm, decimals=2)"
542     ],
543     "language": "python",
544     "metadata": {},
545     "outputs": [
546      {
547       "metadata": {},
548       "output_type": "pyout",
549       "prompt_number": 14,
550       "text": [
551        "array([[ 0.  ,  0.85,  1.57,  1.57],\n",
552        "       [ 0.85,  0.  ,  0.87,  0.87],\n",
553        "       [ 1.57,  0.87,  0.  ,  0.01],\n",
554        "       [ 1.57,  0.87,  0.01,  0.  ]])"
555       ]
556      }
557     ],
558     "prompt_number": 14
559    },
560    {
561     "cell_type": "code",
562     "collapsed": false,
563     "input": [
564      "dm = tf_v.dismat_doc(['Logic 1','Logic 2','Ecclesiastical 1','Ecclesiastical 2'])\n",
565      "np.around(dm, decimals=2)"
566     ],
567     "language": "python",
568     "metadata": {},
569     "outputs": [
570      {
571       "metadata": {},
572       "output_type": "pyout",
573       "prompt_number": 15,
574       "text": [
575        "array([[ 0.  ,  1.21,  1.49,  1.46],\n",
576        "       [ 1.21,  0.  ,  1.47,  1.43],\n",
577        "       [ 1.49,  1.47,  0.  ,  1.33],\n",
578        "       [ 1.46,  1.43,  1.33,  0.  ]])"
579       ]
580      }
581     ],
582     "prompt_number": 15
583    },
584    {
585     "cell_type": "code",
586     "collapsed": false,
587     "input": [
588      "dm = tfidf_v.dismat_doc(['Logic 1','Logic 2','Ecclesiastical 1','Ecclesiastical 2'])\n",
589      "np.around(dm, decimals=2)"
590     ],
591     "language": "python",
592     "metadata": {},
593     "outputs": [
594      {
595       "metadata": {},
596       "output_type": "pyout",
597       "prompt_number": 16,
598       "text": [
599        "array([[ 0.  ,  1.39,  1.57,  1.57],\n",
600        "       [ 1.39,  0.  ,  1.57,  1.57],\n",
601        "       [ 1.57,  1.57,  0.  ,  1.54],\n",
602        "       [ 1.57,  1.57,  1.54,  0.  ]])"
603       ]
604      }
605     ],
606     "prompt_number": 16
607    },
608    {
609     "cell_type": "code",
610     "collapsed": false,
611     "input": [
612      "dm = lsa_v.dismat_doc(['Logic 1','Logic 2','Ecclesiastical 1','Ecclesiastical 2'])\n",
613      "np.around(dm, decimals=2)"
614     ],
615     "language": "python",
616     "metadata": {},
617     "outputs": [
618      {
619       "metadata": {},
620       "output_type": "pyout",
621       "prompt_number": 17,
622       "text": [
623        "array([[ 0.  ,  0.02,  1.57,  1.49],\n",
624        "       [ 0.02,  0.  ,  1.56,  1.48],\n",
625        "       [ 1.57,  1.56,  0.  ,  0.1 ],\n",
626        "       [ 1.49,  1.48,  0.1 ,  0.  ]])"
627       ]
628      }
629     ],
630     "prompt_number": 17
631    },
632    {
633     "cell_type": "code",
634     "collapsed": false,
635     "input": [
636      "from vsm.spatial import scipy_cdist\n",
637      "lsa_v.dist_word_word('logic', print_len=24, dist_fn=scipy_cdist(metric='minkowski'))"
638     ],
639     "language": "python",
640     "metadata": {},
641     "outputs": [
642      {
643       "html": [
644        "<table style=\"margin: 0\"><tr><th style=\"text-align: center; background: #CEE3F6\" colspan                    =\"4\">Words: logic</th></tr><tr><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                    </th><th style=\"text-align: center; background: #EFF2FB; \">Word                    </th><th style=\"text-align: center; background: #EFF2FB; \">Distance                    </th></tr><tr><td>logic               </td><td>0.00000   </td><td>theoretical         </td><td>0.06325   </td></tr><tr><td>computer            </td><td>0.00000   </td><td>mathematics         </td><td>0.07048   </td></tr><tr><td>mathematician       </td><td>0.04921   </td><td>connections         </td><td>0.09843   </td></tr><tr><td>alonzo              </td><td>0.04921   </td><td>close               </td><td>0.09843   </td></tr><tr><td>foundations         </td><td>0.05166   </td><td>introduced          </td><td>0.12865   </td></tr><tr><td>american            </td><td>0.05320   </td><td>lambda              </td><td>0.12865   </td></tr><tr><td>contributions       </td><td>0.05320   </td><td>investigation       </td><td>0.12865   </td></tr><tr><td>logician            </td><td>0.05320   </td><td>calculus            </td><td>0.12865   </td></tr><tr><td>made                </td><td>0.05320   </td><td>church              </td><td>0.18155   </td></tr><tr><td>major               </td><td>0.05320   </td><td>simulate            </td><td>0.19473   </td></tr><tr><td>mathematical        </td><td>0.06325   </td><td>adapted             </td><td>0.19473   </td></tr><tr><td>science             </td><td>0.06325   </td><td>algorithm           </td><td>0.19473   </td></tr></table>"
645       ],
646       "metadata": {},
647       "output_type": "pyout",
648       "prompt_number": 18,
649       "text": [
650        "LabeledColumn([('logic', 0.0), ('computer', 0.0),\n",
651        "       ('mathematician', 0.0492069763182823),\n",
652        "       ('alonzo', 0.0492069763182823),\n",
653        "       ('foundations', 0.05166368875941544),\n",
654        "       ('american', 0.05320430492811313),\n",
655        "       ('contributions', 0.05320430492811313),\n",
656        "       ('logician', 0.05320430492811313), ('made', 0.05320430492811313),\n",
657        "       ('major', 0.05320430492811313),\n",
658        "       ('mathematical', 0.0632503959697633),\n",
659        "       ('science', 0.0632503959697633),\n",
660        "       ('theoretical', 0.0632503959697633),\n",
661        "       ('mathematics', 0.07048230197449873),\n",
662        "       ('connections', 0.09842980401516312),\n",
663        "       ('close', 0.09842980401516312), ('introduced', 0.12864998450849807),\n",
664        "       ('lambda', 0.12864998450849807),\n",
665        "       ('investigation', 0.12864998450849807),\n",
666        "       ('calculus', 0.12864998450849807), ('church', 0.18154738827057404),\n",
667        "       ('simulate', 0.19473020810363867), ('adapted', 0.19473020810363867),\n",
668        "       ('algorithm', 0.19473020810363867), ('held', 0.22833958546575822),\n",
669        "       ('teacher', 0.22833958546575822), ('model', 0.22833958546575822),\n",
670        "       ('recognized', 0.22893465574112978),\n",
671        "       ('boniface', 0.22893465574112978), ('viii', 0.22893465574112978),\n",
672        "       ('doctor', 0.22893465574112978), ('augustine', 0.2290393895483237),\n",
673        "       ('peter', 0.23082222876942637), ('saint', 0.23082222876942637),\n",
674        "       ('successor', 0.23082222876942637),\n",
675        "       ('regarded', 0.23082222876942637), ('alone', 0.26236426820101866),\n",
676        "       ('justify', 0.26236426820101866), ('stated', 0.26236426820101866),\n",
677        "       ('faith', 0.26236426820101866), ('man', 0.26236426820101866),\n",
678        "       ('pope', 0.2993972085117987), ('catholic', 0.30013287605358824),\n",
679        "       ('machine', 0.3040698811395842),\n",
680        "       ('algorithmically', 0.35328304712159975),\n",
681        "       ('function', 0.35328304712159975), ('states', 0.35328304712159975),\n",
682        "       ('thesis', 0.35328304712159975), ('theology', 0.3796994235501325),\n",
683        "       ('roman', 0.3796994235501325), ('revealed', 0.38318073578287704),\n",
684        "       ('knowledge', 0.38318073578287704),\n",
685        "       ('teaching', 0.38318073578287704), ('bible', 0.38318073578287704),\n",
686        "       ('divinely', 0.38318073578287704),\n",
687        "       ('challenged', 0.38318073578287704),\n",
688        "       ('source', 0.38318073578287704), ('turing', 0.47942958346148457),\n",
689        "       ('computable', 0.6109097308593834)], \n",
690        "      dtype=[('word', '|S15'), ('value', '<f8')])"
691       ]
692      }
693     ],
694     "prompt_number": 18
695    },
696    {
697     "cell_type": "code",
698     "collapsed": false,
699     "input": [
700      "dm = lsa_v.dismat_doc(['Logic 1','Logic 2','Ecclesiastical 1','Ecclesiastical 2'], dist_fn=scipy_cdist(metric='cosine'))\n",
701      "np.around(dm, decimals=2)"
702     ],
703     "language": "python",
704     "metadata": {},
705     "outputs": [
706      {
707       "metadata": {},
708       "output_type": "pyout",
709       "prompt_number": 19,
710       "text": [
711        "array([[ 0.  ,  0.  ,  1.  ,  0.92],\n",
712        "       [ 0.  ,  0.  ,  0.99,  0.91],\n",
713        "       [ 1.  ,  0.99,  0.  ,  0.01],\n",
714        "       [ 0.92,  0.91,  0.01,  0.  ]])"
715       ]
716      }
717     ],
718     "prompt_number": 19
719    }
720   ],
721   "metadata": {}
722  }
723 ]
724}
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.