<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.apertium.org/w/index.php?action=history&amp;feed=atom&amp;title=Bilingual_dictionary_enrichment_via_graph_completion</id>
	<title>Bilingual dictionary enrichment via graph completion - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.apertium.org/w/index.php?action=history&amp;feed=atom&amp;title=Bilingual_dictionary_enrichment_via_graph_completion"/>
	<link rel="alternate" type="text/html" href="https://wiki.apertium.org/w/index.php?title=Bilingual_dictionary_enrichment_via_graph_completion&amp;action=history"/>
	<updated>2026-05-09T08:05:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.apertium.org/w/index.php?title=Bilingual_dictionary_enrichment_via_graph_completion&amp;diff=67483&amp;oldid=prev</id>
		<title>GD: /* Instruction */</title>
		<link rel="alternate" type="text/html" href="https://wiki.apertium.org/w/index.php?title=Bilingual_dictionary_enrichment_via_graph_completion&amp;diff=67483&amp;oldid=prev"/>
		<updated>2018-08-12T15:44:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Instruction&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 15:44, 12 August 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;= Instruction =&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;= Instruction =&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;== Intro ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;This tool allows bilingual dictionary enrichment using graph built from bilingual dictionaries. For exmaple, you want to translate église from French to Russian but you don&#039;t have this entry. You have: FRA_église - CAT_església, FRA_église - SPA_iglesia, CAT_església - ENG_church, SPA_iglesia - ENG_church, ENG_churh - RUS_церковь&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;Conneting these edges you get two paths FRA_église - CAT_església - ENG_church - RUS_церковь and FRA_église - SPA_iglesia - ENG_church - RUS_церковь.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;Basic steps:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- 0: installing : cloning repository, installing libraries needed&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- 1-2: downloading : updating list of dictionaries, downloading&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- 3: choosing languages : choose languages you want to use in translation&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- 4: preprocessing : dictionary data needs some changes to be used in a graph, this step prepares it for further usage&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- 5: configuration file : this file recommends what languages will be the most efficient to enrich particular language pair&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- 6: loading file : this file contains all edges of our graph and is used for faster loading graph so we can work with it&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- 7: preview : this file shows result of enrichment - all entries tht can be added. You can see coefficients of likelihood of these variants.&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- 8: convertation : this step simply creates a xml section that can be inserted in original dictionary&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;/ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;Additional steps:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- Merging dialects : if you wanted to specify all dialects (they should be treated separately), this funtion merges sections into one file with tags that name dialects.&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- Evaluation : this function calculates precision, recall and f1-score for a particular language pair. Method: leave-one-out.&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- Addition : calculates how many entries we can add&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- Example lemma search : if you want to see how it works (variants with coefficients) this is more human-readable version of translation.&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;- Choosing parameters : if you want to tune parameters, this function allows trying all combinations of parameters you want to check so you achieve more accurate results.&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;/ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;== Step 0 : installing ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;== Step 0 : installing ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;    pip install tqdm&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;    pip install tqdm&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;You can work in the virtual environment:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    git clone https://github.com/dkbrz/GSoC_2018_final&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    virtualenv -p python3 GSoC_2018_final/&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    cd GSoC_2018_final/&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    source bin/activate&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    pip install requests&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    pip install networkx&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    pip install pygithub&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    pip install tqdm&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;-----------------------------------------&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;-----------------------------------------&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 58:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 100:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;Option 1: you have Github account and you want absolutely up-to-date list of dictionaries.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;Option 1: you have Github account and you want absolutely up-to-date list of dictionaries.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;You need to update this list. Github has API that allows going through repositories. Number of non-authorized queries is very small (60) and there is no way to make it.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;You need to update this list. Github has API that allows going through repositories. Number of non-authorized queries is very small (60) and there is no way to make it&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; without authentification, because there are about 300 folders we need to check to find bilingual dictionaries there&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;    python graph.py update&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &amp;lt;username&amp;gt; &amp;lt;password&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    python graph.py update&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;Then it will ask for username and password. Password is hidden, so no one would see it.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;Your username and password isn&#039;t stored it is used one time. Actions:&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;&amp;lt;ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; get list of Apertium repositories &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; get list of Apertium repositories &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 113:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;After running you&#039;ll see this:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;After running you&#039;ll see this:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;    $ python graph.py update&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &amp;lt;your username&amp;gt; &amp;lt;your password&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    $ python graph.py update&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    Username:   YourUsername&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    Password: &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;    4%|██▌                          | 21/490 [00:04&amp;lt;01:44,  4.48it/s]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;    4%|██▌                          | 21/490 [00:04&amp;lt;01:44,  4.48it/s]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 137:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 182:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; New files : &#039;parsed&#039; folder with changed bilingual dictionaries and &#039;monodix&#039; folder with monolingual dictionaries containing all words of this language &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; New files : &#039;parsed&#039; folder with changed bilingual dictionaries and &#039;monodix&#039; folder with monolingual dictionaries containing all words of this language &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;&amp;lt;/ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;/ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;This step is needed because we handle complex data and direct usage of bilingual dictionaries is slow (parsing files every time) and inaccurate (different tag varinats n vs n-m for the same word). So to increase speed of further functions, we need to preprocess files to format that allows faster and more accurate work.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;If you know for sure what set of dictionaries you want to use, edit filelist.txt and delete those that are not relevant. This will shorten time of preprocessing. In case you are not sure, using all files is recommended.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;If you know for sure what set of dictionaries you want to use, edit filelist.txt and delete those that are not relevant. This will shorten time of preprocessing. In case you are not sure, using all files is recommended.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 436:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 483:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;If only input file is specified, this output file content is printed in stdout&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;If only input file is specified, this output file content is printed in stdout&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;== Choosing parameters ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;If you want to choose parameters like cutoff, number of languages and top-N number you can run grid search with all combinations of parameters. It shows how many entries you can add, precision, recall and f1-score.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; Time : from several minutes (depending on how many combinations of parameters) &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; Changed or new files : config file (new), loading file (new) &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;/ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;Evaluation (precision, recall, f1) + addition:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    python graph.py eval &amp;lt;lang1&amp;gt; &amp;lt;lang2&amp;gt; &amp;lt;n=10&amp;gt; &amp;lt;cutoff=4&amp;gt; &amp;lt;topn=None (auto)&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; n : number of best languages to use &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; cutoff : how long paths we use (max)&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; topn : how many top results for each word we consider to be right (default=None - all that in auto mode, 1 - only best match is right and other variants that can be showed - no) (&#039;auto&#039; mode is always added) &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;/ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;Example (with default) (with set parameters)&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    python graph.py grid eng spa --n 3 5 7 9 12 --cutoff 2 3 4 5 --topn 1 2 5&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;Normal work:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    $ python graph.py grid eng spa --n 3 5 7 9 12 --cutoff 2 3 4 5 --topn 1 2 5&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    n: 3    cutoff: 2&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    eng-&amp;gt;spa    Exist: 29422, failed: 14818, NEW: 4497 +15.0%, NA: 197440&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    spa-&amp;gt;eng    Exist: 30331, failed: 26858, NEW: 4187 +14.0%, NA: 74806&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    topn: 1  N items: 1000          Precision : 0.8942505133470225, recall : 0.871, f1-score : 0.8824721377912866&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    topn: 2  N items: 1000          Precision : 0.9565656565656566, recall : 0.947, f1-score : 0.9517587939698493&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    topn: 5  N items: 1000          Precision : 0.9622833843017329, recall : 0.944, f1-score : 0.9530540131246845&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    topn: None       N items: 1000          Precision : 0.10256410256410256, recall : 0.004, f1-score : 0.0076997112608277185&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    ===============================================================&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    ... some combinations...&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    ===============================================================&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    n: 9    cutoff: 4&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    eng-&amp;gt;spa    Exist: 29422, failed: 19166, NEW: 15030 +51.0%, NA: 182559&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    spa-&amp;gt;eng    Exist: 30331, failed: 62037, NEW: 18644 +61.0%, NA: 25170&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    topn: 1  N items: 1000          Precision : 0.8862660944206009, recall : 0.826, f1-score : 0.855072463768116&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    topn: 2  N items: 1000          Precision : 0.9614583333333333, recall : 0.923, f1-score : 0.9418367346938776&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    topn: 5  N items: 1000          Precision : 0.9905759162303664, recall : 0.946, f1-score : 0.9677749360613811&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    topn: None       N items: 1000          Precision : 0.9728317659352143, recall : 0.931, f1-score : 0.9514563106796118&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    ===============================================================&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    ... etc...&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>GD</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.apertium.org/w/index.php?title=Bilingual_dictionary_enrichment_via_graph_completion&amp;diff=67372&amp;oldid=prev</id>
		<title>GD: /* Step 4 : preprocessing */</title>
		<link rel="alternate" type="text/html" href="https://wiki.apertium.org/w/index.php?title=Bilingual_dictionary_enrichment_via_graph_completion&amp;diff=67372&amp;oldid=prev"/>
		<updated>2018-08-04T18:47:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Step 4 : preprocessing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:47, 4 August 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 133:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 133:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;&amp;lt;ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;ul&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; Time : &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;2&lt;/del&gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;h&lt;/del&gt; &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; Time : &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;15&lt;/ins&gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;min&lt;/ins&gt; &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; Changed files : - &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; Changed files : - &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; New files : &#039;parsed&#039; folder with changed bilingual dictionaries and &#039;monodix&#039; folder with monolingual dictionaries containing all words of this language &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt; New files : &#039;parsed&#039; folder with changed bilingual dictionaries and &#039;monodix&#039; folder with monolingual dictionaries containing all words of this language &amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 145:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 145:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;Normal work looks like this:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;Normal work looks like this:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;    &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;C:\Users\Glaz\Documents\GitHub\GSoC_2018&amp;gt;&lt;/del&gt;python graph.py preprocessing&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;$ &lt;/ins&gt;python graph.py preprocessing&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;    2018-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;07&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;27&lt;/del&gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;14&lt;/del&gt;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;05&lt;/del&gt;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;38&lt;/del&gt;,&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;581&lt;/del&gt; | INFO : Started monolingual dictionaries&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    2018-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;08&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;04&lt;/ins&gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;21&lt;/ins&gt;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;39&lt;/ins&gt;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;18&lt;/ins&gt;,&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;174&lt;/ins&gt; | INFO : Started monolingual dictionaries&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    100%|███████████████████████████████████████████████| 145/145 [03:14&amp;lt;00:00,  1.34s/it]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;a class=&quot;mw-diff-movedpara-left&quot; title=&quot;Paragraph was moved. Click to jump to new location.&quot; href=&quot;#movedpara_7_0_rhs&quot;&gt;&amp;#x26AB;&lt;/a&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;&lt;a name=&quot;movedpara_5_0_lhs&quot;&gt;&lt;/a&gt;    2018-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;07&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;27&lt;/del&gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;14&lt;/del&gt;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;10&lt;/del&gt;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;21&lt;/del&gt;,&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;849&lt;/del&gt; | INFO : &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Finished&lt;/del&gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;monolingual&lt;/del&gt; dictionaries&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;    2018-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;07&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;27&lt;/del&gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;14&lt;/del&gt;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;10&lt;/del&gt;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;21&lt;/del&gt;,&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;883&lt;/del&gt; | INFO : &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Started&lt;/del&gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;bilingual&lt;/del&gt; dictionaries&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    2018-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;08&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;04&lt;/ins&gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;21&lt;/ins&gt;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;42&lt;/ins&gt;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;32&lt;/ins&gt;,&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;682&lt;/ins&gt; | INFO : &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Finished&lt;/ins&gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;monolingual&lt;/ins&gt; dictionaries&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;a class=&quot;mw-diff-movedpara-right&quot; title=&quot;Paragraph was moved. Click to jump to old location.&quot; href=&quot;#movedpara_5_0_lhs&quot;&gt;&amp;#x26AB;&lt;/a&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&lt;a name=&quot;movedpara_7_0_rhs&quot;&gt;&lt;/a&gt;    2018-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;08&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;04&lt;/ins&gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;21&lt;/ins&gt;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;42&lt;/ins&gt;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;32&lt;/ins&gt;,&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;683&lt;/ins&gt; | INFO : &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Started&lt;/ins&gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;bilingual&lt;/ins&gt; dictionaries&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;    &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;15&lt;/del&gt;%|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;█████▊&lt;/del&gt;                                 | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;43&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;288&lt;/del&gt; [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;11&lt;/del&gt;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;41&lt;/del&gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;1&lt;/del&gt;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;06:34&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;16&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;31s&lt;/del&gt;/it]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;    &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;6&lt;/ins&gt;%|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;██▉            &lt;/ins&gt;                                 | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;18&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;289&lt;/ins&gt; [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;00&lt;/ins&gt;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;30&lt;/ins&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;07&lt;/ins&gt;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;45&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; 1&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;72s&lt;/ins&gt;/it]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;== Step 5-8 : working with language pair ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;== Step 5-8 : working with language pair ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>GD</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.apertium.org/w/index.php?title=Bilingual_dictionary_enrichment_via_graph_completion&amp;diff=67371&amp;oldid=prev</id>
		<title>GD: /* Additional functions: */</title>
		<link rel="alternate" type="text/html" href="https://wiki.apertium.org/w/index.php?title=Bilingual_dictionary_enrichment_via_graph_completion&amp;diff=67371&amp;oldid=prev"/>
		<updated>2018-08-03T07:55:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Additional functions:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 07:55, 3 August 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 424:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 424:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;    Lemma: sangre&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;    Lemma: sangre&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;        spa$sangre$[n-f_n_n-f-sg]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;        spa$sangre$[n-f_n_n-f-sg]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;eng$blood$[n_n-unc]	1.109995929768636&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;    &lt;/ins&gt;eng$blood$[n_n-unc]	1.109995929768636&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;    &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;    &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;        spa$sangre$[n-f-ND]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;        spa$sangre$[n-f-ND]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>GD</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.apertium.org/w/index.php?title=Bilingual_dictionary_enrichment_via_graph_completion&amp;diff=67370&amp;oldid=prev</id>
		<title>GD: Created page with &quot;= Instruction =  == Step 0 : installing ==  Please mind Python version! In this case &#039;&#039;&#039;Python3&#039;&#039;&#039;  Libraries:  &lt;ul&gt; &lt;li&gt; Requests : downloading dictionaries and working with ...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.apertium.org/w/index.php?title=Bilingual_dictionary_enrichment_via_graph_completion&amp;diff=67370&amp;oldid=prev"/>
		<updated>2018-08-03T07:55:08Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Instruction =  == Step 0 : installing ==  Please mind Python version! In this case &amp;#039;&amp;#039;&amp;#039;Python3&amp;#039;&amp;#039;&amp;#039;  Libraries:  &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Requests : downloading dictionaries and working with ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Instruction =&lt;br /&gt;
