Giter Site home page Giter Site logo

factcheck's Introduction

FactCheck

This repository contains code to reproduce the results presented in the paper FactCheck: Validating RDF Triples Using Textual Evidence.

FactCheck is an algorithm that is used to validate triples i.e., <s, p, o> from a given Knowledge base KB. It does this by finding textual evidences from the Web or given reference corpus and use them to classify a triple as correct or incorrect.

FactCheck is modularized and contains the following three component:

  1. factcheck-demo is Front-end which lets users to enter subject, predicate and object or a (ttl) file and submit to factcheck-service.

  2. factcheck-service is a Spring RESTful web service for Factcheck which requires an object, predicate and subject to be specified in the JSON request. The API returns the total score as well as proof sentences and their corresponding scores.

  3. factcheck-core contain the core algorithm that is used to validate a given triple. The algorithm is developed as a framework and can be adapted to use various state-of-the-art classification techcniques available in WEKA. The algorithm can be used independently.

Detailed instructions on installation and usage is described under each module. Additionally, all the links to external datasets, corpora are provided.

factcheck's People

Contributors

fahad-anwar avatar zafarsyed avatar danishahmed92 avatar vineete2 avatar oshando avatar michaelroeder avatar firmao avatar angular-cli avatar lukasbluebaum avatar

Stargazers

 avatar Donghyun Kim avatar Gustavo Zomer avatar Jason Dou avatar  avatar Rakshit Krishnappa Ravi avatar Kaarthik Rao Bekal Radhakrishna avatar Axel Ngonga avatar  avatar

Watchers

René Speck avatar James Cloos avatar Ivan Ermilov avatar Axel Ngonga avatar  avatar Rricha avatar  avatar

factcheck's Issues

Demo could include crawlable fact check results

Description

As the owner of a FactCheck demo, I would like to make my results available to other services. This might be done via crawlable data as described at https://developers.google.com/search/docs/data-types/factcheck

The meta data could be provided together with the provenance of the demo (e.g., "Fact Checked by DICE Research (automatic)")

Solution

  • offer permanent URLs that can be used to get results of former checks
    • URIs could be based on a REST API and a small DB that stores the fact check results
  • make these URLs available so that other services can access them.

Running FactCheck

I've been trying to run factcheck on my local pc but i cant get it to work properly.

I've followed the steps as in the instructions of the core.

I indexed wikipedia using elasticsearch instead of using the bing api.

To run the defactodemo i imported the project into eclipse and ran the maven install then configured the run configuration to run the DefactoDemo. But i get the following error. NOTE: i want to use the local copy of wikipedia like stated in step 4 of the usage instructions

Could not execute query: org.apache.solr.client.solrj.SolrServerException: Server refused connection at: http://139.18.2.164:8080/solr/boa_en
org.apache.solr.client.solrj.SolrServerException: Server refused connection at: http://139.18.2.164:8080/solr/boa_en
at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:583)
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:241)
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:230)
at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:149)
at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:942)
at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:957)
at org.aksw.defacto.boa.BoaPatternSearcher.querySolrIndex(BoaPatternSearcher.java:126)
at org.aksw.defacto.boa.BoaPatternSearcher.getNaturalLanguageRepresentations(BoaPatternSearcher.java:62)
at org.aksw.defacto.search.query.QueryGenerator.generateSearchQueries(QueryGenerator.java:81)
at org.aksw.defacto.search.query.QueryGenerator.getSearchEngineQueries(QueryGenerator.java:57)
at org.aksw.defacto.Defacto.checkFact(Defacto.java:105)
at org.aksw.defacto.Defacto.checkFacts(Defacto.java:200)
at org.aksw.defacto.DefactoDemo.main(DefactoDemo.java:45)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:254)
at java.base/java.lang.Thread.run(Thread.java:830)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.base/sun.nio.ch.Net.connect0(Native Method)
at java.base/sun.nio.ch.Net.connect(Net.java:493)
at java.base/sun.nio.ch.Net.connect(Net.java:482)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:339)
at java.base/java.net.Socket.connect(Socket.java:603)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:120)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:179)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:328)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:612)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:447)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:884)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:482)
... 14 more

running service

i have tried to run the service through the url 'http://localhost:8080/api/execTask/', but inside the code, there would be send a POST request. Is there only need two parameters? 'id' and 'filedata'. And how can i know what the string variable 'filedata' looks like?

Where is the core scoring algorithm?

I'd like to change the code from java to python for batch testing of knowledge, just using your scoring function. The ternary with the corresponding textual evidence I'll crawl from Wikipedia. Could you please tell me the core scoring and how to use it, preferably to be able to test quaternions (i.e. knowledge that contains temporal attributes). Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.