java - JSOUP 查找词组

标签 java html-parsing jsoup

对于一项家庭作业,我必须编写一个程序,从网站中删除 HTML,然后以某种方式在网站中查找短语。当我说短语时,我指的是某种组织文本的任意方式,以便将彼此接近的单词放在同一组中。我知道这听起来确实不清楚,但作业指出我们如何做到这一点取决于我们自己对如何查找“短语”的解释。

目前我的代码如下:

Document doc = Jsoup.connect("http://oracle.com/").get();
String html = doc.body().toString();

System.out.println(html); 

这将为我在解析所有 html 时提供一些网页上出现的所有不同单词的不错的打印输出。

我的主要问题是我想不出一种方法来解析 HTML,以便我可以以某种方式将这些任意组组合在一起(并且我不知道我可以使用什么样的标准来任意形成这些单词“组”)。

我知道这个问题听起来很糟糕,但我不知道还能怎样表达它,而且我真的不知道我能做什么。给我的作业非常不清楚,当要求澄清时,我的教授只是告诉我自己解释一下。我想知道是否有人对如何解析 html 有任何想法,以便可以像我现在的当前输出一样过滤掉彼此接近的单词(可能在类似的 html 标签或其他内容中),除了在每个“短语”之后可能有一个换行符或我可以解析的东西。

感谢您的任何想法或建议。

最佳答案

您正在寻找的是一个名为 stemming 的概念。 。来自维基百科

A stemmer for English, for example, should identify the string "cats" (and possibly "catlike", "catty" etc.) as based on the root "cat", and "stemmer", "stemming", "stemmed" as based on "stem". A stemming algorithm reduces the words "fishing", "fished", "fish", and "fisher" to the root word, "fish".

您可以为此提供一个简单的强力实现。另请查看 Lucene 中的词干算法实现和OpenNLP

关于java - JSOUP 查找词组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8451801/

相关文章:

java - 使用ANTLR进行多重解析

c# - 获取 html 标签 Xpath 和 HtmlAgility 之间的值

google-chrome-extension - 使用jquery进行解析导致Chrome扩展中的图像网络流量?

java - JSoup - 只选择一个列表对象

java - 1-2秒内同时建立50+ URL连接

java - JButton 上的阴影/重复文本

java - 实现接口(interface)的抽象类有什么用

java - Java中codingBat的twoTwo谜语解答

html - iOS 在服务器端 javascript 运行后解析 html

android - 发布 JSOUP 文档以登录网站