好吧,所以这个问题可能有点奇怪,所以首先让我给你一个简短的背景。
我正在使用spintax
给定一组可选短语来生成大块文本。我spin
在循环内部插入了一个范围从 0 到 10 的循环,因此它创建了多个字符串,每个字符串都不同。
for i in range(0, 10):
L.append(spintax.spin(
" ----<h1>{" +Title+ " - {køb online|sammenlign {priser|online supermarkederne}} via x.dk|Få din "+y+ "\
leveret til døren og spar penge via x.dk|Køb din "+y+ " online og spar penge via x.dk }\
\n \
----<h2>{{Få adgang til|vælg fra} {et stort|Danmarks største} {udvalg} af} " +y+ "<h2>\
\n \
{Når|Hvis} du {besøger|handler ind gennem|benytter|køber ind via|køber dine varer via}\
x.dk, {er det {vigtigt|væsentligt} at forstå|skal du huske|skal du vide}"))
L2.append(df['ID'][index])
df2 = pd.DataFrame(np.column_stack([L, L2]), columns=['Text' ,'ID'])
对,所以这是我的代码的示例。L
是一个列表,它采用生成的文本并且L2
是一个 ID 列表(不打算解释该列表的内容,因为它是题外话)。因此,我的df2
DataFrame 将如下所示:
Index Text Id
0 <h1>Få din Mælk & Fløde leveret til 4169
døren og spar penge via...
1 <h1>Mælk & Fløde - køb online via x.dk 4169
....
12 <h1>Få din Yoghurt leveret til døren 4178
og spar penge via
....
所以此时,每个 Id 都有 10 个文本字符串。我需要把这些降到 1,我的问题就从这里开始了。我想确保这些文本字符串在某种程度上都彼此不同。从每个 Id 的这 10 个字符串中,我需要选择 1 个与其他 Id 的字符串不同的字符串。
希望这有点道理...
总结一下,如果你在途中迷路了:有没有办法比较字符串之间的相似度?一种比较文本字符串并选择所有字符串中最不同的字符串的方法?