在Python NLP中比较集合

2 投票
2 回答
566 浏览
提问于 2025-04-18 03:33

我正在自学Python和自然语言处理,使用的是一个在线教程。

http://www.nltk.org/book/ch01.html#sec-automatic-natural-language-understanding

每个章节结束时都有一些练习题,第一部分我几乎都做完了,只有一道题让我很困惑。

在nltk中,有一个叫set()的函数,它可以从一个列表中提取出所有的单词,并去掉重复的单词。

我们一直在用集合来存储词汇。试试这个Python表达式:set(sent3) < set(text1)。用不同的参数来试试set()。这个表达式有什么作用?你能想到它的实际应用吗?

我用了一些不同的参数来运行代码,但输出结果我就是看不出规律。有没有人知道怎么判断一个集合比另一个集合大?这可能有什么重要性?

谢谢!

2 个回答

-1

这不是用来测试子集的。

我做了一些修改。

sent3 + ['manoj']
text1.count('manoj')  # returns 0
set(sent3) < set(text1)  # returns True but it is not a subset
1

在集合中,< 用来检查一个集合 A 是否是另一个集合 B 的真子集。举个例子,

In [147]: set('ab') < set('abc') 
Out[147]: True

因为 set('ab')set('abc') 的真子集。相对而言,

In [149]: set('abc') < set('abc') 
Out[149]: False

因为 set('abc') 不是它自己的一个 子集。

这个操作符的详细信息可以在 这里找到

撰写回答