ΠΡΠΈΠ²Π΅Ρ,
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ doccano Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Ρ
ΠΎΡΠΎΡ.
ΠΠΎ Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: doccano ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΌ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 26 ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ (ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ: ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΠΊΠΎΠΏΠΈΡΠ½ΡΡ
Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΡΡΡΠ°Π½: englind -> england
, usa -> united_states_of_america
ΠΈ Ρ. Π. ), ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ»ΡΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ Π±Π΅Π· ΡΡΠ»ΡΠΊΠ°, ΡΡΠ»ΡΠΊ ΡΡΠ»ΡΠΊΠ° Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, Π° ΠΊΠ°ΡΡΠ° ΡΡΠ»ΡΠΊΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ascii Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ Ρ Π·Π°ΠΌΠ΅Π½ΠΈΠ» strings.ascii_lowercase
Π½Π° strings.printable
Π² Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ
ΡΡΠ»ΡΠΊΠΎΠ²: https://github.com/bureaucratic-labs/doccano/commit/39cc965b3618ed4fb39ab50b1fec140789e38cc2 & https://github.com / bureaucratic-labs / doccano / commit / 859018bf0527dd087deec0709312e0b7755d08b4
Π£ ΠΌΠ΅Π½Ρ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ, Ρ ΠΌΠΎΠ³Ρ ΡΠΎΠ·Π΄Π°ΡΡ PR (/ cc @BrambleXu).
ΠΡΠΈΠ²Π΅Ρ, @dveselov , Ρ ΡΠ°Π΄, ΡΡΠΎ ΡΡ Ρ ΡΡΠΈΠΌ
Π― ΡΠ΅ΡΡΠΈΡΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. Π― ΠΌΠΎΠ³Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠ»ΡΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΡΠΊΠΎΠΌ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ @
ΠΈ A
. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΡΡΠΈ ΠΌΠ΅ΡΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΡΠΊΠΎΠΌ? ΠΡΠ»ΠΈ ΡΠ°ΠΊ, ΡΠΎ ΡΡΠΎ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ Π΄Π»Ρ PR. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π½Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄.
ΠΡΠ»ΠΈ Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΡΡΠΈ ΠΌΠ΅ΡΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΡΠΊΠΎΠΌ, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ.
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ class Label
Π² models.py
, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
shortcut = models.CharField(max_length=10, choices=KEY_CHOICES, blank=True)
class Meta:
unique_together = (
('project', 'text'),
)
ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½ΠΈΠΆΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
python manage.py makemigrations
python manage.py migrate
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΡΠΈ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΡΡΠ°Π½ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ»ΡΠΊΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ - Ρ ΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄Π΅Ρ. ΠΠΎ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎΠ± ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠ»Π°Π²ΠΈΡ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΈΡ , ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ASCII ΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ ctrl ΠΈΠ»ΠΈ alt.
Π£ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ Π΅ΡΡΡ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π±ΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ, Π½ΠΎ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π±Π΅ ΡΠΈΡΡΠ°ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³ΠΈ ΡΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ, Π³Π΄Π΅ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠΎΡΠ½ΠΈ ΡΠ΅Π³ΠΎΠ² ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ, ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ. PS ΡΡΠΎ ΠΏΠΎΡΡΡΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ :)
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΈΠ²Π΅Ρ, @dveselov , Ρ ΡΠ°Π΄, ΡΡΠΎ ΡΡ Ρ ΡΡΠΈΠΌ
Π― ΡΠ΅ΡΡΠΈΡΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. Π― ΠΌΠΎΠ³Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠ»ΡΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΡΠΊΠΎΠΌ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ
@
ΠΈA
. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΡΡΠΈ ΠΌΠ΅ΡΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΡΠΊΠΎΠΌ? ΠΡΠ»ΠΈ ΡΠ°ΠΊ, ΡΠΎ ΡΡΠΎ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ Π΄Π»Ρ PR. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π½Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄.ΠΡΠ»ΠΈ Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΡΡΠΈ ΠΌΠ΅ΡΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΡΠΊΠΎΠΌ, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ.
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅
class Label
Π²models.py
, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½ΠΈΠΆΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΡΠΈ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΡΡΠ°Π½ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ»ΡΠΊΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ.