Code Monkey home page Code Monkey logo

koziev / grammarengine Goto Github PK

View Code? Open in Web Editor NEW
75.0 9.0 20.0 410.76 MB

Грамматический Словарь Русского Языка (+ английский, японский, etc)

License: MIT License

C++ 45.29% Makefile 0.67% C 9.64% Shell 2.58% C# 37.17% Pascal 0.24% PHP 0.39% Python 0.35% QMake 0.01% Perl 0.04% CMake 0.32% HTML 1.54% CSS 0.02% JavaScript 0.04% Java 0.11% Batchfile 0.07% Lex 0.02% M4 0.16% Roff 1.33% SourcePawn 0.02%
nlp nlp-library nlp-parsing lemmatization lemmatizer morphological-analysis morphological-analyser russian-morphology machine-learning syntax-parser

grammarengine's Introduction

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

Если возникла ошибка fatal error: lbfgs.h: No such file or directory, нужно выполнить

export LD_LIBRARY_PATH=/usr/local/lib

и повторить попытку.

Может потребоваться установить 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.

  1. Создайте папку build в корне исходников, перейдите туда:
mkdir build & cd build
  1. Запустите генерацию makefile'ов:
cmake ..
  1. Запустите компиляцию:
make

Примерно через 20 минут все утилиты и so'шки будут собраны и скопированы в каталоги exe64 и lib64. После этого можно приступать к сборке словаря (см. далее).

Сборка вариантов Парсера вынесена на отдельную страницу.

Утилита Compiler для сборки бинарного словаря

Эта утилита нужна, чтобы самостоятельно (пере)собрать словарную базу из исходных текстов с описанием морфологии и синтаксиса и получить набор бинарных файлов, которые используются другими утилитами проекта. Подробное описание можно прочитать тут.

Компиляция под Windows с помощью MS VisualStudio 2017

В папке 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.

В папках bin-windows64 и bin-linux64 лежат собранные словарные базы. Самостоятельная сборка потребуется в случае, если вы вносите в исходыне тексты какие-то изменения, например добавляете новые словарные статьи или правила синтаксического разбора.

Для сборки русской словарной базы достаточно запустить скрипт 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). Сборочная инфструкция и подробное описание порядка запуска вынесено на отдельную страницу. Также доступно описание на сайте проекта.

grammarengine's People

Contributors

koziev avatar qwazer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grammarengine's Issues

Примеры rewriter

Добрый день, можно ли посмотреть пример rewriter, в репозитории не нашел, хотя на сайте описан.
Заранее спасибо.

Ошибки на этапе сборки русской словарной базы

Здравствуйте,
пробую собрать словарную базу, русскую,
сначала попытки сборки принимались на убунту:
ubuntu 18.04.14; 64 bit; 4.15.0-43-generic;
в какой-то момент, в процессе сборки обнаруживается следующая ошибка:


../../dictionary.src/rus_some.sol....                           54     lines OK
../../dictionary.src/rus_conjunctions.sol....                   141    lines OK
../../dictionary.src/rus_parts.sol....                          201    lines OK
../../dictionary.src/rus_meta_nouns.sol...                      13     lines OK
../../dictionary.src/rus_meta_verbs.sol.....                    150813 lines OK
../../dictionary.src/rus_wordform_frequency_part2.sol...        1710   lines OK
../../dictionary.src/rus_wordform_frequency.sol...              2574   lines OK

Error: File open error: ../../dictionary.src/premium/ru-complex-links-1.sol

Error: There was an error while compiling the file ../../dictionary.src/russian-thesaurus

Но! стоит обратить внимание на то, что ещё в начале процесса, когда был запущен скрипт, выскочили ошибки, хотя, они не были фатальными :

src/scripts/dictionary$ ./russian.sh
rm: cannot remove '../../bin-linux64/*.db': No such file or directory
rm: cannot remove '../../bin-linux64/*.bin': No such file or directory
rm: cannot remove '../../bin-linux64/NGRAMS': No such file or directory
Compiler version 14.18.11192 Standard Linux 4.15.0-43-generic x86_64  (build date Feb  4 2019)
SOLARIX Intellectronix project http://www.solarix.ru/index-en.shtml

../../dictionary.src/dictionary_version_pro.sol.....            0      lines OK
../../dictionary.src/gg_alphabets.sol...                        12     lines OK
../../dictionary.src/abc.sol...                                 38     lines OK
../../dictionary.src/latin_alphabet.sol....                     200    lines OK

Дело в том, что при попытке собрать то же самое, но под Windows 10 (pro), при запуске уже russian.cmd, я сталкиваюсь точно с такой же проблемой:

..\..\dictionary.src\rus_sa_SupressModalInfSbj.sol...           9      lines OK
..\..\dictionary.src\rus_sa_SupressAnimGen.sol....              248    lines OK
..\..\dictionary.src\rus_sa_SupressAccusAnimObj.sol....         3001   lines OK
..\..\dictionary.src\rus_sa_SupressAnimInstrum.sol....          4936   lines OK
..\..\dictionary.src\rus_sa_VerbAllowInstrToponim.sol.....      45     lines OK

Ошибка: File open error: ..\..\dictionary.src\premium/ru-complex-links-1.sol

Ошибка: There was an error while compiling the file ..\..\dictionary.src\russian-thesaurus
Перемещено файлов:         1.

Замечу,что тестовая сборка пустого словаря прошла успешно.

Ошибки парсера

  1. В предложении 'Самый умный дед.' определены связи 'умный-самый-дед'.
    Я думаю связи здесь такие 'Самый-умный-дед.'
  2. В предложении 'Старый умный дед.' определены связи 'умный-старый-дед'.
    Я думаю связи здесь такие 'Самый-дед-умный.'
  3. В предложении 'Очень старый очень умный дед спит.' определена связь 'старый-спит'.
    Я думаю этой связи здесь нет.
  4. В предложении 'Очень старый самый умный дед спит.' определена связь 'старый-спит'.
    Я думаю этой связи здесь нет. Не определена связь 'дед-спит'.

missing in project (source)

error C1083: Не удается открыть файл источник: ........\ai\search\crawler\se_fuzzy_comparator.cpp: No such file or directory
error C1083: Не удается открыть файл включение: lem/cyclyc_stack.h: No such file or directory
error C1083: Не удается открыть файл включение: lem/bit_vector.h: No such file or directory
error C1083: Не удается открыть файл включение: lem/solarix/phrasoblock.h: No such file or directory
error C1083: Не удается открыть файл источник: ........\ai\sg\WordFormEnumerator_MySQL.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\ai\sg\WordEntryEnumerator_MySQL.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\ai\sg\WordEntries_MySQL.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\ai\sg\TransactionGuard_MySQL.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\ai\sg\ThesaurusStorage_MySQL.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\ai\sg\sg_autom_sql_generator.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\ai\sg\LS_ResultSet_MySQL.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\ai\sg\LexiconStorage_MySQL.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\ai\sg\LexemEnumerator_MySQL.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\ai\sg\Charpos2EntryStorage_MySQL.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\ai\gg\AlphabetStorage_MySQL.cpp: No such file or directory
error C1083: Не удается открыть файл источник: SynonymData.cpp: No such file or directory
error C1083: Не удается открыть файл источник: search_engine.cpp: No such file or directory
error C1083: Не удается открыть файл источник: RawOtherCollector.cpp: No such file or directory
error C1083: Не удается открыть файл источник: picker_ru.cpp: No such file or directory
error C1083: Не удается открыть файл источник: OtherCollector.cpp: No such file or directory
error C1083: Не удается открыть файл источник: NodeVisitor.cpp: No such file or directory
error C1083: Не удается открыть файл источник: get_integra_folder.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\math\stat\statkep1.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\math\random\randu.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\math\macheps.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\math\lem_imat.cpp: No such file or directory
error C1083: Не удается открыть файл источник: ........\math\approx\interpol.cpp: No such file or directory
error C1083: Не удается открыть файл включение: lem/char_buffer.h: No such file or directory
error C1083: Не удается открыть файл включение: lem/application.h: No such file or directory
error C1083: Не удается открыть файл включение: lem/micro_solaris.h: No such file or directory
error C1083: Не удается открыть файл источник: ........\contain\lem_bitv.cpp: No such file or directory
error C1083: Не удается открыть файл источник: grammar_engine_api.cpp: No such file or directory
error C1083: Не удается открыть файл источник: errors_api.cpp: No such file or directory
error C1083: Не удается открыть файл источник: EngineDllMain.cpp: No such file or directory

Ошибка при сборке русской словарной базы

~/GrammarEngine/src/scripts/dictionary$ ./russian.sh
rm: невозможно удалить '../../bin-linux64/.db': Нет такого файла или каталога
rm: невозможно удалить '../../bin-linux64/
.bin': Нет такого файла или каталога
rm: невозможно удалить '../../bin-linux64/NGRAMS': Нет такого файла или каталога
Compiler version 14.18.11192 Standard Linux 4.15.0-34-generic x86_64 (build date Oct 2 2018)
SOLARIX Intellectronix project http://www.solarix.ru