&lt;br /&gt;
== Step 0 : installing ==&lt;br /&gt;
&lt;br /&gt;
Please mind Python version! In this case &amp;#039;&amp;#039;&amp;#039;Python3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Libraries: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Requests : downloading dictionaries and working with Github (downloading) &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Github : working with Github (downloading) &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; tqdm : progress bars &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; NetworkX : graph library &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    pip install requests&lt;br /&gt;
    pip install networkx&lt;br /&gt;
    pip install pygithub&lt;br /&gt;
    pip install tqdm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
&lt;br /&gt;
Clone repository.&lt;br /&gt;
&lt;br /&gt;
Files:&lt;br /&gt;
&lt;br /&gt;
    /tool/&lt;br /&gt;
    |--- __init__.py&lt;br /&gt;
    |--- data.py   = some additional data  (language codes, wrong filenames)&lt;br /&gt;
    |--- docs.md   = markdown file with function descriptions&lt;br /&gt;
    |--- func.py   = main file with functions&lt;br /&gt;
    &lt;br /&gt;
    .gitignore     = gitignore&lt;br /&gt;
    README.md      = readme&lt;br /&gt;
    download.txt   = list of files if one doesn&amp;#039;t have Github account for updating&lt;br /&gt;
    graph.py       = command line interface&lt;br /&gt;
