Red de conocimiento informático - Material del sitio web - Cómo utilizar el sistema de segmentación de palabras ictclas para la segmentación de palabras

Cómo utilizar el sistema de segmentación de palabras ictclas para la segmentación de palabras

El sistema de segmentación de palabras de ICTCLAS es un sistema NB. He buscado detenidamente en los últimos días y descubrí que es muy eficiente, no sé cuántas veces mayor que la eficiencia de crear un diccionario y un algoritmo de segmentación de palabras por mi cuenta. Es muy simple de usar. Debe exportar una biblioteca de vocabulario personalizada desde BOSS y luego usar los artículos para entrenar el vocabulario, pase lo que pase, siempre que se pueda usar. He estado trabajando en el campo de hash DT durante dos semanas y el progreso es muy lento. Analicé "El dragón y las ocho partes" del Libro A y conté la frecuencia de las palabras (las palabras se basan únicamente en la frecuencia y son inteligentes). ¡La segmentación de palabras no se puede lograr sin un diccionario! Tarda unos diez minutos, es muy ineficiente y requiere unos 200 M de memoria. La segmentación de palabras se puede lograr de manera eficiente utilizando el sistema de segmentación de palabras ICTCLAS. El proceso se publica a continuación.

Cómo usarlo, primero descargue ICTCLAS en línea, porque lo implementé en Windows C, descargue ICTCLAS2011_Windows_32_c, después de la descompresión, habrá una buena demostración, documento, copie todos los archivos (carpetas) en el directorio API Vaya a su proyecto y agregue

//

su código aquí a su archivo fuente. Puede consultar el código en la demostración.

Probablemente las interfaces de función de la función C estén bajo la documentación del archivo Doc:

bool ICTCLAS_Init(const char* pszInitDir=NULL función de inicialización

); Valor de retorno

Devuelve verdadero si la inicialización se realiza correctamente; de ​​lo contrario, devuelve falso. Si la inicialización no tiene éxito, devuelve falso. La inicialización no tuvo éxito. Consulte el archivo ictclas.log para obtener detalles del error.

Parámetros

pszInitDir: Ruta de inicialización, que debe incluir el archivo de configuración (Configure.xml), el directorio del diccionario (directorio de datos) y el archivo de autorización (user.lic).

bool ICTCLAS_Exit(); sale y libera memoria

Valor de retorno

Devuelve verdadero si tiene éxito; de lo contrario, devuelve falso.

unsigned int ICTCLAS_ ImportUserDict(const char *sFilename, eCodeType eCT)

Importar diccionario definido por el usuario

Valor de retorno

Importado correctamente Número de palabras

Parámetros

sNombre de archivo: archivo de diccionario definido por el usuario

eCT: formato de codificación

int ICTCLAS_ParagraphProcess(const char *sParagraph , int nPaLen, eCodeType eCt, int bPOStagged, char* sResult); //Dividir un párrafo

Valor de retorno

Devuelve el puntero del búfer de resultados (sResult) y el resultado. longitud R

Parámetros

sParagraph: párrafo original

nPaLen: longitud del párrafo

eCodeType: formato de codificación del párrafo

bPOStagged: debe marcarse de acuerdo con el conjunto de anotaciones 0 = marcado 1 = no marcado; el valor predeterminado es 1.

sResult: Resultado de salida

t_pstRstVec ICTCLAS_ParagraphProcessA(const char *sParagraph, int PaLen, eCodeType eCodeType, int bPOStagged, int amp; nRstCnt

Procesar a); Párrafo

Valor de retorno

Puntero al vector de resultado, esta es una llamada al sistema, el usuario no puede asignarlo y liberarlo

Estructura stResult{

int start; //posición inicial

int length; //longitud

#ifdef POS_TAGGER

int //POS

char sPOS[POS_ TAMAÑO]; //tipo de palabra

#endif

int word_ID; //word_ID

int word_type; palabra del diccionario del usuario? (0-no, 1-sí)

int peso; // peso de palabra

};

Parámetros

sPárrafo: Párrafo original

nPaLen: Longitud del párrafo

eCodeType: Formato del código

bPOStagged:

Si es necesario establecer etiquetas basadas en comentarios 0 = marcar; 1 = no marcar; el valor predeterminado es 1.

nRstcnt: el valor de longitud del resultado del procesamiento.

Consulte el archivo de documentación para obtener detalles de uso.

bool ICTCLAS_FileProcess(const char *sSrcFilename, eCodeType eCt, const char *sDsnFilename, int bPOStagged); //procesar archivo txt

Valor de retorno