Nlp 谷歌云自然语言API真的支持解析HTML吗?
我试图从新闻网站和博客中提取主体内容 这些文档使它看起来像是Nlp 谷歌云自然语言API真的支持解析HTML吗?,nlp,google-cloud-nl,Nlp,Google Cloud Nl,我试图从新闻网站和博客中提取主体内容 这些文档使它看起来像是文档。analyzeSyntax通过传递文档,将内容作为页面的原始HTML(utf-8)和文档的类型设置为HTML,与HTML一样工作。这些文档肯定包含HTML作为受支持的内容类型 然而,在实践中,结果语句和标记被HTML标记弄乱了,就好像解析器认为输入是纯文本一样。目前,这排除了我的用例中的GC-NL-API,也可能排除了其他许多用例中的GC-NL-API,因为通过自然语言处理web页面是一项非常常见的任务 作为参考,这里有一个蒲公英
文档。analyzeSyntax
通过传递文档
,将内容
作为页面的原始HTML(utf-8)和文档的类型
设置为HTML
,与HTML一样工作。这些文档肯定包含HTML作为受支持的内容类型
然而,在实践中,结果语句和标记被HTML标记弄乱了,就好像解析器认为输入是纯文本一样。目前,这排除了我的用例中的GC-NL-API,也可能排除了其他许多用例中的GC-NL-API,因为通过自然语言处理web页面是一项非常常见的任务
作为参考,这里有一个蒲公英API,它的输出类型是给定HTML输入(或者在本例中是作为输入的HTML页面的URL)所期望的
那么,我的问题是,我是否遗漏了一些东西,可能是错误地调用了API,还是NL API不支持HTML?是的
不确定您使用的是哪种语言,但下面是使用客户机库的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__)
来自google.cloud导入语言
client=language.client()
#纯文本类型的文档
text=“你好”
document_text=客户端。document_from_text(text)
语法\文本=文档\文本。分析\语法()
打印(“\n\n纯文本类型的文档:”)
对于syntax_text.tokens中的令牌:
打印(令牌.\uuuu命令\uuuuu)
#HTML类型的文档
html=“你好”
document\u html=客户端。document\u from\u html(html)
syntax\u html=document\u html.analyze\u syntax()
打印(“\n\n HTML类型的文档:”)
对于syntax_html.tokens中的令牌:
打印(令牌.\uuuu命令\uuuuu)
#纯文本类型的文档,但应为HTML
document\u mismatch=客户端。document\u from\u文本(html)
语法不匹配=文档不匹配。分析语法()
打印(“\n\n纯文本类型但包含HTML内容的文档:”)
对于syntax_.tokens中的令牌:
打印(令牌.\uuuu命令\uuuuu)
这对我来说很有用,因为html标记
和
不是作为自然语言处理的
如果您完成了上的设置步骤,您可以快速试用gcloud
命令行工具:
gcloud beta-ml语言分析语法--content=“hello”--content type=“HTML”