&lt;br /&gt;
To use this tool in command line use &amp;#039;&amp;#039;&amp;#039;graph.py&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
This instrument works with Apertium bilingual dictionaries. It is recommended to download all dictionaries, but you can use those that you have locally.&lt;br /&gt;
&lt;br /&gt;
== Step 1-2 : downloading ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : 2 min &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : download.txt &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; New files : - &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
download.txt file contains list of urls of bilingual dictionaries from Apertium Github:&lt;br /&gt;
&lt;br /&gt;
    https://raw.githubusercontent.com/apertium/apertium-afr-nld/master/apertium-afr-nld.afr-nld.dix&lt;br /&gt;
    https://raw.githubusercontent.com/apertium/apertium-ara-heb/master/apertium-ara-heb.ara-heb.dix&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 1: you have Github account and you want absolutely up-to-date list of dictionaries.&lt;br /&gt;
&lt;br /&gt;
You need to update this list. Github has API that allows going through repositories. Number of non-authorized queries is very small (60) and there is no way to make it.&lt;br /&gt;
&lt;br /&gt;
    python graph.py update &amp;lt;username&amp;gt; &amp;lt;password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your username and password isn&amp;#039;t stored it is used one time. Actions:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; get list of Apertium repositories &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; get list of contents for each repository &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running you&amp;#039;ll see this:&lt;br /&gt;
