以下学习笔记来源于 Coggle 30 Days of ML(22年1&2月)
链接:https://coggle.club/blog/30days-of-ml-202201
比赛链接:https://aistudio.baidu.com/aistudio/competition/detail/45/0/task-definition
提取TFIDF以及统计特征,训练和预测
导入所需库
import numpy as np
import pandas as pd
import jieba
import Levenshtein #计算编辑距离
from tqdm import tqdm
import warnings
import lightgbm as lgb
from sklearn.model_selection import StratifiedKFold
from sklearn.metrics import roc_auc_score, f1_score, precision_score, recall_score,accuracy_score
import glob
读取文件并做相应处理
#读取tsv文件的方法
def read_tsv(input_file,columns):
with open(input_file,"r",encoding="utf-8") as file:
lines = []
count = 1
for line in file:
if len(line.strip().split("\t")) != 1:
lines.append([count]+line.strip().split("\t"))
count += 1
df = pd.DataFrame(lines)
df.columns = columns
return df
- 读取训练数据
bq_train=read_tsv('./bq_corpus/train.tsv',['index','text1','text2','label'])
lcqmc_train=read_tsv('./lcqmc/train.tsv',['index','text1','text2','label'])
pawsx_train=read_tsv('./paws-x-zh/train.tsv',['index','text1','text2','label'])
- 读取预测数据
bq_test=read_tsv('./bq_corpus/test.tsv',['index','text1','text2'])
lcqmc_test=read_tsv('./lcqmc/test.tsv',['index','text1','text2'])
pawsx_test=read_tsv('./paws-x-zh/test.tsv',['index','text1','text2'])
- 一些处理文本的函数
#文本处理,有些可能用不到
import re
import string
import jieba
with open("dict/stop_words.utf8",encoding="utf-8") as f:
stopword_list=f.readlines()
def tokenize_text(text):
tokens=jieba.cut(text)
tokens=[token.strip() for token in tokens]
return tokens
def remove_special_characters(text):
tokens=tokenize_text(text)
pattern=re.compile('[{}]'.format(re.escape(string.punctuation)))
filtered_tokens=filter(None,[pattern.sub('',token) for token in tokens])
filtered_text=''.join(filtered_tokens)
return filtered_text
#去除停用词
def remove_stopwords(text):
tokens=tokenize_text(text)
filtered_tokens=[token for token in tokens if token not in stopword_list]
filtered_text=''.join(filtered_tokens)
return filtered_text
def normalize_corpus(corpus,
中文文本相似度竞赛实战

本文分享了参加中文文本相似度竞赛的经验,通过提取TF-IDF及统计特征,利用LightGBM模型进行训练与预测。文章详细介绍了数据预处理、特征工程及模型训练流程。
最低0.47元/天 解锁文章
9545





