Cross-Lingual Web API Classification

17
Cross-Lingual Web API Classification and Annotation Maria Maleshkova, Lukas Zilka, Petr Knoth, Carlos Pedrinaci 2nd Workshop on the Multilingual Semantic Web ISWC 201

description

Recent developments on the Web are marked by the growing support for the Linked Data initiative, which encourages government and public organisations, as well as private institutions, to expose their data on the Web. This results in a plentitude of multi-lingual document collections where the original resources are published in the language, in which they are available. The challenges of multilingualism present on the Semantic Web are also reflected in the context of services on the Web, characterised by the rapid increase in popularity and use of Web APIs, as indicated by the growing number of available APIs and the applications built on top of them. Web APIs are commonly described in plain-text as part of Web pages, following no particular guidelines and conforming to no standards, despite some initial approaches in the area. Therefore, API providers publish descriptions in any language they see fit, making the service discovery and the subsequent processing of the documentation challenging tasks. We present a cross-lingual approach that calculates semantic similarity of text to help classify and annotateWeb APIs, based on their textual descriptions. Furthermore, we show how our solution can be implemented as part of SWEET, which is a tool that enables the semi-automated creation of semantic Web API descriptions. In addition, we demonstrate how the cross-lingual approach can be adopted to support the language-independent discovery of Web APIs.

Transcript of Cross-Lingual Web API Classification

Page 1: Cross-Lingual Web API Classification

Cross-Lingual Web API Classification and Annotation

Maria Maleshkova, Lukas Zilka,Petr Knoth, Carlos Pedrinaci

2nd Workshop on the Multilingual Semantic WebISWC 201

Page 2: Cross-Lingual Web API Classification

Services on the Web

• “Classical “ Web services (WSDL, SOAP, WS-*)– Enable the publishing and consuming

of functionalities of existing applications

• Web APIs– Enable the access to collections of

resources + =

Page 3: Cross-Lingual Web API Classification

Why Web APIs?

Page 4: Cross-Lingual Web API Classification

Challenges with Web APIs

• There is not a widely used IDL– Only textual documentation (HTML)– Finding services is hard

• Their use requires human interpretation of semi-structured descriptions

• The semantics of the services are not described in a machine-processable manner– Prevents automating discovery, invocation,

and composition of Web APIs

Page 5: Cross-Lingual Web API Classification

Lightweight Semantics hRESTS and MicroWSMO

"There's usually an HTML page"• Identifying machine-readable parts

– Service, its operations– Resource address, HTTP method– Input/output data format

hRESTS microformat

• MicroWSMO extends hRESTS– model for model references– lifting, lowering

Page 6: Cross-Lingual Web API Classification

Annotation Example

Page 7: Cross-Lingual Web API Classification

Annotation Example

Service

Operation InputParameter

Page 8: Cross-Lingual Web API Classification

Geocoding API

• http://www.geonames.org/export/web-services.html

Page 9: Cross-Lingual Web API Classification

Geocoding API

• http://ondras.zarovi.cz/smap/geokodovani/

Page 10: Cross-Lingual Web API Classification

Explicit Semantic Analysis (ESA)

• EAS – a method for assessing semantic relatedness of two texts

• It represents text as a bag-of-concepts• I uses a background collection

– cross-lingual semantic comparison possible

Adopting ESA for API Classification and Annotation:• ProgrammableWeb as background collection

– Both for API classification and determining relevant annotations

• Text preprocessing– service-specific stop-word removal

• Applying Explicit Semantic Analysis– Obtain categories and central concepts

Page 11: Cross-Lingual Web API Classification

Supporting Cross-Lingual Classification

1. Determine the language of the description

2. Remove stop words and project description in language-specific concepts space of Wikipedia

3. Project the resulting vector in the English Wikipedia concept space

4. Determine the most similar vector from the background collection

5. Determine category based on similarity scores

Page 12: Cross-Lingual Web API Classification

Cross-Lingual API Annotation

1. Determine the language of the description2. Remove stop words and project description in

language-specific concepts space of Wikipedia 3. Project the resulting vector in the English Wikipedia

concept space4. Determine the most similar vector from the

background collection5. Determine central concepts based on most

similarity API- Manually assigned- Automatically derived

Page 13: Cross-Lingual Web API Classification

ImplementationSWEET

Page 14: Cross-Lingual Web API Classification

Approach Implementation

• SWEET’s architecture

Page 15: Cross-Lingual Web API Classification

Future Work

• Harvest the “surrounding" web to help the classier

• Pattern based extraction of useful information

• Ensure quality of the background collection

Page 16: Cross-Lingual Web API Classification

Conclusion

• Finding and using Web APIs is a challenging task

• Need for a cross-lingual support

• We provide– Solution: adoption of the cross-lingual EAS

approach– Implementations and tool realization

Universal cross-lingual approach enabling us to support almost any human language

Page 17: Cross-Lingual Web API Classification

Thank you!Thank you!