2017-06-12 145 views
0

我试图从新闻网站提取主体内容&博客。Google Cloud Natural Language API实际上是否支持解析HTML?

该文档使它看起来好像documents.analyzeSyntax将通过与content传递一个document作为页面的原始HTML(UTF-8)和文档的type设置为HTML与HTML正常工作。文档绝对包含HTML作为支持的内容类型。

然而,实际上,生成的句子和标记与HTML标签混杂在一起,就好像分析器认为输入是纯文本一样。就目前而言,这为我的用例排除了GC NL API,推测很多其他人通过自然语言处理网页是一项非常普遍的任务。

作为参考,这里是一个example由Dandelion API输出类型的人会期望给定的HTML输入(或者更确切地说,在这种情况下,一个HTML页面的URL作为输入)。

那么我的问题是我错过了什么,可能是错误地调用了API,还是NL API不支持HTML?

回答

1

是的。

不知道你用什么语言,但下面是使用客户端库在python一个例子:

from google.cloud import language 

client = language.Client() 

# document of type PLAIN_TEXT 
text = "hello" 
document_text = client.document_from_text(text) 
syntax_text = document_text.analyze_syntax() 

print("\n\ndocument of type PLAIN_TEXE:") 
for token in syntax_text.tokens: 
    print(token.__dict__) 

# document of type HTML 
html = "<p>hello</p>" 
document_html = client.document_from_html(html) 
syntax_html = document_html.analyze_syntax() 

print("\n\ndocument of type HTML:") 
for token in syntax_html.tokens: 
    print(token.__dict__) 

# document of type PLAIN_TEXT but should be HTML 
document_mismatch = client.document_from_text(html) 
syntax_mismatch = document_mismatch.analyze_syntax() 

print("\n\ndocument of type PLAIN_TEXT but with HTML content:") 
for token in syntax_mismatch.tokens: 
    print(token.__dict__) 

这对我的作品在html标签<p></p>不会被处理自然语言。

如果你去通过在this page,你可以迅速与gcloud命令行工具实验的设置步骤:

gcloud beta ml language analyze-syntax --content="<p>hello</p>" --content-type="HTML"

相关问题