C/C++:
int sol_GetNodePosition( HGREN_TREENODE hNode )
C#:
int sol_GetNodePosition( IntPtr hNode )
Delphi:
function sol_GetNodePosition( hNode: PInteger ): integer;
Аргументы:
hNode - дескриптор узла синтаксического дерева.
Возвращает:
Позицию слова, 0 для первого слова, 1 для второго и так далее. В случае ошибки и для специальных узлов возвращает -1.
Функция позволяет определить для любого узла синтаксического графа позицию слова, хранящегося в этом узле. Позиции отсчитываются от 0, по единице на слово. Следует обращать внимание, что работа токенизатора может давать не совсем ожидаемые результаты, так как он в ряде случаев не рассматривает пробелы как разделители слов.
Если для узла данная функция возвращает -1, то это наверняка специальный узел, созданный морфологическим или синтаксическим анализатором для своих нужд. Например, морфологический анализатор добавляет перед началом предложения и после его конца специальные узлы, маркирующие границы. Синтаксический анализатор может создавать фиктивные узлы, когда необходимо объединить группу слов в единую синтаксическую единицу.
Для результатов синтаксического анализа следует также учитывать, что при построении синтаксического графа нет четкой корреляции между позицией узла относительно родительского узла и положением слова в исходном предложении. Например, предложение На первой странице вы найдете краткую биографию А.С.Пушкина после морфологического разбора даст такой результат:

Синтаксический анализатор построит такой граф:

Обход синтаксического графа и получение дескрипторов узлов можно выполнить с помощью функций sol_GetRoot, sol_GetLeaf и других.
Приобретение SDK грамматического словаря
API layer C++ source code: grammar_engine_api.cpp
Вернуться к списку функций API
© Elijah Koziev 2010
Поисковая система
SDK Поисковой системы
Экранный переводчик
|
|
изменено 11-Dec-11 | ||||||||||||||||||||||||||||||||||||||