Pruebas de software | Cómo utilizar Python para extraer contenido en chino e inglés

Insertar descripción de la imagen aquí

Introducción

Extraer contenido chino e inglés de oraciones es una tarea común en el procesamiento del lenguaje natural y se usa comúnmente en el procesamiento de textos, la traducción automática y la investigación lingüística. Este artículo presentará en detalle cómo usar Python para extraer contenido en chino e inglés de oraciones, incluido el trabajo de preparación, la selección de bibliotecas apropiadas, la escritura de ejemplos de código y ejemplos de demostración.

Preparación

Podemos utilizar remódulos o jiebabibliotecas propios de Python nltkpara implementar esta función, jiebaasí como nltkbibliotecas de terceros, por lo que necesitamos instalar estas dos bibliotecas mediante comandos, los comandos son los siguientes:

pip install jieba nltk

La siguiente es una introducción a los módulos que utilizamos:

  • re: utilizado para operaciones de expresiones regulares, lo usaremos para hacer coincidir contenido chino e inglés
  • jieba: Se utiliza para la segmentación de palabras chinas y para dividir oraciones chinas en palabras.
  • nltk: Kit de herramientas de lenguaje natural para el procesamiento de textos en inglés

Utilice expresiones regulares para extraer chino e inglés.

Las expresiones regulares son una poderosa herramienta de coincidencia de texto que se puede utilizar para extraer contenido en chino e inglés en oraciones. El siguiente es un código de muestra que utiliza expresiones regulares para extraer chino e inglés:

import re

def extract_chinese_and_english(sentence):
    chinese_pattern = re.compile('[\u4e00-\u9fa5]+')
    english_pattern = re.compile('[a-zA-Z]+')
    result = {
    
    
        'chinese': chinese_pattern.findall(sentence),
        'english': english_pattern.findall(sentence)
    }
    return result

sentence = '这是一个示例句子,包含了一些中文和英文。This is an example sentence with both Chinese and English.'
result = extract_chinese_and_english(sentence)
print(result['chinese'])
print(result['english'])

------------------------
运行脚本,输出结果如下:
['这是一个示例句子', '包含了一些中文和英文']
['This', 'is', 'an', 'example', 'sentence', 'with', 'both', 'Chinese', 'and', 'English']

Utilice bibliotecas de terceros para la extracción de chino e inglés

Además de las expresiones regulares, también puedes utilizar algunas bibliotecas de terceros para extraer el contenido en chino e inglés en oraciones. El siguiente es un código de muestra para la extracción de chino e inglés utilizando las bibliotecas Jieba y nltk:

import re
import jieba
import nltk
from nltk.tokenize import word_tokenize, sent_tokenize

# 初始化nltk
nltk.download("punkt")

# 示例句子
sentence = "这是一个示例句子,包含了一些中文和英文。This is an example sentence with both Chinese and English."

# 提取中文内容
def extract_chinese(text):
    chinese_pattern = re.compile(r'[\u4e00-\u9fa5]+')
    chinese_matches = chinese_pattern.findall(text)
    return " ".join(chinese_matches)

# 提取英文内容
def extract_english(text):
    english_pattern = re.compile(r'[a-zA-Z]+')
    english_matches = english_pattern.findall(text)
    return " ".join(english_matches)

# 分词中文内容
chinese_text = extract_chinese(sentence)
chinese_words = jieba.cut(chinese_text)

# 分词英文内容
english_text = extract_english(sentence)
english_words = word_tokenize(english_text)

# 输出结果
print("原句子:", sentence)
print("中文内容:", chinese_text)
print("中文分词:", " ".join(chinese_words))
print("英文内容:", english_text)
print("英文分词:", " ".join(english_words))

-----------------------------
输出结果如下:
原句子: 这是一个示例句子,包含了一些中文和英文。This is an example sentence with both Chinese and English.
中文内容: 这是一个示例句子 包含了一些中文和英文
中文分词: 这 是 一个 示例 句子   包含 了 一些 中文 和 英文
英文内容: This is an example sentence with both Chinese and English
英文分词: This is an example sentence with both Chinese and English
  1. Primero usamos expresiones regulares para extraer contenido en chino e inglés. Las expresiones regulares para el contenido chino [\u4e00-\u9fa5]+se utilizan para hacer coincidir los caracteres chinos y las expresiones regulares para el contenido en inglés [a-zA-Z]+ se utilizan para hacer coincidir los caracteres en inglés.

  2. Úselo para segmentar palabras de contenido chino jiebay dividir oraciones chinas en palabras.

  3. Utilice la función nltkde word_tokenizepara segmentar el contenido en inglés y dividir las oraciones en inglés en palabras.

  4. Finalmente, generamos la oración original, el contenido chino, la segmentación de palabras chinas, el contenido en inglés y la segmentación de palabras en inglés.

Resumir

Este artículo presenta principalmente el uso de Python para extraer contenido en chino e inglés del texto. Solo usamos ejemplos simples. Si necesitamos procesar texto más complejo, debemos usar marcos más avanzados y expresiones regulares más complejas.

Supongo que te gusta

Origin blog.csdn.net/Tester_muller/article/details/132886841
Recomendado
Clasificación