API ΠΡΠ°ΠΌΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π‘Π»ΠΎΠ²Π°ΡΡ Π ΡΡΡΠΊΠΎΠ³ΠΎ Π―Π·ΡΠΊΠ°
ΠΠ°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ API Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΡΡΠΊΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΠ½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ ΠΈ ΠΌΠΎΡΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ NLP Π·Π°Π΄Π°Ρ Π½Π° ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΡΡ ΡΠ΅ΠΊΡΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄ Π½Π° C/C++, C#, Python, Delphi.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ liblbfgs:
cd ~
wget https://github.com/downloads/chokkan/liblbfgs/liblbfgs-1.10.tar.gz
tar -xvzf liblbfgs-1.10.tar.gz
cd liblbfgs-1.10
./configure
make
sudo make install
Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ crfsuite:
cd ~
wget https://github.com/downloads/chokkan/crfsuite/crfsuite-0.12.tar.gz
tar -xvzf crfsuite-0.12.tar.gz
cd crfsuite-0.12
./configure
make
sudo make install
ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ sqlite3 Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ (Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° "Unable to locate the sqlite3 library"):
sudo apt-get install sqlite3 libsqlite3-dev
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Boost C++:
sudo apt-get install libboost-all-dev
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ncurses, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡ:
sudo apt-get install libncurses-dev
Π‘Π±ΠΎΡΠΊΠ° Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ CMake
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ 11. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ VisualStudio 2015 ΠΏΠΎΠ΄ Windows ΠΈ gcc 5.4.0 Π² Ubuntu 16.04. ΠΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π° 64-Π±ΠΈΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ . 32-Π±ΠΈΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ°Π»Π΅Π΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Ubuntu.
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠ°ΠΏΠΊΡ build Π² ΠΊΠΎΡΠ½Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΡΡΠ΄Π°:
mkdir build & cd build
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ makefile'ΠΎΠ²:
cmake ..
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ:
make
ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· 20 ΠΌΠΈΠ½ΡΡ Π²ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ ΠΈ so'ΡΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ exe64 ΠΈ lib64. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ (ΡΠΌ. Π΄Π°Π»Π΅Π΅).
Π‘Π±ΠΎΡΠΊΠ° Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΠ°ΡΡΠ΅ΡΠ° Π²ΡΠ½Π΅ΡΠ΅Π½Π° Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ.
Π£ΡΠΈΠ»ΠΈΡΠ° Compiler Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ
ΠΡΠ° ΡΡΠΈΠ»ΠΈΡΠ° Π½ΡΠΆΠ½Π°, ΡΡΠΎΠ±Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ (ΠΏΠ΅ΡΠ΅)ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΠ½ΡΡ Π±Π°Π·Ρ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΡΡΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π°Π±ΠΎΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΡ.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΠΎΠ΄ Windows Ρ ΠΏΠΎΠΌΠΎΡΡΡ MS VisualStudio 2015
Π ΠΏΠ°ΠΏΠΊΠ΅ exe64 Π²ΡΠ»ΠΎΠΆΠ΅Π½ Π³ΠΎΡΠΎΠ²ΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ compiler.exe, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΉ Π΄Π»Ρ MS Windows, Π½ΠΎ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ MS VisualStudio 2015. ΠΡΠΎΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π»Π΅ΠΆΠΈΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ ...\src\demo\ai\solarix\ygres\compiler\ygres_msvc2005
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΡΠΎΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Boost, ΡΠΎ Π½Π°Π΄ΠΎ Π»ΠΈΠ±ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Boost ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡ ΡΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΡΠΉ ΡΠ°ΠΉΠ» compiler.exe Π² ΠΏΠ°ΠΏΠΊΠ΅ ...\src\exe64
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΠΎΠ΄ Ubuntu
ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΡΠ±ΠΎΡΠΊΠ° ΡΡΠΈΠ»ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ CMake Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π²ΡΡΡΠ½ΡΡ makefile.
Π‘Π±ΠΎΡΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ ...\src\demo\ai\solarix\ygres\compiler.
ΠΠ΅ΡΠ΅Π΄ ΡΠ±ΠΎΡΠΊΠΎΠΉ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
mkdir /tmp/ygres
ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π² ΡΠ°ΠΉΠ»Π΅ makefile.linux64
ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΡ:
./build.sh
Π§Π΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ exe64 ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΡΠΉ ΡΠ°ΠΉΠ» compiler.
Π’Π΅ΡΡΠΎΠ²Π°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ
ΠΠ»Ρ Π±ΡΡΡΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΡ ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠ° empty.sh Π² ΠΏΠ°ΠΏΠΊΠ΅ .../src/scripts/dictionary.
Π ΠΏΠ°ΠΏΠΊΠ΅ .../src/bin-linux64 ΠΏΠΎΡΠ²ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π°Π½Π½ΡΡ diction.bin, lexicon.db ΠΈ Π΄ΡΡΠ³ΠΈΠ΅.
Π‘Π±ΠΎΡΠΊΠ° ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ Windows Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠ° empty.cmd, Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π² bin-windows64.
Π‘Π±ΠΎΡΠΊΠ° ΡΡΡΡΠΊΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΠ½ΠΎΠΉ Π±Π°Π·Ρ
ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΡΡΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π»Π΅ΠΊΡΠΈΠΊΠΈ ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ .../src/dictionary.src.
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΡΡΡΠΊΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΠ½ΠΎΠΉ Π±Π°Π·Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ russian.sh ΠΈΠ»ΠΈ russian.cmd Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ .../src/scripts/dictionary. ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· 30 ΠΌΠΈΠ½ΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ bin-windows64 ΠΈΠ»ΠΈ bin-linux64 ΠΏΠΎΡΠ²ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ ΡΠ»ΠΎΠ²Π°ΡΡ.
Π‘Π±ΠΎΡΠΊΠ° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΠ½ΠΎΠΉ Π±Π°Π·Ρ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ Π±Π°Π·
Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΉ, ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΎΠΉ, ΡΠΏΠΎΠ½ΡΠΊΠΎΠΉ ΠΈ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΠ½ΡΡ Π±Π°Π·. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ .../src/scripts/dictionary:
english.cmd ΠΈΠ»ΠΈ english.sh
french.cmd
japanese.cmd
chinese.cmd
ΠΠΎΡΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΏΠΎΠ½ΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΡΠ΄Π΅Π»Π°Π½Π° Π² ΡΠ°ΡΡΠ΅ΡΠ΅ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠ°ΡΡΠ΅ΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° Cabocha ΠΈΠ»ΠΈ KNP.
Π£ΡΠΈΠ»ΠΈΡΠ° Lexicon
ΠΡΠ° ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ½ΠΎΠΉ Π±Π°Π·Ρ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅. ΠΠ°ΠΏΡΡΡΠΈΠ² Π΅Π΅, ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠ»ΠΎΠ²Π° ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ° Π² Π»Π΅ΠΊΡΠΈΠΊΠΎΠ½Π΅ ΡΠ»ΠΎΠ²Π°ΡΠ½ΠΎΠΉ Π±Π°Π·Ρ.
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ lexicon ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ exe64, ΡΠΎ ΠΎΠ½Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ»ΠΎΠ²Π°ΡΠ½ΡΡ Π±Π°Π·Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅ bin-windows64 ΠΈΠ»ΠΈ bin-linux64, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ dictionary.xml Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ Lexicon ΠΏΠΎΠ΄ Windows Ρ ΠΏΠΎΠΌΠΎΡΡΡ MS VisualStudio 2015
ΠΡΠΎΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π»Π΅ΠΆΠΈΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ src\demo\ai\solarix\lexicon
ΠΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Boost - ΡΠΌ. ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΈΠ»ΠΈΡΡ Compile Π²ΡΡΠ΅.
Π ΠΏΠ°ΠΏΠΊΠ΅ exe64 Π»Π΅ΠΆΠΈΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΡΠΉ ΡΠ°ΠΉΠ» Lexicon.exe, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠΎΠ±ΡΠ°Π» ΠΏΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² ΠΏΠΎΠ΄ Win64.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ Lexicon Π² Ubuntu
ΠΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /tmp/lexicon.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ src/demo/ai/solarix/lexicon/ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ./build.sh
ΠΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΡΠΉ ΡΠ°ΠΉΠ» lexicon
Π£ΡΠΈΠ»ΠΈΡΠ° Syntax
ΠΡΠ° ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ°. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΠ°ΡΡΠΈΠ½Π³, Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ ΡΠ°Π·Π±ΠΎΡΠ°, ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ Syntax Π² Ubuntu
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΡ Syntax src/demo/ai/solarix/syntax ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ:
./build.sh
ΠΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ syntax.
ΠΡΠ»ΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ./syntax ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ crfsuite***.so, ΡΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
export LD_LIBRARY_PATH=/usr/local/lib
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠΈΠ»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½ΠΎ:
eek@ubuntu:~/Solarix/GrammarEngine/src/demo/ai/solarix/syntax$ ./syntax
Solarix SYNTAX parser debugger ver. 14.15.11192 Standard Linux 4.10.0-32-generic x86_64 (build date Sep 6 2017)
Loading dictionary from ../../../../bin-linux64/dictionary.xml... ok
Enter #help to read online help.
: ΠΊΠΎΡΠΊΠ° Π»ΠΎΠ²ΠΈΡ ΠΌΡΡΠ΅ΠΉ
BEGIN Π»ΠΎΠ²ΠΈΡ ( ΠΊΠΎΡΠΊΠ°, ΠΌΡΡΠ΅ΠΉ ) END
ΠΠΎΠΌΠ°Π½Π΄Π° #tree Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ:
: \#tree
Π»ΠΎΠ²ΠΈΡ ( ΠΠΠΠΠΠ ΠΠΠΠΠΠΠΠΠΠ:ΠΠΠͺΠ―Π ΠΠ ΠΠΠ―:ΠΠΠ‘Π’ΠΠ―Π©ΠΠ ΠΠΠ¦Π:3 Π§ΠΠ‘ΠΠ:ΠΠ ~ΠΠΠΠΠΠ¬ΠΠ«Π ΠΠΠ ΠΠ₯ΠΠΠΠΠ‘Π’Π¬:ΠΠΠ ΠΠ₯ΠΠΠΠ«Π ΠΠΠΠΠ:ΠΠΠ ΠΠΠΠΠ:Π’ΠΠΠ ΠΠΠΠΠ:ΠΠΠ’ ΠΠΠ:ΠΠΠ‘ΠΠΠΠ Π¨ ~ΠΠΠΠΠ ΠΠ’ΠΠΠ‘Π’Π¬ )
ββ
βββΠΌΡΡΠ΅ΠΉ ( Π‘Π£Π©ΠΠ‘Π’ΠΠΠ’ΠΠΠ¬ΠΠΠ ΠΠΠΠΠ:ΠΠΠ Π§ΠΠ‘ΠΠ:ΠΠ Π ΠΠ:ΠΠΠ ΠΠΠ£Π¨:ΠΠΠ£Π¨ ΠΠΠ ΠΠ§ΠΠ‘ΠΠΠΠΠ‘Π’Π¬:ΠΠ ΠΠΠΠΠΠΠΠ:Π ΠΠ )
β
βββΠΊΠΎΡΠΊΠ° ( Π‘Π£Π©ΠΠ‘Π’ΠΠΠ’ΠΠΠ¬ΠΠΠ ΠΠΠΠΠ:ΠΠ Π§ΠΠ‘ΠΠ:ΠΠ Π ΠΠ:ΠΠΠ ΠΠΠ£Π¨:ΠΠΠ£Π¨ ΠΠΠ ΠΠ§ΠΠ‘ΠΠΠΠΠ‘Π’Π¬:ΠΠ ΠΠΠΠΠΠΠΠ:Π ΠΠ )
:
C API Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ
ΠΠΎΠ»Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π² API Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
API ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° solarix_grammar_engine.dll Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Windows ΠΈΠ»ΠΈ solarix_grammar_engine.so Π΄Π»Ρ Linux.
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ MS VisualStudio 2015 ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Grammar_Engine_Pro2005.sln Π² ΠΏΠ°ΠΏΠΊΠ΅ .../src/demo/ai/solarix/engines ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ. ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ .../src/lib64 ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ°ΠΉΠ» solarix_grammar_engine.dll.
ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎΠ΄ Ubuntu Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ build.sh Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ C API Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ
ΠΡΠΈΠΌΠ΅Ρ Π½Π° C++ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ .../src/demo/ai/solarix/Grammar_Engine/SimpleGREN.
ΠΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ ΠΏΠ°ΡΡΠ΅Ρ
ΠΠ°ΡΡΠ΅Ρ - ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ΅Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠΊΠ΅Π½ΠΈΠ·Π°ΡΠΈΡ, Π»Π΅ΠΌΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ, ΡΠ°ΡΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ (part-of-speech tagging), ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·Π±ΠΎΡ Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π΅ΡΠ΅Π²Π° (dependency parsing) ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ (chunking). Π‘Π±ΠΎΡΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΡΡΡΡΠΊΡΠΈΡ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ° Π²ΡΠ½Π΅ΡΠ΅Π½ΠΎ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.