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...
Gespeichert in:
Veröffentlicht in: | Automated software engineering 2017-12, Vol.24 (4), p.839-861 |
---|---|
Hauptverfasser: | , , |
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 & Engineering Collection</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies & 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 & Aerospace Database</collection><collection>ProQuest Advanced Technologies & 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 |