&lt;br /&gt;
    $ python graph.py update &amp;lt;your username&amp;gt; &amp;lt;your password&amp;gt;&lt;br /&gt;
    4%|██▌                          | 21/490 [00:04&amp;lt;01:44,  4.48it/s]&lt;br /&gt;
&lt;br /&gt;
Option 2: you don&amp;#039;t have Github account or you&amp;#039;re ok with current list of dictionaries. You skip updating and go to the next step.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : 3 min &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : - &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; New files : &amp;#039;dictionaries&amp;#039; folder with bilingual dictionaries &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you have list of dictionaries that will be downloaded. Just run the code below. It takes urls from download.txt and saves dictionaries in a new folder (&amp;#039;dictionaries&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
If you don&amp;#039;t want to download all dictionaries (you want to use certain list of dictionaries) you can edit download.txt and save only those you want to use and then run the code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    python graph.py download&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After running this you&amp;#039;ll see:&lt;br /&gt;
&lt;br /&gt;
    $ python graph.py download&lt;br /&gt;
    6%|███                           | 18/293 [00:09&amp;lt;02:26,  1.87it/s]&lt;br /&gt;
&lt;br /&gt;
This will take several minutes. Meanwhile you can open this directory and find new &amp;#039;diсtionaries&amp;#039; folder where all files appear (about 290 files).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    $ python graph.py download&lt;br /&gt;
    100%|███████████████████████████| 293/293 [02:38&amp;lt;00:00,  1.85it/s]&lt;br /&gt;
