Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中定义基于语法的规则和推理_Android_Rdf_Ontology_Inference Engine - Fatal编程技术网

在android中定义基于语法的规则和推理

在android中定义基于语法的规则和推理,android,rdf,ontology,inference-engine,Android,Rdf,Ontology,Inference Engine,我必须从某个来源收集信息,并根据某些规则对信息进行分类。输入将是一个文本文件。 如: “Raj喜欢吃巧克力。Rohan喜欢花。Ravi很受欢迎。” 从我学到的到现在为止,我们可以根据名词短语、动词短语等标记文本。 因此,我计划首先标记文本。现在我想定义如下规则: 如果名词短语出现在“love*”之后,则将巧克力添加到列表中。 同样地, 如果名词短语出现在“like*”之后,则将花添加到列表中 现在,为了分类,我将创建一个RDF来定义巧克力和鲜花的类和个体 我的问题是 1.如何在Android中定

我必须从某个来源收集信息,并根据某些规则对信息进行分类。输入将是一个文本文件。 如: “Raj喜欢吃巧克力。Rohan喜欢花。Ravi很受欢迎。”

从我学到的到现在为止,我们可以根据名词短语、动词短语等标记文本。 因此,我计划首先标记文本。现在我想定义如下规则:

如果名词短语出现在“love*”之后,则将巧克力添加到列表中。 同样地, 如果名词短语出现在“like*”之后,则将花添加到列表中

现在,为了分类,我将创建一个RDF来定义巧克力和鲜花的类和个体

我的问题是 1.如何在Android中定义基于语法的规则? 2.在获得名词短语后,我如何将这些名词分类到RDF中定义的项目类别下


谢谢。

我想你问的是如何编程,而不是如何使用Android作为操作系统

不幸的是,java中没有适用于Android的语法工具,您必须使用自然语言的解析器(请参阅,还有一个用于编程的API)。
像YACC、BISON、ANTLR或类似的解析器(通过谷歌搜索这些术语,你会得到很多信息)对你没有好处,因为它们需要明确的语法,而自然语言就是明确的


如果输入相对简单,则应该考虑使用某种正则表达式解析和分类。它更简单,更容易实现。Java确实支持正则表达式的所有类型的字符串操作。

您是否需要进行语法分析来提取名词,或者您是否假设如果一个短语在动词之后继续,那么某处就有一个名词?这些名词是否仅限于您拥有的某个名词列表?我将使用标记器提取这些名词。我需要提取的名词将是常见的,如花、巧克力等,稍后将与RDF属性匹配。但是,如果有一个语义分析器,它也会很棒。这将提高系统的准确性我们有类似的android离线解析器吗?在线解析器非常有用。我可以解析文本,然后使用正则表达式和OWL来完成工作。Thanks@rohitminni实际上,在我的答案的链接页面中,第二个“here”链接向您展示了如何从自己的网页javascript代码中使用它。我没有详细讨论它,但也许这就是你要找的。@Rohitmini还有,在Standford解析器的主页上(参见上面的链接,你会找到它),除了能够下载解析器本身之外,你还有一些关于Java和其他语言扩展的有趣参考。