Difference between revisions of "Begiak/awik"

From Apertium
Jump to navigation Jump to search
(add new test)
 
(2 intermediate revisions by the same user not shown)
Line 4: Line 4:
==Issues==
==Issues==
===Bad message chopping===
===Bad message chopping===
<p>'''''(addressed in r_______ to <code>jonorthwash/phenny</code>)'''''</p>
<p>'''''(addressed in [https://github.com/jonorthwash/phenny/commit/95d837adee85c7c06b5d52676e091c6e34770d9b 95d837a] to <code>jonorthwash/phenny</code>)'''''</p>
'''Problem''': Commands such as <code>.awik Руководство по созданию новой языковой пары</code> result in outputs that don't contain the URL of the wiki article, i.e. the excerpt from the article is too long and the message terminates early. This problem is also observable with the phenny Wikipedia plugin. For example,
'''Problem''': Commands such as <code>.awik Руководство по созданию новой языковой пары</code> result in outputs that don't contain the URL of the wiki article, i.e. the excerpt from the article is too long and the message terminates early. This problem is also observable with the phenny Wikipedia plugin. For example,
<p><code>
<p><code>
Line 31: Line 31:
<li>'''sushain97''': .awik Руководство по созданию новой языковой пары</li>
<li>'''sushain97''': .awik Руководство по созданию новой языковой пары</li>
<li>'''begiak''': "В этом руководстве описывается порядок создания новой языковой пары для системы машинного перевода Apertium.От вас не требуются какие-либо лингвистические знания или знания по машинному переводу, кроме как способности различать части речи (отлич</li>
<li>'''begiak''': "В этом руководстве описывается порядок создания новой языковой пары для системы машинного перевода Apertium.От вас не требуются какие-либо лингвистические знания или знания по машинному переводу, кроме как способности различать части речи (отлич</li>
<li>'''sushain_begiak''': "В этом руководстве описывается порядок создания новой языковой пары для системы машинного перевода Apertium.От вас не требуются какие-либо лингвистические знания или [...] - http://wiki.apertium.org/wiki/</li>Руководство_по_созданию_новой_языковой_пары
<li>'''sushain_begiak''': "В этом руководстве описывается порядок создания новой языковой пары для системы машинного перевода Apertium.От вас не требуются какие-либо лингвистические знания или [...] - http://wiki.apertium.org/wiki/Руководство_по_созданию_новой_языковой_пары</li>
</ul>
</ul>
</li>
</li>
Line 56: Line 56:
<li>'''begiak''': "Лев Никола́евич Толсто́й[К 1] (28 августа (9 сентября) 1828(18280909), Ясная Поляна, Тульская губерния, Российская империя — 7 (20) ноября 1910, станция Астапово, Рязанская губерния, Российская империя) — один из наиболее широко известных русских писателей</li>
<li>'''begiak''': "Лев Никола́евич Толсто́й[К 1] (28 августа (9 сентября) 1828(18280909), Ясная Поляна, Тульская губерния, Российская империя — 7 (20) ноября 1910, станция Астапово, Рязанская губерния, Российская империя) — один из наиболее широко известных русских писателей</li>
<li>'''sushain_begiak''': "Лев Никола́евич Толсто́й[К 1] (28 августа (9 сентября) 1828(18280909), Ясная Поляна, Тульская губерния, Российская империя — 7 (20) ноября 1910, станция Астапово, Рязанская губерния, Российская [...] - https://ru.wikipedia.org/wiki/Толстой,_Лев_Николаевич</li>
<li>'''sushain_begiak''': "Лев Никола́евич Толсто́й[К 1] (28 августа (9 сентября) 1828(18280909), Ясная Поляна, Тульская губерния, Российская империя — 7 (20) ноября 1910, станция Астапово, Рязанская губерния, Российская [...] - https://ru.wikipedia.org/wiki/Толстой,_Лев_Николаевич</li>
</ul>
</li>