&lt;br /&gt;
Now all files are downloaded.&lt;br /&gt;
&lt;br /&gt;
== Step 3 : choose languages ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : several seconds (if default), longer if user directory is used &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : - &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; New files : filelist.txt &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create list of dictionaries that will be used for translation.&lt;br /&gt;
&lt;br /&gt;
Option 1: if you downloaded them:&lt;br /&gt;
&lt;br /&gt;
    python graph.py list&lt;br /&gt;
&lt;br /&gt;
Option 2: search for dictionaries in some local folder. Give some folder name:&lt;br /&gt;
&lt;br /&gt;
    python graph.py list --path C:/&lt;br /&gt;
&lt;br /&gt;
Option 3: manually create &amp;#039;filelist.txt&amp;#039; and write absolute paths to these ditionaries.&lt;br /&gt;
&lt;br /&gt;
If you want to specify dialects (por, nor, cat, eng) then add &amp;#039;--dialects True&amp;#039; to this function. This will divide files, e.g. spa-cat -&amp;gt; spa-cat + spa-val &lt;br /&gt;
&lt;br /&gt;
Result example (filelist.txt):&lt;br /&gt;
&lt;br /&gt;
    C:/Users/Username/Documents/GSoC_2018/dictionaries/apertium-afr-nld.afr-nld.dix&lt;br /&gt;
    C:/Users/Username/Documents/GSoC_2018/dictionaries/apertium-ara-heb.ara-heb.dix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 4 : preprocessing ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : 2 h &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : - &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; New files : &amp;#039;parsed&amp;#039; folder with changed bilingual dictionaries and &amp;#039;monodix&amp;#039; folder with monolingual dictionaries containing all words of this language &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you know for sure what set of dictionaries you want to use, edit filelist.txt and delete those that are not relevant. This will shorten time of preprocessing. In case you are not sure, using all files is recommended.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    python graph.py preprocessing&lt;br /&gt;
&lt;br /&gt;
Normal work looks like this:&lt;br /&gt;
&lt;br /&gt;
    C:\Users\Glaz\Documents\GitHub\GSoC_2018&amp;gt;python graph.py preprocessing&lt;br /&gt;
    2018-07-27 14:05:38,581 | INFO : Started monolingual dictionaries&lt;br /&gt;
    2018-07-27 14:10:21,849 | INFO : Finished monolingual dictionaries&lt;br /&gt;
    2018-07-27 14:10:21,883 | INFO : Started bilingual dictionaries&lt;br /&gt;
    15%|█████▊                                 | 43/288 [11:41&amp;lt;1:06:34, 16.31s/it]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 5-8 : working with language pair ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 5&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : several seconds &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : - &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; New files : &amp;lt;lang1&amp;gt;-&amp;lt;lang2&amp;gt;-config file &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configuration file (list of relevant languages). It&amp;#039;s better to write in order like in existing dictionary name.&lt;br /&gt;
