Python 在文档中查找独特的句子
我有一个约30万句的文本语料库。我只想有唯一的句子,这意味着如果我有一个句子的频率是两倍,我只想有一个 这是我在python 3中尝试的: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这样的著名库来拆分文本数据
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)
输出:这是一个示例。这是另一个。这是第三个。