C/C++:
int sol_CountRoots( HGREN_RESPACK hResults, int GrafSetNo )
C#:
int sol_CountRoots( IntPtr hResults, int GrafSetNo )
Delphi:
function sol_CountRoots( hResults: PInteger; GrafSetNo: Integer ): Integer;
Аргументы:
hResults - дескриптор для результатов морфологического разбора предложения, возвращаемый функцией sol_MorphologyAnalysis.
GrafSetNo - номер альтернативного набора графов, отсчитываемый от 0.
Возвращает:
Количество корневых узлов, с учетом двух специальных граничных узлов, которые отмечают левую и правую границу предложения.
Обычно морфологический анализ предложения возвращает один набор графов. Соответственно, аргумент GrafSetNo принимает значение 0. Но иногда из-за особенностей токенизации текста анализатор не может однозначно определить, являются ли несколько слов фактически единым словом или нет. К примеру, союз ТАК КАК может и нтерпретироваться и как два отдельных слова, что в некоторых случаях незавершенного анализа даст как минимум 2 варианта набора графов. Количество альтернативных наборов графов возвращает функция sol_CountGrafs.
Если морфологический анализ выполнен полностью и для каждого слова в исходном предложении определены его связи, то данная функция вернет значение 3 для соответствующего набора графов. Это происходит из-за того, что в начале и конце исходного набора слов вставляются специальные узлы, отмечающие границу.
Определив количество корней в наборе, можно пройтись по каждому графу, начиная с его корня. Для этого можно использовать функции API sol_GetRoot, sol_CountLeafs, sol_GetLeaf.
Приобретение SDK грамматического словаря
API layer C++ source code: grammar_engine_api.cpp
Вернуться к списку функций API
© Elijah Koziev 2010
Поисковая система
SDK Поисковой системы
Экранный переводчик
|
|
изменено 10-Oct-11 | ||||||||||||||||||||||||||||||||||||||