&lt;br /&gt;
$$ x = \frac 1{ log10( 10 + DictionaryLength )}$$&lt;br /&gt;
&lt;br /&gt;
where Dictionary length = BothSides + 0.5 * LR + 0.5 * RL&lt;br /&gt;
&lt;br /&gt;
It uses these coefficients as edge length. Languages in result file are nodes from top-300 best (shortest) paths between two languages. The length of shortest path with this language is its coefficient by which these languages are sorted. This is used in &amp;#039;auto&amp;#039; mode when you don&amp;#039;t manually select languages and use recommended.&lt;br /&gt;
&lt;br /&gt;
    python graph.py config &amp;lt;lang1&amp;gt; &amp;lt;lang2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
    python graph.py config eng spa&lt;br /&gt;
&lt;br /&gt;
Result (eng-spa-config):&lt;br /&gt;
&lt;br /&gt;
    0.22082497988083025	eng	:	eng spa&lt;br /&gt;
    0.22082497988083025	spa	:	eng spa&lt;br /&gt;
    0.424779904070416	cat	:	eng cat spa&lt;br /&gt;
    0.44444829199452307	epo	:	eng epo spa&lt;br /&gt;
    0.4520428069728663	glg	:	eng glg spa&lt;br /&gt;
    0.4675262097740345	ita	:	eng ita spa&lt;br /&gt;
    0.4679562192970136	fra	:	eng fra spa&lt;br /&gt;
    ...&lt;br /&gt;
    0.7466386679162069	rus	:	eng rus epo spa&lt;br /&gt;
    0.7557074698418498	lat	:	eng lat spa&lt;br /&gt;
    ...&lt;br /&gt;
    1.0451794809559942	cos	:	eng ita cos spa&lt;br /&gt;
    1.051048358042505	dan	:	eng nor dan deu spa&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : several seconds &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : - &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; New files : &amp;lt;lang1&amp;gt;-&amp;lt;lang2&amp;gt; file &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Loading file (contains edges in graph). This file contains information for a graph used in translation.&lt;br /&gt;
&lt;br /&gt;
    python graph.py load_file &amp;lt;lang1&amp;gt; &amp;lt;lang2&amp;gt; &amp;lt;n=10&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
    python graph.py load_file eng spa&lt;br /&gt;
    python graph.py load_file eng spa --n 10&lt;br /&gt;
&lt;br /&gt;
eng-spa loading file:&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
    	eng	dispensary	n$n-sg	spa	ambulatorio	n$n-m&lt;br /&gt;
    LR	eng	dispensation	n	spa	administración	n-f$n$n-f-sg&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 7&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : ~ 5 min &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : - &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; New files : &amp;lt;lang1&amp;gt;-&amp;lt;lang2&amp;gt;-preview file &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates preview file with translations coefficients:&lt;br /&gt;
&lt;br /&gt;
$$\sum_{i=1}^{number of simple paths} \exp^{-len(path_i)}$$&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    python graph.py preview eng spa&lt;br /&gt;
    python graph.py preview eng spa --topn 10 --cutoff 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Topn - number of best translations for a word. &lt;br /&gt;
&lt;br /&gt;
Default &amp;#039;auto&amp;#039; mode (from docstrings)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;auto&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    If there are 10+ candidates returns those that have coefficient&lt;br /&gt;
    more than average. Usually there are top variants and other&lt;br /&gt;
    variants have very low coefficient. So it filters relevant&lt;br /&gt;
    candidates based on particular case coefficients&lt;br /&gt;
    &lt;br /&gt;
    If there are less than 10 candidates, adds coefficients with&lt;br /&gt;
    minimal coefficient to get more reliable data. And then it returns&lt;br /&gt;
    same top candidates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normal work:&lt;br /&gt;