<li>
<ul>
<li>'''sushain''': .awik User:Sushain/awikTest#объясним</li>
<li>'''begiak''': "Здесь мы объясним, как изучать новый язык с lttoolbox lttoolbox на самом деле не подходит для агглютинативных языков, или языков со сложной и регулярной морфо-фонологией (или по крайней мере никто не написал словарь с нуля, используя lttoolbox для одного из э?</li>
<li>'''sushain_begiak''': "Здесь мы объясним, как изучать новый язык с lttoolbox lttoolbox на самом деле не подходит для агглютинативных языков, или языков со сложной и регулярной морфо-фонологией (или по крайней мере никто не [...] - http://wiki.apertium.org/wiki/User:Sushain/awikTest#объясним</li>
</ul>
</li>

<li>
<ul>
<li>'''sushain''': .wik.ru Бюро_шифров#Подарок союзникам</li>
<li>'''begiak''': "Летом 1939 года, когда стало ясно, что Польше вряд ли удастся остановить грядущее немецкое вторжение, отделение BS-4 получило приказ — передать часть оборудования, результатов исследований и файлов союзникам и эвакуировать необходимый [...] - https://ru.</li>
<li>'''sushain_begiak''': "Летом 1939 года, когда стало ясно, что Польше вряд ли удастся остановить грядущее немецкое вторжение, отделение BS-4 получило приказ — передать [...] - https://ru.wikipedia.org/wiki/Бюро_шифров#.D0.9F.D0.BE.D0.B4.D0.B0.D1.80.D0.BE.D0.BA_.D1.81.D0.BE.D1.8E.D0.B7.D0.BD.D0.B8.D0.BA.D0.B0.D0.BC</li>
</ul>
</ul>
</li>
</li>
Line 63: Line 79:
==Wishlist==
==Wishlist==
* Search the entire Apertium wiki using the provided search functionality of MediaWiki.
* Search the entire Apertium wiki using the provided search functionality of MediaWiki.
* Shorten huge URLs in begiak response.

Latest revision as of 01:26, 17 December 2013

Apertium Wiki Begiak Command[edit]

Issues[edit]

Bad message chopping[edit]

(addressed in 95d837a to jonorthwash/phenny)

Problem: Commands such as .awik Руководство по созданию новой языковой пары result in outputs that don't contain the URL of the wiki article, i.e. the excerpt from the article is too long and the message terminates early. This problem is also observable with the phenny Wikipedia plugin. For example,

(3:14:31 PM) sushain: .awik Руководство по созданию новой языковой пары
(3:14:34 PM) begiak: "В этом руководстве описывается порядок создания новой языковой пары для системы машинного перевода Apertium.От вас не требуются какие-либо лингвистические знания или знания по машинному переводу, кроме как способности различать части речи (отлич

The correct behavior should be:

(3:14:31 PM) sushain: .awik Руководство по созданию новой языковой пары
(3:14:35 PM) sushain_begiak: "В этом руководстве описывается порядок создания новой языковой пары для системы машинного перевода Apertium.От вас не требуются какие-либо лингвистические знания или [...] - http://wiki.apertium.org/wiki/Руководство_по_созданию_новой_языковой_пары

Source: The excerpt to display is being chopped incorrectly due to not properly handling Unicode strings. IRC messages are limited in length not by their character length but rather their byte length. The incorrect code only truncates the article excerpt if the number of bytes after UTF-8 encoding is greater than the IRC message length minus the link's length. The problem occurs since the truncation uses the character length of the excerpt rather than the UTF-8 encoded byte length. Furthermore, a similar problem is observed in calculating the length of message remaining for the excerpt when accounting for the length of the URL.

Solution: Use the length of the UTF-8 encoded string for all calculations and truncate the UTF-8 bytes rather than the characters. If truncation produces an invalid Unicode character at the string's conclusion, ignore it (this will account for truncation occurring in the middle of a valid Unicode character). The changes made:

