Python 在文档中查找独特的句子

Python 在文档中查找独特的句子,python,nlp,unique,Python,Nlp,Unique,我有一个约30万句的文本语料库。我只想有唯一的句子,这意味着如果我有一个句子的频率是两倍,我只想有一个 这是我在python 3中尝试的: def unique_sentences(data): u_sent = list(set([w for w in data.split('.')])) return ".".join(u_sent) 问题是它还删除了一些独特的句子。你知道用python做这件事的其他方法吗?我建议使用像NLTK这样的著名库来拆分文本数据

我有一个约30万句的文本语料库。我只想有唯一的句子,这意味着如果我有一个句子的频率是两倍,我只想有一个

这是我在python 3中尝试的:

def unique_sentences(data):
    u_sent = list(set([w for w in data.split('.')]))
    return ".".join(u_sent)

问题是它还删除了一些独特的句子。你知道用python做这件事的其他方法吗?

我建议使用像NLTK这样的著名库来拆分文本数据。在对示例文本运行代码时,我得到了以下结果:

输入:
'这是一个示例。这是另一个。这是第三个。这是一个例子。这是一个示例。“

输出:
。这是一个示例。这是第三个。这是一个例子。这是另一个

但当我使用NLTK库使用以下代码拆分句子时,我得到了预期的结果:

from nltk.tokenize import sent_tokenize
import nltk
nltk.download('punkt')
unique_sentences = set(sent_tokenize(data))
输出:
{'这是另一个','这是第三个','这是一个示例。}

此外,如果您关心句子的顺序,可以使用以下方法获得唯一的句子:

from collections import OrderedDict
unique_ordered = list(OrderedDict.fromkeys(sent_tokenize(data)))
output = ' '.join(unique_ordered)
输出:
这是一个示例。这是另一个。这是第三个。