&lt;br /&gt;
    $ python graph.py preview eng spa&lt;br /&gt;
    2018-07-28 17:34:06,891 | INFO : Initialization (~1 min)&lt;br /&gt;
    100%|███████████████████████| 241407/241407 [01:45&amp;lt;00:00, 2296.07it/s]&lt;br /&gt;
    4%|█▌                     | 6065/136182 [00:03&amp;lt;01:12, 1806.89it/s]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here you can see a large difference in number of words in dictionaries. It can be explained as more variance in tags in English or there are more words because there are a lot of dictionaries. There are also a lot of names and other proper nouns in good languages.&lt;br /&gt;
&lt;br /&gt;
Preview file:&lt;br /&gt;
&lt;br /&gt;
    New Delhi	np	Nueva Delhi	np	0.049787068367863944	0&lt;br /&gt;
    oblivion	n	olvido	n	0.4074898724158772	0.4142278194149627&lt;br /&gt;
&lt;br /&gt;
First line means that there is a path from &amp;#039;New Delhi&amp;#039; to &amp;#039;Nueva Delhi&amp;#039;, but only in this direction. Second line means mutual paths with good coefficient. You can edit tags where there are different variants (n$n-f).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 8&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : ~ several seconds &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : - &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; New files : &amp;lt;lang1&amp;gt;-&amp;lt;lang2&amp;gt;-new file &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Convert preview file into dix format (one section):&lt;br /&gt;
&lt;br /&gt;
    python graph.py convert &amp;lt;lang1&amp;gt; &amp;lt;lang2&amp;gt;&lt;br /&gt;
    python graph.py convert eng spa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This creates result section for bilingual dictionary (example with 2 sords above):&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;section&amp;gt;&lt;br /&gt;
        &amp;lt;e r=&amp;quot;RL&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&amp;lt;l&amp;gt;New Delhi&amp;lt;s n=&amp;quot;np&amp;quot; /&amp;gt;&amp;lt;/l&amp;gt;&amp;lt;r&amp;gt;Nueva Delhi&amp;lt;s n=&amp;quot;np&amp;quot; /&amp;gt;&amp;lt;/r&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/e&amp;gt;&lt;br /&gt;
        &amp;lt;e&amp;gt;&amp;lt;p&amp;gt;&amp;lt;l&amp;gt;oblivion&amp;lt;s n=&amp;quot;n&amp;quot; /&amp;gt;&amp;lt;/l&amp;gt;&amp;lt;r&amp;gt;olvido&amp;lt;s n=&amp;quot;n&amp;quot; /&amp;gt;&amp;lt;/r&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/e&amp;gt;&lt;br /&gt;
    &amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
== Additional functions: ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Merging dialects&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : ~ several seconds &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : -&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; New files : &amp;lt;LANG1&amp;gt;-&amp;lt;LANG2&amp;gt; file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you used dialect splitting you can merge these languages: &lt;br /&gt;
&lt;br /&gt;
    python graph.py merge --lang1 spa --lang2 cat cat_val_uni&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This creates file with several sections with specified dialect tags.&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Evaluation&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : 4 min for each iteration &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : config file (new), loading file (new)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; New files : -&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Evaluation (precision, recall, f1):&lt;br /&gt;
&lt;br /&gt;
    python graph.py eval &amp;lt;lang1&amp;gt; &amp;lt;lang2&amp;gt; &amp;lt;n=10&amp;gt; &amp;lt;cutoff=4&amp;gt; &amp;lt;n_iter=3&amp;gt; &amp;lt;topn=None (auto)&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; n : number of best languages to use &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; cutoff : how long paths we use (4 recommended) (max)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; n_iter : how many iterations of evaluation (word are random so there are some minor differences in results)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; topn : how many top results for each word we consider to be right (default=None - all that in auto mode, 1 - only best match is right and other variants that can be showed - no)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example (with default) (with set parameters)&lt;br /&gt;
&lt;br /&gt;
    python graph.py eval eng spa&lt;br /&gt;
    python graph.py eval eng spa --n 10 --cutoff 4 --n_iter  10 --topn 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normal work:&lt;br /&gt;
&lt;br /&gt;
    $ python graph.py eval eng spa&lt;br /&gt;
    2018-07-28 20:09:08,797 | INFO : Start ~ 20 s&lt;br /&gt;
    2018-07-28 20:09:28,174 | INFO : Initialization 1 ~ 1 min&lt;br /&gt;
    100%|██████████████████████████████████████| 1000/1000 [02:49&amp;lt;00:00,  5.91it/s]&lt;br /&gt;
    N=1000&lt;br /&gt;
    Precision : 0.9811912225705329, recall : 0.939, f1-score : 0.9596320899335717&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Addition&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : 4 min for each iteration &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : config file (new), loading file (new) &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; New files : - &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check how many entries we can add (one-side for 2 languages)&lt;br /&gt;
