Java-Dbpedia提取框架-如何剥离MediaWiki格式标记
作者:互联网
我在玩dbpedia提取框架.看起来非常好,我很高兴为维基百科页面构建AST,并提取链接(使用WikiParser).但是,尽管我从解析中得到了一棵漂亮的结构树,但我注意到文本节点仍然包含许多格式标记(例如用于斜体化,粗体显示的撇号).出于我的目的,这些没有帮助-我只需要纯文本.
我可以花一些时间编写自己的代码以消除这种情况,但是我想这样的事情对dbpedia很有用-并且它存在于库中的某个位置.我对吗?如果是这样-剥离成裸文本的额外功能在哪里?
否则-是否有人知道其他任何软件包(最好是Scala)来剥离MediaWiki标记?
编辑
响应更详细的要求.以下标记:
''An italicised '''bit''' of text'', <b>Some markup</b>
通过dbpedia作为TextNode的内容出现,但未更改.我希望能够将其简化为:
An italicised bit of text, Some markup
或者可能是具有更多结构化的AST,其带有代表原始文本各部分的附加节点,也许在每个节点上都标注了要应用的格式类型(例如,斜体,粗体等).
照原样,dbpedia解析的最终结果仍然充满了标记.
希望能有所帮助.
解决方法:
因此,快速浏览sourceforge上的SimpleWikiParser source code可以发现,从2011年1月29日开始,解析器将处理以下实体:
>评论
>参考
>代码块
>内部链接和外部链接
>属性
>表格.
大概所有Wiki其他内容都以TextNode对象结尾.看看wiki markup feature set,将需要大量的工作来剥离Wiki语法元素,更不用说将它们进一步转换为结构化元素了.
对于替代或您可以利用的代码,请查看下面的Alternate Parsers页面.
对于一个自包含但不完善的解决方案,您可以在node.text上执行一堆正则表达式替换.
标签:scala,dbpedia,mediawiki-templates,java 来源: https://codeday.me/bug/20191208/2093079.html