maxlength = 430 - len(' - ' + wikiuri % (format_term_display(term))) becomes maxlength = 430 - len((' - ' + wikiuri % (format_term_display(term))).encode('utf-8'))

sentence = sentence[:maxlength] becomes sentence = sentence.encode('utf-8')[:maxlength].decode('utf-8', 'ignore')

Tests:

    • sushain97: .awik Руководство по созданию новой языковой пары
    • begiak: "В этом руководстве описывается порядок создания новой языковой пары для системы машинного перевода Apertium.От вас не требуются какие-либо лингвистические знания или знания по машинному переводу, кроме как способности различать части речи (отлич
    • sushain_begiak: "В этом руководстве описывается порядок создания новой языковой пары для системы машинного перевода Apertium.От вас не требуются какие-либо лингвистические знания или [...] - http://wiki.apertium.org/wiki/Руководство_по_созданию_новой_языковой_пары
    • sushain: .awik User:Sushain/awikTest
    • begiak: "В этом руководстве рассказано, как создать новую языковую пару в Apertium с нуля.Для создания языковой пары не нужно каких-то особых навыков в области лингвистики или машинного перевода.Ваши знания должны быть на уровне примерно таком, чтобы уметь
    • sushain_begiak: "В этом руководстве рассказано, как создать новую языковую пару в Apertium с нуля.Для создания языковой пары не нужно каких-то особых навыков в области лингвистики или машинного перевода.Ваши знания [...] - http://wiki.apertium.org/wiki/User:Sushain/awikTest
    • sushain: .wik.ru Толстой, Лев Николаевич
    • begiak: "Лев Никола́евич Толсто́й[К 1] (28 августа (9 сентября) 1828(18280909), Ясная Поляна, Тульская губерния, Российская империя — 7 (20) ноября 1910, станция Астапово, Рязанская губерния, Российская империя) — один из наиболее широко известных русских писателей
    • sushain_begiak: "Лев Никола́евич Толсто́й[К 1] (28 августа (9 сентября) 1828(18280909), Ясная Поляна, Тульская губерния, Российская империя — 7 (20) ноября 1910, станция Астапово, Рязанская губерния, Российская [...] - https://ru.wikipedia.org/wiki/Толстой,_Лев_Николаевич
    • sushain: .awik User:Sushain/awikTest#объясним
    • begiak: "Здесь мы объясним, как изучать новый язык с lttoolbox lttoolbox на самом деле не подходит для агглютинативных языков, или языков со сложной и регулярной морфо-фонологией (или по крайней мере никто не написал словарь с нуля, используя lttoolbox для одного из э?
    • sushain_begiak: "Здесь мы объясним, как изучать новый язык с lttoolbox lttoolbox на самом деле не подходит для агглютинативных языков, или языков со сложной и регулярной морфо-фонологией (или по крайней мере никто не [...] - http://wiki.apertium.org/wiki/User:Sushain/awikTest#объясним
    • sushain: .wik.ru Бюро_шифров#Подарок союзникам
    • begiak: "Летом 1939 года, когда стало ясно, что Польше вряд ли удастся остановить грядущее немецкое вторжение, отделение BS-4 получило приказ — передать часть оборудования, результатов исследований и файлов союзникам и эвакуировать необходимый [...] - https://ru.
    • sushain_begiak: "Летом 1939 года, когда стало ясно, что Польше вряд ли удастся остановить грядущее немецкое вторжение, отделение BS-4 получило приказ — передать [...] - https://ru.wikipedia.org/wiki/Бюро_шифров#.D0.9F.D0.BE.D0.B4.D0.B0.D1.80.D0.BE.D0.BA_.D1.81.D0.BE.D1.8E.D0.B7.D0.BD.D0.B8.D0.BA.D0.B0.D0.BC

Wishlist[edit]

  • Search the entire Apertium wiki using the provided search functionality of MediaWiki.
  • Shorten huge URLs in begiak response.