../../dictionary.src/dictionary_version_pro.sol..... 0 lines OK
../../dictionary.src/gg_alphabets.sol... 12 lines OK
../../dictionary.src/abc.sol... 38 lines OK
../../dictionary.src/latin_alphabet.sol.... 200 lines OK
../../dictionary.src/musical-symbols.sol..... 13 lines OK
../../dictionary.src/english_alphabet.sol....... 261 lines OK
../../dictionary.src/russian_alphabet.sol...... 249 lines OK
../../dictionary.src/french_alphabet.sol.... 403 lines OK
../../dictionary.src/spanish_alphabet.sol...... 278 lines OK
../../dictionary.src/digits.sol..... 31 lines OK
../../dictionary.src/specials.sol..... 67 lines OK
../../dictionary.src/gg-russian-operations.sol....... 82 lines OK
../../dictionary.src/gg-english-operations.sol.... 62 lines OK
../../dictionary.src/gg-french-operations.sol...... 94 lines OK
../../dictionary.src/la.sol... 21 lines OK
../../dictionary.src/predef.sol..... 124 lines OK
../../dictionary.src/sg_net_links.sol.... 206 lines OK
../../dictionary.src/sg_languages.sol.... 244 lines OK
../../dictionary.src/sg_main.sol.... 91 lines OK
../../dictionary.src/common_coordinates.sol.... 67 lines OK
../../dictionary.src/thesaurus_entries.sol.... 13 lines OK
../../dictionary.src/sg_rus_main.sol.... 592 lines OK
../../dictionary.src/sg_eng_main.sol.... 424 lines OK
../../dictionary.src/sg_fra_main.sol.... 207 lines OK
../../dictionary.src/sg_esp_main.sol.... 90 lines OK
../../dictionary.src/sg_jap_main.sol.... 320 lines OK
../../dictionary.src/sg_cn_main.sol..... 99 lines OK
../../dictionary.src/sg_link_generators.sol.... 132 lines OK
../../dictionary.src/sg_common_thesaurus_tags.sol.... 33 lines OK
../../dictionary.src/sg_delimiters.sol....
Error in line 43 column 7 of file ../../dictionary.src/sg_delimiters.sol
entry "$@" : ПУНКТУАТОР { flag:terminal_silent_noexport }
^^^^
Word entry can not have empty name
Error in line 43 column 7 of file ../../dictionary.src/sg_delimiters.sol
entry "$@" : ПУНКТУАТОР { flag:terminal_silent_noexport }
^^^^
Error parsing entry definition

Ошибка:

Ошибка: There was an error while compiling the file ../../dictionary.src/dictionary

CRFSuite не преднаначен для многопоточной работы

Столкнулся с проблемой при использовании морфологического анализатора с флагом SOL_GREN_MODEL из нескольких потоков. Вызов crfsuite_instance_finish в SequenceLabeler.cpp довольно быстро ломает кучу. Судя по исходникам CRFSuite, в нём не предусмотрена работа с одной моделью из нескольких потоков. tagger->set устанавливает текущему таггеру инстанс, и пока один поток выполняет анализ, второй поток может установить тому же таггеру новый инстанс, после чего первый поток окажется в неизвестном состоянии.

Для себя я решил эту проблему с помощью пула GrammarEngine'ов, который выдаёт каждому потоку полностью изолированный инстанс всего движка.

Ошибки парсера 1

  1. В предложении: Дед упал, потому что он устал.
    Определена связь: запятая устал.
    Думаю, вместо этой связи должна быть связь: запятая потому.

  2. В предложении: Дед упал, потому что он устал.
    'потому' определено как союз.
    В предложении: Дед упал, потому что дед устал.
    'потому' определено как наречие.
    Я думаю, что здесь тоже союз.

  3. В 'Дед упал, когда устал.'
    'когда' определено как союз.
    В 'Дед упал, когда он устал.'
    'когда' определено как наречие.
    Я думаю, что здесь тоже союз.

  4. В 'Дед спит на полу дома.',
    'Дед спит на полу старого дома.'
    определена связь 'дома' и 'полу'.
    В 'Дед спит на полу очень старого дома.'
    определена связь 'дома' и 'спит'.
    Думаю, это неправильно.
    Думаю, что должна быть определена связь 'дома' и 'полу'.

  5. В 'Дед чисти, мыл пол.'
    не определены связи: 'дед' и 'мыл', 'чистил' и 'пол'.

  6. В 'Дед упал 10 мая.' и 'Дед упал десятого мая.'
    разные связи
    'Дед-упал-10-мая.' и 'Дед-упал-мая-десятого.'
    Здесь связи должны быть одинаковыми.

  7. 'Дед упал в 1 году.'
    Почему у 'году' местный падеж ?

