定义单词的语境 - Python
我觉得这个问题挺有意思的,至少对我来说是这样。
我有一份单词列表,比如说:
照片、免费、搜索、图像、css3、css、教程、网页设计、教程、谷歌、中国、审查、政治、互联网
还有一份上下文列表:
- 编程
- 世界新闻
- 科技
- 网页设计
我需要尝试把这些单词和合适的上下文匹配起来,如果可能的话。
也许可以以某种方式发现单词之间的关系。
有什么想法吗?
非常感谢任何帮助!
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均值算法比较慢,所以你可以尝试用一些技术来优化它,比如奇异值分解。