我有一个 csv 文件,其中包含大约 50K 行搜索引擎查询。一些搜索查询是相同的,只是词序不同,例如“查询 A 这是”和“这是查询 A”。
我已经测试过使用 fuzzywuzzy 的 token_sort_ratio 函数来查找匹配的词序查询,效果很好,但是我正在努力解决嵌套循环的运行时问题,并寻找优化技巧。
目前,嵌套 for 循环在我的机器上运行大约需要 60 小时。有谁知道我如何加快速度?
代码如下:
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
import pandas as pd
from tqdm import tqdm
filePath = '/content/queries.csv'
df = pd.read_csv(filePath)
table1 = df['keyword'].to_list()
table2 = df['keyword'].to_list()
data = []
for kw_t1 in tqdm(table1):
for kw_t2 in table2:
score = fuzz.token_sort_ratio(kw_t1,kw_t2)
if score == 100 and kw_t1 != kw_t2:
data +=[[kw_t1, kw_t2, score]]
data_df = pd.DataFrame(data, columns=['query', 'queryComparison', 'score'])
Run Code Online (Sandbox Code Playgroud)
任何意见,将不胜感激。 …