&lt;br /&gt;
    python graph.py add &amp;lt;lang1&amp;gt; &amp;lt;lang2&amp;gt; &amp;lt;n=10&amp;gt; &amp;lt;cutoff=4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    python graph.py add eng spa&lt;br /&gt;
    python graph.py add eng spa --n 10 --cutoff 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normal work:&lt;br /&gt;
&lt;br /&gt;
    $ python graph.py add eng spa&lt;br /&gt;
    2018-07-29 10:22:13,878 | INFO : Initialization ~ 1 min&lt;br /&gt;
    100%|████████████████████████████████| 241407/241407 [00:24&amp;lt;00:00, 9662.90it/s]&lt;br /&gt;
    eng-&amp;gt;spa    Exist: 29483, failed: 19083, NEW: 15077 +51.0%, NA: 177764&lt;br /&gt;
    100%|████████████████████████████████| 136182/136182 [00:29&amp;lt;00:00, 4682.65it/s]&lt;br /&gt;
    spa-&amp;gt;eng    Exist: 30342, failed: 63086, NEW: 19197 +63.0%, NA: 23557&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example lemma search&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Time : 1 min + some time (seconds) for translation &amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; Changed files : - &amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; New files : some output file or no files (if stdout) &amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; lang1, lang2 - languages &amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;  --config - start from creating configuration file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;  --load - start from creating loading file with existing configuration file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;  --cutoff - cutoff&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;  --topn - topn parameter (int or None by default &amp;#039;auto&amp;#039; mode)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;  --n - if create loading file, how many top languages we use&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;  --input - file with words one per line or with spaces&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;  --output - output file, default=sys.stdout &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
    python graph.py example eng spa --lang spa --input input.txt --output output.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
input.txt&lt;br /&gt;
&lt;br /&gt;
    casa&lt;br /&gt;
    sangre&lt;br /&gt;
    frutilla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Command line:&lt;br /&gt;
&lt;br /&gt;
    $ python graph.py example eng spa --lang spa --input input.txt --output output.txt&lt;br /&gt;
    2018-07-30 11:36:13,198 | INFO : Initialization ~1 min&lt;br /&gt;
    2018-07-30 11:37:12,922 | INFO : Translating&lt;br /&gt;
    100%|████████████████████████████████████████████| 3/3 [00:00&amp;lt;00:00,  7.08it/s]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
output.txt&lt;br /&gt;
&lt;br /&gt;
    Lemma: casa&lt;br /&gt;
        spa$casa$[n-f-ND]&lt;br /&gt;
    eng$home$[n_n-sg]	0.08379690677106663&lt;br /&gt;
    eng$house$[n-ND]	0.049787068367863944&lt;br /&gt;
    eng$house$[n_n-sg]	0.0404276819945128&lt;br /&gt;
    eng$publisher$[n_n-ND]	0.03852947988599058&lt;br /&gt;
    &lt;br /&gt;
        spa$casa$[n-f_n_n-f-sg]&lt;br /&gt;
    eng$house$[n_n-sg]	1.438577234023077&lt;br /&gt;
    eng$home$[n_n-sg]	1.330046844771966&lt;br /&gt;
    &lt;br /&gt;
    ---------------------------------------------&lt;br /&gt;
    Lemma: sangre&lt;br /&gt;
        spa$sangre$[n-f_n_n-f-sg]&lt;br /&gt;
eng$blood$[n_n-unc]	1.109995929768636&lt;br /&gt;
    &lt;br /&gt;
        spa$sangre$[n-f-ND]&lt;br /&gt;
    eng$blood$[n_n-unc]	0.052005373884161515&lt;br /&gt;
    eng$blood$[n-ND]	0.049787068367863944&lt;br /&gt;
    &lt;br /&gt;
    ---------------------------------------------&lt;br /&gt;
    Lemma: frutilla&lt;br /&gt;
    ---------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If only input file is specified, this output file content is printed in stdout&lt;/div&gt;</summary>
		<author><name>GD</name></author>
		
	</entry>
</feed>