lem/mset.h отсутствует (

../../../../../include/lem/solarix/sg_autom.h:76:23: fatal error: lem/mset.h: Нет такого файла или каталога

make -f makefile.linux64
g++ -I ../../../../../../../boost -I ../../../../../include -D SOL_NO_NGRAMS -D LEM_CONSOLE -D LEM_USES_NCURSES=0 -D LEM_UNICODE_CONSOLE -D NDEBUG -D LEM_TUI -D SOL_SAVEBIN -D SOL_LOADTXT -D SOL_LOADBIN -D SOL_SAVETXT -D SOL_COMPILER -D SOL_REPORT -D BOOST_ALL_NO_LIB -D _GLIBCPP_USE_WCHAR_T -D SOLARIX_PRO -c -march=nocona -Wall -O3 ../../../../../ai/la/ExportCoordFunction_Remove.cpp -o /tmp/ygres/ExportCoordFunction_Remove.o
In file included from ../../../../../include/lem/solarix/dictionary.h:49:0,
from ../../../../../ai/la/ExportCoordFunction_Remove.cpp:2:
../../../../../include/lem/solarix/sg_autom.h:76:23: fatal error: lem/mset.h: Нет такого файла или каталога
compilation terminated.
make: *** [/tmp/ygres/ExportCoordFunction_Remove.o] Ошибка 1

Ошибка при сборке под Mac

Make Error at CMakeLists.txt:6 (add_subdirectory):
The source directory

/Users/alex/Downloads/GrammarEngine/src/demo/ai/solarix/ygres/mapper

does not contain a CMakeLists.txt file.

-- Configuring incomplete, errors occurred!
See also "/Users/alex/Downloads/GrammarEngine/src/build/CMakeFiles/CMakeOutput.log".

определения сокращений

где можно посмотреть определения для сокращений токена tags? я имею ввиду "OMONYM_RESOLUTION:2" или "ТИП_МОДИФ:ГЛАГ" и т.д. написал на почту ответа нет

Ошибки сборки под Arch

При сборке под Arch Linux:
-Kernel: x86_64 Linux 4.12.0
-gcc 7.2.1

Error:

../../../../io/lem_mime.cpp: In constructor ‘lem::MIMEType::MIMEType(const char*)’:
../../../../io/lem_mime.cpp:44:15: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
  if( MimeStr=='\0' )
               ^~~~

fix:

 - if( MimeStr=='\0' )
 +if( MimeStr=="\0" )

Проблемы с линковкой при запуске SimpleGREN

Здравствуйте, Илья!
Я собрал все компоненты по инструкции и пытаюсь запустить SimpleGREN. В результате чего получаю следующую ошибку:
./test
Loading dictionary ../../../../../bin-linux64/dictionary.xml ...
./test: symbol lookup error: /home/astrowander/Qt/Projects/legionary/GrammarEngine/src/lib64/libgren.so: undefined symbol: _ZN7Solarix13SG_BogusEntryC1Ev

Видимо, что-то не так слинковалось, но я не могу понять что именно неправильно. Надеюсь на вашу помощь.

Неверный формат словаря

Здравствуйте, пытаюсь запустить прекомпиллед парсер из GrammarEngine-master (под win64)

C:\Users\Anton\Downloads\!new_dwnl\GrammarEngine-master\GrammarEngine-master\src
\scripts\Parser>..\..\exe64\Parser.exe -verbose -tagger 0 -parser 0 -fuzzy_wordr
ecog 1 -lemmatizer 0 -eol -d ..\..\bin-windows64\dictionary.xml 1.txt -o 1.txt.p
arsing.xml
Loading dictionary from [C:\Users\Anton\Downloads\!new_dwnl\GrammarEngine-master
\GrammarEngine-master\src\bin-windows64\dictionary.xml]...

Ошибка: LEM: Assertion failed. Condition: Dictionary file has unknown or incompa
tible formatfile: e:\mvoice\lem\ai\some\dictionary.cpp line: 1931
Errcode=0 text=Операция успешно завершена.

Error:
Could not load the dictionary using [C:\Users\Anton\Downloads\!new_dwnl\GrammarE
ngine-master\GrammarEngine-master\src\bin-windows64\dictionary.xml]

Та же ошибка LEM в убунте (копилил из исходников парсер)
Подскажите что делаю не так? Возможно парсер надо компилить под ВИН тоже? Из коробки не запускается?

ошибка компиляции

Использую VS 2010. При компиляции ошибки:
Ошибка 101 error C2440: инициализация: невозможно преобразовать "int" в "Solarix::SynPatternTreeNode *" c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\utility 163 1 Grammar_Engine
Ошибка 102 error C2439: std::_Pair_base<_Ty1,_Ty2>::first: не удается инициализировать член c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\utility 163 1 Grammar_Engine

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.