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)
