我想要一些方法来确定两个网页是否在语义上相关。我搜索了一下,发现了一个叫做WordNet(一个大的词法数据库)的东西。我想知道如何使用python和WordNet完成此操作?如何使用wordnet查找两个网页之间的语义关系?
0
A
回答
4
做的最简单,最原始的方式,这将是:
从每个页面提取前N项(关键字)(可通过频率的前N项,不包括停止的词语,如简单“ a,the,an'in English)。这将为您提供每个页面的功能集。
比较页面之间重叠的顶部术语。您可以使用Wordnet来比较术语的同义词,例如运动鞋< ==>运动鞋。如果你有一定程度的关键字重叠,那么页面在某种程度上是相关的。
编辑:
一种更好的方式来获得关键字的功能集为每个页面将提取统计显著字的每一页。您可以通过从参考文本中获取或编辑(1 2和3个单词)n-grams的列表来完成此操作。 wikipedia),然后计算页面上的单词/短语的n-gram,并比较n-gram与全局n-gram集合中n-gram的出现频率。如果您发现网页上的n-gram发生频率比您期望给出参考语料库的频率更高,那么它们可能在该页面上具有统计显着性。
其中最难的部分是获取或编译参考n-gram(它必须足够大才能在统计上可行),您需要将它与您的网页上的n-gram进行比较。您可以购买谷歌的n-gram语料库,或者可以通过免费下载wikipedia等网站来建立自己的语言。如果你在谷歌环顾四周,其他人可能已经发布了一个免费的n-gram集。
1
我个人并没有使用过它,但我听说NLTK (Natural Language Toolkit)库对于这些类型的语言分析任务可以提供很大的帮助。除了大量的语言语料库和其他数据集以帮助您入门之外,他们还有许多不错的文档和教程。
相关问题
- 1. 如何测量两个网页之间的语义关系
- 2. WordNet - 两个单词之间可能存在多个关系?
- 3. 如何使用Sparql查询从wordnet中找到Hypernym关系?
- 4. 使用WordNet来确定两个文本之间的语义相似度?
- 5. 如何定义两个has_many之间的关系:通过模型?
- 6. 如何使用PHPMyAdmin创建两个表之间的关系?
- 7. 查找不同词语之间的语义相似性和关系
- 8. SQL查询找到两个表之间没有关系
- 9. 如何使用ado.net中无法定义两个对象之间的关系EF
- 10. 如何查找两个模型之间的匹配has_and_belongs_to_many关联
- 11. 如何使用UCanAccess在两个表格之间创建关系?
- 12. 使用python nltk来查找两个网页之间的相似性?
- 13. 如何在使用Python的Wordnet中查找相关性
- 14. RoR定义两个模型之间的有意义的关系
- 15. 查找与关系之间的区别
- 16. 如何找到表之间的关系
- 17. 如何使用Rails查找两个对象之间创建的最近关联?
- 18. 如何使SQL两个表之间的关系
- 19. wordnet关系
- 20. 如何使用ODATA查询两个实体之间是否存在关系?
- 21. 如何在两个模型之间做两个has_many/belongs_to关系?
- 22. 如何找到两列之间的相关系数?
- 23. 查找网页内容的语义
- 24. JPA两个类之间的关系
- 25. 两个Datacontext之间的关系
- 26. 两个连接表之间的关系
- 27. JAVA - 两个对象之间的关系
- 28. 两个实体之间的关系
- 29. 主义 - 如何建立一个对一个实体关系之间的两个
- 30. 查找相关文本(两个文本之间的关联)