Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo utilizar la palabra del componente de segmentación de palabras chinas de Java

Cómo utilizar la palabra del componente de segmentación de palabras chinas de Java

La referencia es la siguiente

1. Experiencia rápida

Ejecute el script demo-word.bat en el directorio raíz del proyecto para experimentar rápidamente el efecto de segmentación de palabras

Uso : comando [texto] [entrada] [salida]

Los valores opcionales del comando Comando son: demostración, archivo de texto

demo

texto Yang Shangchuan es el desarrollador de la plataforma de desarrollo de productos a nivel de aplicación APDPlat Autor

archivo d:/text.txt d:/word.txt

Salir

2. Verifique la palabra en el texto

Eliminar palabras deshabilitadas: Listlt; palabras = WordSegmenter.seg("Yang Shangchuan es el autor de la plataforma de desarrollo de productos a nivel de aplicación APDPlat");

Mantener palabras deshabilitadas: Listlt; Wordgt; palabras = WordSegmenter.segWithStopWords("Yang Shangchuan es el autor de la plataforma de desarrollo de productos a nivel de aplicaciones APDPlat");

System.out.println(words);

Salida:

Eliminar StopWords: [Yang Shangchuan, apdplat, nivel de aplicación, producto, plataforma de desarrollo, autor]

Conservar StopWords: [Yang Shangchuan, sí , apdplat, nivel de aplicación, producto, plataforma de desarrollo, autor ]

Palabras de parada reservadas: apdplat, nivel de aplicación, producto, plataforma de desarrollo, autor]

Palabras de parada reservadas: [Sang-Chuan Yang, es, apdplat, nivel de aplicación, producto, plataforma de desarrollo, autor]

3 Documento dividido

String input = "d:/text.txt";

Salida de cadena = "d: /word.txt";

Eliminar palabras desactivadas: WordSegmenter.seg(nuevo archivo (entrada), nuevo archivo (salida));

Mantener palabras desactivadas: WordSegmenter.segWithStopWords( nuevo archivo (entrada), nuevo archivo (salida));

4. Archivo de configuración personalizado

El archivo de configuración predeterminado es word.conf la ruta de clase, empaquetada en word-x.x. El archivo de configuración personalizado en jar es word.local en la ruta de clase.

conf, debe ser proporcionado por el usuario

Si la configuración personalizada es la misma que la configuración predeterminada, la configuración personalizada anulará la configuración predeterminada

El archivo de configuración está codificado como UTF -8

5. Tesauro de usuario personalizado

Un tesauro de usuario personalizado es una o más carpetas o archivos, y puede utilizar rutas absolutas o relativas

El usuario el diccionario de sinónimos consta de múltiples Consiste en un archivo de léxico, la codificación del archivo es UTF-8

El formato del archivo de léxico es un archivo de texto, una línea representa una palabra

La ruta puede ser especificado por las propiedades del sistema o archivos de configuración, múltiples rutas Sepárelos con comas

El archivo de léxico bajo la ruta de clase debe tener el prefijo classpath:

Hay tres métodos de especificación:

Método de especificación 1, especificación programática (prioridad alta):

WordConfTools.set("dic.path", "classpath:dic.txt, d:/custom_dic"); >

DictionaryFactory.reload(); // Vuelva a cargar el diccionario después de cambiar la ruta del diccionario

Especifique el método dos, parámetros de inicio de la máquina virtual Java (prioridad media):

java - Ddic.path=classpath:dic.txt, d:/custom_dic

Método de especificación tres, especificación del archivo de configuración (baja prioridad):

Utilice el archivo word.local.conf bajo el ruta de clase para especificar el archivo de configuración (prioridad media). Especifique la información de configuración en la ruta de clase conf

Utilice el archivo word.local.conf para especificar la información de configuración

dic.path=classpath:dic.txt, d:/custom_dic

Si no se especifica, el archivo de diccionario dic.txt en la ruta de clase se usará de forma predeterminada

6. Cómo usar un léxico personalizado deshabilitado y cómo usar un léxico personalizado de usuario similar.

Los elementos de configuración son:

