NLCI: a natural language command interpreter

Natural language interfaces are becoming more and more common, because they are powerful and easy to use. Examples of such interfaces are voice controlled navigation devices, Apple’s personal assistant Siri, Google Voice Search, and translation services. However, such interfaces are extremely diffic...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Automated software engineering 2017-12, Vol.24 (4), p.839-861
Hauptverfasser: Landhäußer, Mathias, Weigelt, Sebastian, Tichy, Walter F.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 861
container_issue 4
container_start_page 839
container_title Automated software engineering
container_volume 24
creator Landhäußer, Mathias
Weigelt, Sebastian
Tichy, Walter F.
description Natural language interfaces are becoming more and more common, because they are powerful and easy to use. Examples of such interfaces are voice controlled navigation devices, Apple’s personal assistant Siri, Google Voice Search, and translation services. However, such interfaces are extremely difficult to build, to maintain, and to port to new domains. We present an approach for building and porting such interfaces quickly. NLCI is a natural language command interpreter that accepts action commands in English and translates them into executable code. The core component is an ontology that models an API. Once the API is “ontologized”, NLCI translates input sentences into sequences of API calls that implement the intended actions. Two radically different APIs were ontologized: openHAB for home automation and Alice for building 3D animations. Construction of the ontology can be automated if the API uses descriptive names for its components. In that case, the language interface can be generated completely automatically. Recall and precision of NLCI on a benchmark of 50 input scripts are 67 and 78 %, resp. Though not yet acceptable for practical use, the results indicate that the approach is feasible. NLCI accepts typed input only. Future work will use a speech front-end to test spoken input.
doi_str_mv 10.1007/s10515-016-0202-1
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2918203722</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2918203722</sourcerecordid><originalsourceid>FETCH-LOGICAL-c429t-e1c444c32eea874f73eb4aba9e836e9bf724f6b1519e59ffe0ac87e782aab2a73</originalsourceid><addsrcrecordid>eNp1kD1PwzAQhi0EEqXwA9gisWK4c-zYZkMVH5UqWGC2LuFctWqTYicD_56gIDGx3Lu8z3vSI8Qlwg0C2NuMYNBIwEqCAiXxSMzQ2FJaU5pjMQOvnHQe4VSc5bwFAF95PxPXL6vF8q6goqV-SLQrdtSuB1pz0XT7PbUfxabtOR0Sj_dcnETaZb74zbl4f3x4WzzL1evTcnG_ko1WvpeMjda6KRUzOaujLbnWVJNnV1bs62iVjlWNBj0bHyMDNc6ydYqoVmTLubiadg-p-xw492HbDakdXwbl0SkorVJjC6dWk7qcE8dwSJs9pa-AEH6khElKGKWEHykBR0ZNTB677ZrT3_L_0Df9Q2M8</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2918203722</pqid></control><display><type>article</type><title>NLCI: a natural language command interpreter</title><source>SpringerNature Journals</source><source>ProQuest Central UK/Ireland</source><source>ProQuest Central</source><creator>Landhäußer, Mathias ; Weigelt, Sebastian ; Tichy, Walter F.</creator><creatorcontrib>Landhäußer, Mathias ; Weigelt, Sebastian ; Tichy, Walter F.</creatorcontrib><description>Natural language interfaces are becoming more and more common, because they are powerful and easy to use. Examples of such interfaces are voice controlled navigation devices, Apple’s personal assistant Siri, Google Voice Search, and translation services. However, such interfaces are extremely difficult to build, to maintain, and to port to new domains. We present an approach for building and porting such interfaces quickly. NLCI is a natural language command interpreter that accepts action commands in English and translates them into executable code. The core component is an ontology that models an API. Once the API is “ontologized”, NLCI translates input sentences into sequences of API calls that implement the intended actions. Two radically different APIs were ontologized: openHAB for home automation and Alice for building 3D animations. Construction of the ontology can be automated if the API uses descriptive names for its components. In that case, the language interface can be generated completely automatically. Recall and precision of NLCI on a benchmark of 50 input scripts are 67 and 78 %, resp. Though not yet acceptable for practical use, the results indicate that the approach is feasible. NLCI accepts typed input only. Future work will use a speech front-end to test spoken input.</description><identifier>ISSN: 0928-8910</identifier><identifier>EISSN: 1573-7535</identifier><identifier>DOI: 10.1007/s10515-016-0202-1</identifier><language>eng</language><publisher>New York: Springer US</publisher><subject>Application programming interface ; Artificial Intelligence ; Automation ; Computer Science ; Interpreters ; Natural language ; Natural language processing ; Navigation systems ; Ontology ; Search engines ; Software Engineering/Programming and Operating Systems ; Voice control</subject><ispartof>Automated software engineering, 2017-12, Vol.24 (4), p.839-861</ispartof><rights>Springer Science+Business Media New York 2016</rights><rights>Springer Science+Business Media New York 2016.</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c429t-e1c444c32eea874f73eb4aba9e836e9bf724f6b1519e59ffe0ac87e782aab2a73</citedby><cites>FETCH-LOGICAL-c429t-e1c444c32eea874f73eb4aba9e836e9bf724f6b1519e59ffe0ac87e782aab2a73</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/s10515-016-0202-1$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://www.proquest.com/docview/2918203722?pq-origsite=primo$$EHTML$$P50$$Gproquest$$H</linktohtml><link.rule.ids>314,780,784,21388,27924,27925,33744,41488,42557,43805,51319,64385,64389,72469</link.rule.ids></links><search><creatorcontrib>Landhäußer, Mathias</creatorcontrib><creatorcontrib>Weigelt, Sebastian</creatorcontrib><creatorcontrib>Tichy, Walter F.</creatorcontrib><title>NLCI: a natural language command interpreter</title><title>Automated software engineering</title><addtitle>Autom Softw Eng</addtitle><description>Natural language interfaces are becoming more and more common, because they are powerful and easy to use. Examples of such interfaces are voice controlled navigation devices, Apple’s personal assistant Siri, Google Voice Search, and translation services. However, such interfaces are extremely difficult to build, to maintain, and to port to new domains. We present an approach for building and porting such interfaces quickly. NLCI is a natural language command interpreter that accepts action commands in English and translates them into executable code. The core component is an ontology that models an API. Once the API is “ontologized”, NLCI translates input sentences into sequences of API calls that implement the intended actions. Two radically different APIs were ontologized: openHAB for home automation and Alice for building 3D animations. Construction of the ontology can be automated if the API uses descriptive names for its components. In that case, the language interface can be generated completely automatically. Recall and precision of NLCI on a benchmark of 50 input scripts are 67 and 78 %, resp. Though not yet acceptable for practical use, the results indicate that the approach is feasible. NLCI accepts typed input only. Future work will use a speech front-end to test spoken input.</description><subject>Application programming interface</subject><subject>Artificial Intelligence</subject><subject>Automation</subject><subject>Computer Science</subject><subject>Interpreters</subject><subject>Natural language</subject><subject>Natural language processing</subject><subject>Navigation systems</subject><subject>Ontology</subject><subject>Search engines</subject><subject>Software Engineering/Programming and Operating Systems</subject><subject>Voice control</subject><issn>0928-8910</issn><issn>1573-7535</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2017</creationdate><recordtype>article</recordtype><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><sourceid>GNUQQ</sourceid><recordid>eNp1kD1PwzAQhi0EEqXwA9gisWK4c-zYZkMVH5UqWGC2LuFctWqTYicD_56gIDGx3Lu8z3vSI8Qlwg0C2NuMYNBIwEqCAiXxSMzQ2FJaU5pjMQOvnHQe4VSc5bwFAF95PxPXL6vF8q6goqV-SLQrdtSuB1pz0XT7PbUfxabtOR0Sj_dcnETaZb74zbl4f3x4WzzL1evTcnG_ko1WvpeMjda6KRUzOaujLbnWVJNnV1bs62iVjlWNBj0bHyMDNc6ydYqoVmTLubiadg-p-xw492HbDakdXwbl0SkorVJjC6dWk7qcE8dwSJs9pa-AEH6khElKGKWEHykBR0ZNTB677ZrT3_L_0Df9Q2M8</recordid><startdate>20171201</startdate><enddate>20171201</enddate><creator>Landhäußer, Mathias</creator><creator>Weigelt, Sebastian</creator><creator>Tichy, Walter F.</creator><general>Springer US</general><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L6V</scope><scope>M7S</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PTHSS</scope></search><sort><creationdate>20171201</creationdate><title>NLCI: a natural language command interpreter</title><author>Landhäußer, Mathias ; Weigelt, Sebastian ; Tichy, Walter F.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c429t-e1c444c32eea874f73eb4aba9e836e9bf724f6b1519e59ffe0ac87e782aab2a73</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2017</creationdate><topic>Application programming interface</topic><topic>Artificial Intelligence</topic><topic>Automation</topic><topic>Computer Science</topic><topic>Interpreters</topic><topic>Natural language</topic><topic>Natural language processing</topic><topic>Navigation systems</topic><topic>Ontology</topic><topic>Search engines</topic><topic>Software Engineering/Programming and Operating Systems</topic><topic>Voice control</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Landhäußer, Mathias</creatorcontrib><creatorcontrib>Weigelt, Sebastian</creatorcontrib><creatorcontrib>Tichy, Walter F.</creatorcontrib><collection>CrossRef</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Advanced Technologies &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>Engineering Collection</collection><jtitle>Automated software engineering</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Landhäußer, Mathias</au><au>Weigelt, Sebastian</au><au>Tichy, Walter F.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>NLCI: a natural language command interpreter</atitle><jtitle>Automated software engineering</jtitle><stitle>Autom Softw Eng</stitle><date>2017-12-01</date><risdate>2017</risdate><volume>24</volume><issue>4</issue><spage>839</spage><epage>861</epage><pages>839-861</pages><issn>0928-8910</issn><eissn>1573-7535</eissn><abstract>Natural language interfaces are becoming more and more common, because they are powerful and easy to use. Examples of such interfaces are voice controlled navigation devices, Apple’s personal assistant Siri, Google Voice Search, and translation services. However, such interfaces are extremely difficult to build, to maintain, and to port to new domains. We present an approach for building and porting such interfaces quickly. NLCI is a natural language command interpreter that accepts action commands in English and translates them into executable code. The core component is an ontology that models an API. Once the API is “ontologized”, NLCI translates input sentences into sequences of API calls that implement the intended actions. Two radically different APIs were ontologized: openHAB for home automation and Alice for building 3D animations. Construction of the ontology can be automated if the API uses descriptive names for its components. In that case, the language interface can be generated completely automatically. Recall and precision of NLCI on a benchmark of 50 input scripts are 67 and 78 %, resp. Though not yet acceptable for practical use, the results indicate that the approach is feasible. NLCI accepts typed input only. Future work will use a speech front-end to test spoken input.</abstract><cop>New York</cop><pub>Springer US</pub><doi>10.1007/s10515-016-0202-1</doi><tpages>23</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0928-8910
ispartof Automated software engineering, 2017-12, Vol.24 (4), p.839-861
issn 0928-8910
1573-7535
language eng
recordid cdi_proquest_journals_2918203722
source SpringerNature Journals; ProQuest Central UK/Ireland; ProQuest Central
subjects Application programming interface
Artificial Intelligence
Automation
Computer Science
Interpreters
Natural language
Natural language processing
Navigation systems
Ontology
Search engines
Software Engineering/Programming and Operating Systems
Voice control
title NLCI: a natural language command interpreter
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-27T21%3A46%3A12IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=NLCI:%20a%20natural%20language%20command%20interpreter&rft.jtitle=Automated%20software%20engineering&rft.au=Landh%C3%A4u%C3%9Fer,%20Mathias&rft.date=2017-12-01&rft.volume=24&rft.issue=4&rft.spage=839&rft.epage=861&rft.pages=839-861&rft.issn=0928-8910&rft.eissn=1573-7535&rft_id=info:doi/10.1007/s10515-016-0202-1&rft_dat=%3Cproquest_cross%3E2918203722%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2918203722&rft_id=info:pmid/&rfr_iscdi=true