好吧,这个问题可能有点奇怪,所以首先让我给你一个简短的背景。你知道吗
我使用^{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
数据帧将如下所示:
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个字符串中,我需要选择一个与其他Id的字符串不同的字符串。你知道吗
希望这有点道理。。。你知道吗
总结一下,如果你在路上迷路了:有没有办法比较字符串之间的相似性?一种比较文本字符串并选择其中最不同的字符串的方法?你知道吗
在下面的数据中,
Text
在Index
0 & 2
和Text
在Index
4 & 5
中最相似,因为它们包含彼此的文本。所以最不相似的是每个Index
1 & 3
之间的Id
为了找到最不相似的
Text
,我们可以使用TF-IDF
将每个Text
编码成一个数字向量。然后,我们找到每组中每对行之间的euclidean distance
,并对每行的距离求和,并假设最大平均值是最不相似的。最后,我们获取每组Id's
平均值最大的索引。你知道吗数据:
在:
输出:
相关问题 更多 >
编程相关推荐