对于一项家庭作业,我必须编写一个程序,从网站中删除 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".
关于java - JSOUP 查找词组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8451801/