日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【长文本处理】长文本划窗分割算法

發布時間:2025/3/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【长文本处理】长文本划窗分割算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

長文本劃窗切片算法

給定一段長文本,對長文本進行滑動窗口,切成一系列更短的文本,其中切片后的最小文本長度和窗口滑動的步長作為參數,且切分后每段文本都是完整的句子。斷句標點可自行限制范圍。

這種切割方式可以用于為長文本的數據處理作準備。

實現代碼

import re import numpy as npclass text_cut:def __init__(self,min_len =20,step=10, stop_list = None):self.min_len = min_len #自定義最短長度self.step = step #自定義劃窗步長if stop_list and isinstance(stop_list,list):self.stop_list = stop_list #自定義分割標點符else:self.stop_list = ['.','!','|','。','!',';',';','?','?',',']self.split_patten = '[' + ''.join(self.stop_list) + ']'def find_now_index(self,now_point,sum_len_list):for i in range(len(sum_len_list)-1):if now_point >= sum_len_list[i] and now_point < sum_len_list[i+1]:return i+1else:return 0def cut(self,text):if not isinstance(text,str):raise TypeErrorspilt_text = re.split(self.split_patten,text)len_list = np.array([len(x) for x in spilt_text])sum_len_list = np.cumsum(len_list)result_list = []end_point = 0pre_index = 0while end_point <= sum_len_list[-1]:end_point += self.stepnow_index = self.find_now_index(end_point,sum_len_list)if np.sum(len_list[pre_index:now_index]) >= self.min_len:result_list.append(''.join(spilt_text[pre_index:now_index]))pre_index = now_indexreturn result_listdef main():text = '都市快報訊 “二九”過完是“三九”,目前正是一年最冷的時候。有人開玩笑說,每天在戶外,感覺自己像一根行走著的棒冰。\ 浙江省氣象臺統計,2021年的第一個10天(11日至110日),全省平均降水量1毫米,比常年同期偏少93%;全省平均氣溫3.2℃,比常年同期偏低2.9℃。不僅降水偏少,而且氣溫偏低。\ 在快抱App的杭友圈里,刷屏的帖子不是西湖結冰,就是家里的花缸結冰,或者掛在室外的衣服、毛巾凍住了。\ 天寒地凍的日子本周還會繼續嗎?好消息是,杭州已經明顯從“冷凍層”來到了“冷藏層”。杭州市氣象臺說,目前,冷空氣的殘余勢力已經越來越弱,氣溫已經在緩慢回升,之所以升溫慢,是因為昨天有一股弱冷空氣補充影響。'c_ = text_cut()result_list = c_.cut(text)print(result_list)print([len(x) for x in result_list])if __name__ == '__main__':main()#---------------- /usr/local/bin/python3 /Users/zhengyanzhao/PycharmProjects/cut_text/text_cut.py都市快報訊 “二九”過完是“三九”,目前正是一年最冷的時候 有人開玩笑說,每天在戶外,感覺自己像一根行走著的棒冰 浙江省氣象臺統計,2021年的第一個10天(11日至110日),全省平均降水量1毫米,比常年同期偏少93% 全省平均氣溫32℃,比常年同期偏低29℃ 不僅降水偏少,而且氣溫偏低在快抱App的杭友圈里,刷屏的帖子不是西湖結冰,就是家里的花缸結冰,或者掛在室外的衣服、毛巾凍住了 天寒地凍的日子本周還會繼續嗎好消息是,杭州已經明顯從“冷凍層”來到了“冷藏層”[29, 26, 55, 20, 62, 39]

總結

以上是生活随笔為你收集整理的【长文本处理】长文本划窗分割算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。