使用samppipe提取非英文文章

ped*_*lva 6 html java text-extraction

我正在尝试使用boilerpipe java库,从一组网站中提取新闻文章.它适用于英语文本,但对于带有特殊字符的文本,例如带有重音符号(história)的单词,此特殊字符无法正确提取.我认为这是一个编码问题.

在boilerpipe faq中,它说"如果你提取非英文文本,你可能需要更改一些参数",然后引用一篇论文.我在本文中找不到任何解决方案.

我的问题是,在使用套管管时我可以指定编码吗?有没有办法绕过并正确获取文本?

我如何使用该库:(基于URL的第一次尝试):

URL url = new URL(link);
String article = ArticleExtractor.INSTANCE.getText(url);
Run Code Online (Sandbox Code Playgroud)

(关于HTLM源代码的第二个)

String article = ArticleExtractor.INSTANCE.getText(html_page_as_string);
Run Code Online (Sandbox Code Playgroud)

ped*_*lva 1

好的,找到解决方案了。正如 Andrei 所说,我必须更改 HTMLFecther 类,该类位于 de.l3s.boilerpipe.sax 包中。我所做的是将所有获取的文本转换为 UTF-8。在获取函数的末尾,我必须添加两行,并更改最后一行:

final byte[] data = bos.toByteArray(); //stays the same
byte[] utf8 = new String(data, cs.displayName()).getBytes("UTF-8"); //new one (convertion)
cs = Charset.forName("UTF-8"); //set the charset to UFT-8
return new HTMLDocument(utf8, cs); // edited line
Run Code Online (Sandbox Code Playgroud)