Cómo utilizar la palabra del componente de segmentación de palabras chinas de Java
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: p>
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 p>
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.
.