定义单词的语境 - Python

6 投票
4 回答
1368 浏览
提问于 2025-04-15 20:45

我觉得这个问题挺有意思的,至少对我来说是这样。


我有一份单词列表,比如说:

照片、免费、搜索、图像、css3、css、教程、网页设计、教程、谷歌、中国、审查、政治、互联网

还有一份上下文列表

  • 编程
  • 世界新闻
  • 科技
  • 网页设计

我需要尝试把这些单词和合适的上下文匹配起来,如果可能的话。

也许可以以某种方式发现单词之间的关系。

alt text


有什么想法吗?

非常感谢任何帮助!

4 个回答

2

我几天前发现了这个网站:ConceptNet

它是一个常识本体,也就是说它可能没有你想要的那么具体,但它提供了一个Python的接口,你还可以下载他们的整个数据库(目前解压后大约1GB)。不过要记得查看他们的许可限制

如果你阅读一下开发团队发布的论文,你可能会获得一些关于如何将你的词汇与概念或上下文关联的想法。

2

这些词是从哪里来的呢?它们是来自真实的文本吗?如果是的话,那就是一个经典的数据挖掘问题。你需要把你的文档整理成一个矩阵,行表示每个单词来自哪个文档,列则表示文档中的单词。

举个例子,如果你有两个文档,内容如下:

D1: 需要找出意思。
D2: 需要把苹果和橙子分开。

那么你的矩阵会是这样的:

      Need to find meaning Apples Oranges Separate From
D1:   1     1   1     1      0      0       0       0
D2:   1     1   0     0      1      1       1       1

这个叫做“词-文档矩阵”。

收集到这些统计数据后,你可以使用像K均值这样的算法来把相似的文档分到一起。因为你已经知道有多少个概念,所以你的任务会简单一些。K均值算法比较慢,所以你可以尝试用一些技术来优化它,比如奇异值分解

3

这听起来更像是一个分类或者本体问题,而不是自然语言处理(NLP)。你可以试试WordNet,这是一个标准的本体库。

我觉得你提到的问题里没有真正的自然语言处理,但如果你需要一些语义分析或者解析器,可以试试NLTK

撰写回答