stopwords.path=classpath:stopwords.txt, d:/custom_stopwords_dic

7. Detecta automáticamente cambios en el vocabulario.

Puede automáticamente. detectar cambios en el léxico de usuario personalizado y en el léxico deshabilitado personalizado

Incluir archivos y carpetas en la ruta de clase, rutas absolutas y rutas relativas en rutas que no son de clase

Por ejemplo:

classpath: dic.txt, classpath: custom_dic_dir,

d:/dic_more.txt, d:/DIC_DIR, D:/DIC2_DIR, my_dic DIR, my_dic_dir, my_dic_file.txt

classpath: stopwords.txt, classpath: custom_stopwords_dic_dir,

d: /stopwords_more.txt, d: /STOPWORDS_DIR, d: /STOPWORDS2_DIR, stopwords_dir, remove.txt

8. Especifique explícitamente el algoritmo de segmentación

Al segmentar texto, puede especificar explícitamente un algoritmo de segmentación específico, por ejemplo:

WordSegmenter.seg("Plataforma de desarrollo de productos a nivel de aplicación APDPlat", SegmentationAlgorithm .Bi DirectionMaximumMatching);

Los tipos opcionales de SegmentationAlgorithm son:

Algoritmo de coincidencia máxima directa: MaximumMatching

Algoritmo de coincidencia máxima inversa: coincidencia máxima inversa Algoritmo: ReverseMaximumMatching

Algoritmo de coincidencia mínima directa: coincidencia mínima

Algoritmo de coincidencia mínima inversa.

Algoritmo de coincidencia máxima bidireccional: Algoritmo de coincidencia máxima bidireccional: BidireccionalMaximumMatching

Algoritmo de coincidencia mínima bidireccional: Algoritmo de coincidencia mínimo bidireccional: BidireccionalMinimumMatching

Algoritmo de coincidencia bidireccional máximo y mínimo: Algoritmo de coincidencia máximo y mínimo bidireccional: BidireccionalMaximumMinimumMatching

Algoritmo de segmentación completa: FullSegmentation

Algoritmo de recuento mínimo de palabras: Algoritmo de recuento mínimo de palabras: MinimalWordCount

Algoritmo de puntuación máxima de Ngram: MaxNgramScore

9 Evaluar el efecto de segmentación de palabras

Ejecute el script evaluación.bat en el directorio raíz del proyecto para evaluar el efecto de segmentación de palabras

El texto de prueba utilizado para la evaluación es 253 3709 líneas, ***. 2837 4 490 caracteres

p>

Los resultados de la evaluación se encuentran en el directorio de destino/evaluación:

corpus-text.txt es texto anotado manualmente, con palabras separadas por espacios

test-text.txt es el texto de prueba, que es el resultado de dividir corpus-text.txt en varias líneas y agregar signos de puntuación

standard-text.txt es el texto de prueba manual texto anotado correspondiente al texto de prueba, ya que la separación de palabras es correcta. El resultado

texto-estándar.txt es el texto anotado manualmente que corresponde al texto de prueba, como resultado de si la separación de palabras es correcta

texto-estándar.txt es el que corresponde al texto de prueba. Anotar texto manualmente. txt es el texto anotado manualmente correspondiente al texto de prueba, como resultado de si la segmentación de palabras es correcta

standard-text.txt es el texto anotado manualmente correspondiente al texto de prueba. standard-text.txt es el texto de prueba correspondiente al texto anotado manualmente, que se utiliza como estándar para determinar si la segmentación de palabras es correcta

result-text-***.txt, *** es el nombre de varios algoritmos de segmentación de palabras, este es el resultado de la segmentación de palabras

perfect-result-****.txt, *** es el nombre de varios algoritmos de segmentación de palabras, este es el texto donde el resultado de la segmentación de palabras es completamente consistente con el estándar de anotación manual

wr>wr>wr>wr>wr.txt es el texto de prueba correspondiente al texto anotado manualmente. /p>

resultado-erróneo-***.txt, *** es el nombre de varios algoritmos de segmentación de palabras. Este es el texto cuyos resultados de segmentación de palabras no son consistentes con los estándares de anotación manual.

.