from hanziconv import HanziConv import pandas as pd import jieba ''' 长文本推荐 模型 jieba+lda+word2vec 1.长文本的处理方法 2.停用词的补充 3.余弦相似度 ''' df = pd.read_excel('骨科回答处理.xlsx', sheet_name='Sheet1') text = df['answer'].tolist() # 中文停词,哈工大停词,四川机器智能实验室,百度停词 # 加医学方面的停词,提高模型的准确性:填写 stopwords = [line.strip() for line in open('../datas/hit_stopwords.txt', 'r', encoding='utf-8').readlines()] result = [] for line in text: seg_list = jieba.cut(HanziConv.toSimplified(line)) seg_list = [i for i in seg_list if i not in stopwords] result.append(' '.join(seg_list)) df_result = pd.DataFrame(result, columns=['answer']) df_result.to_excel('骨科回答处理.xlsx', sheet_name='Sheet1', index=False) # 去空格,规范分词后的格式 df1 = pd.read_excel("骨科回答处理.xlsx", sheet_name="Sheet1") df1["answer"] = df1["answer"].str.replace("\n", "").str.strip() df1["answer"] = df1["answer"].str.replace(r"\s+", " ", regex=True).str.strip() df1["answer"] = df1["answer"].str.replace(r"\d+", "", regex=True).str.strip() df1.to_excel("骨科回答处理.xlsx", sheet_name="Sheet2", index=False)