Guía de uso de zhparser
zhparser
es un módulo de extensión de terceros para PostgreSQL, diseñado específicamente para procesar texto en chino. Proporciona funciones eficientes de segmentación y búsqueda, y es adecuado para diversas situaciones de procesamiento de texto en chino. ServBay viene equipado con scws
(Segmentación Simple de Palabras Chinas), que puede ser utilizado por zhparser
para crear diccionarios personalizados. Este artículo detalla cómo instalar y utilizar zhparser
en ServBay.
Instalación de zhparser
ServBay ya incluye el módulo de extensión zhparser
, solo necesita habilitarlo en la base de datos. Aquí están los pasos para habilitar zhparser
:
Conectarse a la base de datos PostgreSQL:
bashpsql -U your_username -d your_database
1Crear la extensión:
sqlCREATE EXTENSION zhparser;
1Verificar la instalación:
sql\dx
1
Configuración de zhparser
Después de habilitar zhparser
, necesita configurar algunas cosas para que pueda realizar segmentación de texto y búsquedas en chino correctamente.
Configurar la Configuración de Búsqueda de Texto
Crear la configuración de búsqueda de texto:
sqlCREATE TEXT SEARCH CONFIGURATION chinese (PARSER = zhparser);
1Agregar diccionario:
sqlALTER TEXT SEARCH CONFIGURATION chinese ADD MAPPING FOR n,v,a,i,e,l WITH simple;
1
Uso de zhparser para búsqueda de texto completo
Aquí hay un ejemplo que muestra cómo utilizar zhparser
para realizar búsqueda de texto completo.
Crear tabla y datos de ejemplo
Crear tabla:
sqlCREATE TABLE documents ( id SERIAL PRIMARY KEY, content TEXT );
1
2
3
4Insertar datos de ejemplo:
sqlINSERT INTO documents (content) VALUES ('我爱自然语言处理'), ('中文分词是文本处理的重要步骤'), ('zhparser是一个很好的中文分词工具');
1
2
3
4
Crear índice de búsqueda de texto completo
- Crear índice GIN:sql
CREATE INDEX idx_gin_content ON documents USING gin (to_tsvector('chinese', content));
1
Ejecutar búsqueda de texto completo
Ejecutar consulta de búsqueda:
sqlSELECT * FROM documents WHERE to_tsvector('chinese', content) @@ to_tsquery('chinese', '中文 & 分词');
1
2Esta consulta devolverá los documentos que contienen las palabras "中文" y "分词".
Diccionario personalizado
ServBay viene con scws
, puede usar scws
para crear un diccionario personalizado para satisfacer mejor las necesidades específicas de la aplicación.
Agregar vocabulario personalizado
Crear archivo de diccionario personalizado:
plaintext/Applications/ServBay/etc/scws/custom_dict.txt
1Agregar palabras al archivo, una por línea:
plaintext自然语言处理 中文分词
1
2Configurar
zhparser
para usar el diccionario personalizado:sqlSET zhparser.dict_path = '/Applications/ServBay/etc/scws/custom_dict.txt';
1
Recargar diccionario
- Recargar diccionario:sql
SELECT zhprs_reload_dict();
1
Ajustar el modo de segmentación
zhparser
admite varios modos de segmentación que puede ajustar según sea necesario.
Configurar modo de segmentación
Configurar el modo de segmentación a la segmentación de granos finos:
sqlSET zhparser.seg_with_duality = true;
1Configurar el modo de segmentación a la segmentación de granos gruesos:
sqlSET zhparser.seg_with_duality = false;
1
Resumen
zhparser
es una herramienta poderosa para la segmentación de texto en chino. Con una configuración y uso simples, puede implementar búsquedas de texto completo eficientes en chino en PostgreSQL. ServBay ya incluye el módulo de extensión zhparser
y viene con scws
, lo que le permite crear diccionarios personalizados. Mediante diccionarios personalizados y ajustes en el modo de segmentación, puede optimizar aún más la segmentación para satisfacer las necesidades específicas de la aplicación.