Information Extraction based on Named Entity for Tourism Corpus

01/03/2020 ∙ by Chantana Chantrapornchai, et al. ∙ Kasetsart University 0

Tourism information is scattered around nowadays. To search for the information, it is usually time consuming to browse through the results from search engine, select and view the details of each accommodation. In this paper, we present a methodology to extract particular information from full text returned from the search engine to facilitate the users. Then, the users can specifically look to the desired relevant information. The approach can be used for the same task in other domains. The main steps are 1) building training data and 2) building recognition model. First, the tourism data is gathered and the vocabularies are built. The raw corpus is used to train for creating vocabulary embedding. Also, it is used for creating annotated data. The process of creating named entity annotation is presented. Then, the recognition model of a given entity type can be built. From the experiments, given hotel description, the model can extract the desired entity,i.e, name, location, facility. The extracted data can further be stored as a structured information, e.g., in the ontology format, for future querying and inference. The model for automatic named entity identification, based on machine learning, yields the error ranging 8



There are no comments yet.


page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Typical information search in the web requires the text or string matching. When the user searches the information, the search engine returns the relevant documents that contain the matched string. The users need to browse through the associated link to find whether the web site is in the scope of interest, which is very time consuming.

To facilitate the user search, using ontology representation can enable the search to return precise results. The specified keyword may refer to the meaning in the specific domain. For example, consider the word, “clouds”. The typical search matching such a keyword returns the documents referring to similar word such as “sky”. However, when using as “cloud computing”, the meaning is totally different. Also, with the capability of ontology, it can also infer to other relevant information. For example, ”cloud computing” is a sub-field under “computer architecture” . The relevant documents may include the paper in the area such as “operating system”, “distributed system” etc. The proper ontology construction and imported data can lead to the enhanced search features.

It is known that for a given document, extraction data into the ontology usually required lots of human work. Several previous works have attempted to propose methods for building ontology based on data extraction [2]. Most of the work relied on the web structure documents [7, 1, 9]. The ontology is extracted based on HTML web structure, and the corpus is based on WordNet. For these approaches, the time consuming process is the annotation which is to annotate the type of name entity. In this paper, we target at the tourism domain, and aim to extract particular information helping for ontology data acquisition.

We present the framework for the given named entity extraction. Starting from the web information scraping process, the data are selected based on the HTML tag for corpus building. The data is used for model creation for automatic named entity recognition. The annotation for training data is also based on the tagged corpus. The inputs of model is the sentences along with the tagged entities. We also create word embedding for our domain. The embedding represents the similarity degree of the vocabularies. The embedding can be used to other NLP tasks with these new words such as text summarization.

Ii Backgrounds

In this section, we divide the backgrounds into subsections: first, we give examples of the existing tourism ontology. Next, since we focus on the use of machine learning to extracting relations from documents, we describe the previous work in machine learning and deep learning in natural language processing.

Ii-a Tourism ontology

Lots of tourism ontology were proposed. For example, Mouhim et al. utilized the knowledge management approach for constructing ontology [11]. They created Morocco tourism ontology. The approach considered Mondeca tourism ontology in OnTour [16] proposed by Siorpaes et al. They built the vocabulary from thesaurus obtained from the United Nation World Tourism Organisation (UNWTO). The classes as well as social platform were defined. In [15], the approach for building e-tourism ontology is : NLP and corpus processing which uses POS tagger and syntactic parser, named entity recognition using Gazetter and Transducer, ontology population, and consistency checking stages using OWL2 reasoner.

STI Innsbruck [18] presents the accommodation ontology. The ontology was expanded from GoodRelation vocabulary [20]. It describes hotel rooms, hotels, camping sites, and other types of accommodations, their features, and modeling compound prices as frequently found in the tourism sector. For example, the prices show the weekly cleaning fees or extra charges for electricity in vacation homes based on metered usages. Chaves et al. proposed Hontology which is a multilingual accommodation onotology [3]. They divided into 15 concepts including facility, room type, train type, location, room price, etc. These concepts are similar to QALL-ME [19] as shown in Table I. Among all these, the typical properties are such as name, location, type of accommodation, facility etc. In the paper, we use location and nearby as examples for information extraction.

TABLE I: Concept between Hontology and QALL-ME [19].

Ii-B Machine Learning in NLP

In the past, a rule-based approach is commonly used for NLP tasks such as POS (part-of-speech), NER (named entity recognition), SBD (sentence boundary disambiguation), word sense disambiguation, word segmentation, entity relationship identification, text summarization, text classification, etc. The rule-based approach is very fragile and sensitive to individuals. There are attempts to use machine learning to applied to NLP tasks [10]

. Machine learning is used to learn language features and build a model to solve these tasks. Common models are Naive Bayes, SVM, Random Forest, Decision Tree, Markov model, etc.

In the deep learning, the use of deep network is for the purposed of learning feature. The common model used for this task is Recurrent Neural Network (RNN)


. The RNN captures the previous contexts as states and is used to predict the output (such as next predicted words). RNN can be structured many ways such as stack, grid, as well as bidirection to learn from left and right context. The RNN cell implemented can be LSTM (Long Short Termed Memory) or GRU (Gated Recurrent Unit) to support the choice of forgetting or remembering.

One of the typical model used is Seq2Seq model which applies bidirectional LSTM cells with attention scheme [14]. The example application is abstractive text summarization [23]. On the other hand, the extractive text summarization does not employ machine learning at all. It is based on text ranking approach (similar to page ranking) to select top rank sentences [4]. The text summarization is found to be a popular application for NLP where current approaches is still far from usable results.

Traditional Seq2Seq models have a major drawback since the pretrained weight cannot be reapplied. Recently, Google proposed a pretrained transformer, BERT, which is bidirectional and can be applied to NLP tasks [6]. The concept of the transformer does not rely on shifting the input to the left and to the right. The model construction also considers sentence boundaries and relationship between sentences.

NER is also another basic task that is found to be useful for many applications such as text summarization and word relationship extraction. To discover the named entity of a given type, lots of training data is used. The training data must be annotated with proper tags. POS tagger is the first required one since part-of-speech is useful for discovering types of entity. Other standards of tagging are IO, BIO, BMEWO, and BMEWO+ [5] used to tag positions of token inside word chunks. Tagging process is a tedious task where the automatic process is needed. Machine learning is therefore can be used to do the named entity recognition to help automatic tagging and NER[22]

In the following, tag labels for the named entity type we look for are defined and we training the model for recognizing them. Also, we can train our parser to look for the relation between our entity types. Then, we can extract the desired relation along with the named entity.

Fig. 1: Overall process for creating training model.

Iii Methodology

Figure 1 depicts the overall of the methodology for training model creation. The difficult part is the labeling the data.

Iii-a Data gathering

To prepare the data, we crawl data using Scrapy library ( in Python going through three websites: Tripadvisor, for totally 10,202 hotels, Traveloka, for totally 5,430 hotels, and, for 11,155 hotels. For each website, eight provinces are considered, including Bangkok, Phuket, Chaingmai, Phang-nga, Chonburi, Suratani, Krabi, Prachuap Khiri Khan and for each province, we collect six features, including name, description, address, facility, nearby, review.

Example of the data obtained is as a json:

  [{ "address": "1/1 Moo 5 Baan Koom, Doi
   Angkhang, Tambon Mae Ngon, Amphur Fang ,
    Mon Pin, Fang  District, Chiang Mai,
    Thailand, 50320",
   "description": ",Staying at Angkhang Nature
   Resort is a good choice when you are
   visiting Mon Pin.This hotel is  ....
   "facility": "WiFi in public area,
   Coffee shop,
   "name": "B.M.P. By Freedom Sky",
   "nearby": "Maetaeng Elephant Park,
   Maetamann Elephant Camp,Mae Ngad Dam
   and Reservoir,Moncham",
  "review": "" }
  { ...}]

Iii-B Corpus building

Next, we build the vocabularies which are special keywords in our domain, saved in text files. These keywords can be multiple words or chunks. They are used to tokenize word chunks (multiword tokenizer) for a given sentence. For example, Thong Lor, JW Marriott, Room service etc. they each should be recognized as a single chunk. To build our multiword vocabulary files we extract the values from the json field: ‘name’, ‘location’, ‘nearby’ and ‘facility’.

location facility nearby hotel name all all(nodup)
17,660 17918 18,822 41,168 58,828 37,107
TABLE II: Corpus statistics.

The values in these fields, separated by comma are split and saved into each text file: 1) location, and nearby are saved as location-list.txt 2) name is saved as hotel-name-list.txt 3) facility is saved as facility-list.txt, as in Figure 1 in ”Building vocab”. The number of values for keywords for each json field and total vocabularies for each field are displayed in Table II. Column ‘all (nodup)’ shows the the all combined vocabularies when removing duplicates. Then, multi-word expression tokenizer is built using Python library with nltk.tokenize.mwe.

Iii-C Data preparation and model creation

For creating training data for spaCy (, we have to build the training data in a compatible form as its input. Depending on the goal of training model, the label input data are formed properly. The interested named entities are LOC, ORG, and FACILITY. LOC refers to location or place names. ORG refers to hotel or accommodation names. FACILITY refers to facility types. LOC and ORG are the built-in entity where spaCy is already trained. However, we have to add our vocabulary keywords in since our location name and hotel name (considered as ORG) are specific to our country. For FACILITY, we create our new named entity label for the name of facility in the hotel.

The model is built for recognizing these new entities and keywords. It is trained with our location name, hotel name and facility. To build the training data from our json files, we extract sentences manually from description fields. We cannot use the whole paragraph and annotate them since each paragraph is too long and there are lots of irrelevant sentences/words which can create a lot of noises in training data. Thus, we have to specifically find the sentences that contain these named entities. The sentences are then selected manually from the paragraphs which contains either hotel names, locations, facilities.

The selected sentences are tokenized the sentences and the named entities, according to the corpus are searched for and tagged as LOC, ORG, or FACILITY. The tuple (starting index position, ending index position) for each word chunk in each sentence is recorded for each tagged chunk.

Example of tagging is as following:

’text’: Staying at @ Home Executive Apartment
 is a good choice when
  you are visiting
   Central Pattaya.
’entities’: [(11,37,ORG), (77,92,LOC)]

In this sentence, the text is the extracted sentence from the paragraph. There are two entities, ‘@ Oasis Resort’ which begins at character index 11 ends at index 37 and its type is ORG name (hotel name). ‘Wang Pong’ begins at character index 77 ends at index 92 and its type is LOC.

For BERT, the training data is adjusted as in Figure 2

. We transform the input raw corpus from spaCy to its form. The sentence is split into words and each word is marked with POS tagger. Column ‘Tag’ is our tag name for each word. We have to split the multiword named entity and tagging each word since we have to use BERT tokenizer to convert to word ID before training. In the figure, our hotel name starts at ‘@’, we use the tag B-ORG (begining of ORG) and ‘Home’ is the intermediate word after it (I-ORG). BERT needs to convert the input sentences into lists of word IDs along with the list of label IDs. The lists are padded to equal size before sending them to train.

Fig. 2: BERT training data for NER

Iii-D Train new word embedding

Since we have our new vocabularies for location name, hotel name, and facility, creating representation for these vocabularies will be useful for other related NLP tasks. Available word representations are such as word2vec in, GloVe, containing around 400,000 vocabularies [13], ConceptNet -NumberBatch[17] (containing around 484,556 vocabularies), GoogleNews model [8] (containing 3,000,000 vocabularies) etc.

The existing representation vector for each word can be of varied length: for GloVe 50,100,200,300 , and for BERT, 768 etc. The approach to generate embedding for the new word chunks are 1) tokenize the new raw corpus using our multiword vocabularies 2) create a set of vocabularies (

vocab) from the new raw corpus, (the word is in a vocabulary set if it has a number of occurrences in the document greater than the threshold.) 3) adopt pretrained word model, from existing representation e.g., GloVe, or GoogleNews, etc. 4) intersect vocab and the existing vocabularies in pretrained word model to adopt pretrained weight, 5) train the word model for the vocab.

In our case, we train the embedding from the field ‘desc’ data (called raw corpus) of the json file for our new keywords. Totally, raw corpus contains 5,660,796 characters, 873,682 tokens. The raw corpus is cleaned by removing punctuations and made as lower case just like the multiword vocabularies. Each sentence from raw corpus is tokenized and the number of vocabularies obtained is 2,818 (with the minimum frequency of 7). Finally, we have the new set of vocabularies including our new names, locations, facilities.

Iv Experiments

The experiments are run on Intel 2.6 GHz Core i5 RAM 8 GB for training the models. We report the results into three subsections: The accuracy of NE recognition for spaCy, the accuracy of BERT recognition and the similarity scores of your vocab corpus, then we explain additional pipelines.

All the code and data can be downloaded at

Iv-a SpaCy NE and BERT

We compare three models in building using spaCy. 1) the model to recognize ORG/LOC, 2) the model recognize FA CITY and 3) the model to recognized all ORG/LOC/FACILITY. For model 1), we use raw corpus with annotations only for ORG/LOC, containing 13,019 sentences. For 2), the raw corpus only contains FACILITY sentences, totally, 13,522 rows. For 3), we combine the corpus from 1)+2) to create one model recognizing all entities.

Figure 3 presents loss of the training phase for three models of spaCy.

Fig. 3: Loss values for three models

Training for LOC/ORG has no difficulty at all since ORG/LOG labels are already in the pretrained model of spaCy. We add new words with this label. For FACILITY, we add it as the new tag label and the model is trained to learn this new tag. The loss is higher than LOC/ORG model. Also, when we combine three tags, the total loss are even higher. Note that if we do not manually select sentences containing these named entities, the large raw corpus takes long time to train and the loss is over 1,000.

train test train test train test
#Annotated 46,327 19,787 22,167 9,427 93,661 40,745
#Predicted 70,156 29,873 18,716 7,299 85,867 37387
Diff 23,829 10,086 -3,451 -2,128 -7,794 -3,358
Accuracy (%) 151.43 150.97 84.43 77.42 91.67 91.75
TABLE III: Comparison between predicted and annotated NE using spaCy.

The tagged data is divided into 70% training and 30% testing. Next, Table III shows the correctness between three models. Row ‘Annotated’ is our manual label counts and ‘Predicted’ is the number of NEs predicted. For LOC/ORG, spaCy has the built-in labels for it; thus, it discovers more entities than annotated labels. Thus, the accuracy is higher than 100%. For ‘FACILITY’, the number of predicted labels missed is around 15% for training and 22% for testing. The accuracy is 84% and 77% for training and testing respectively. For LOC/ORG/FAC, the number of missing ones are 8% for training and 8% for testing. The accuracy is around 91 % for both training and testing.

For BERT, the training accuracy is depicted in Table IV, BERT performs well on all the tasks. Origina BERT relies on its tokenizer which includes the token conversion to ID. It cannot tokenizer our special multiword name which are proper noun very well. For example, ‘Central Pattaya’ is tokenized into ‘u’central’, u’pat’, u’##ta’, u’##ya’. which makes our labels wrong starting at position ‘pattaya’. The unknown proper nouns are chopped into portions which makes the labels shift out. According to the paper’s suggestion, this needs to be solved by using own wordpiece tokenizer [21]. We then create our set of own words for training based on raw corpus. The accuracy results are measured based on the number of correct predictions. The results for all cases are around 70%

train test train test train test
Loss 0.019 0.0165 0.375 0.029 0.123 0.109
Accuracy 0.751 0.717 0.859 0.7484 0.736 0.629
F1 0.258 0.346 0.245 0.245 0.287 0.464
TABLE IV: Comparison between predicted and annotated NE using BERT.

Iv-B Extracting training sentences

When crawling the data source, we intend to obtain a list of paragraph describing a particular hotel or hotel review. These information are useful for creating corpus and review summary.

Text summarization is a common techniques used in on basic NLP tasks as well. The extracted summary can be either from abstractive or extractive method. For our task to extract sentences for creating training raw corpus for named entity training. We can use extractive summary to pull important sentences and use these sentences as our raw corpus. The pipeline for raw corpus building is modified in Figure 4. In this figure, TextRank is used to pull the important sentences.

Fig. 4: Adding pipeline of TextRank.

Iv-C Noun chunk addition

We can use spaCy noun chunk to split sentences into noun phrases. The noun phrases can be selected and added to keyword textfile. Then they are used together with multiword tokenizer. The additional step is depicted in Figure 5.

Fig. 5: Adding pipeline of nounphase chunking.

Iv-D Relation type extraction

After obtaining named entities, we also would like to find out the relationship between named entities in a sentence. We can train the model to recognize the relationship between two words. In training relation using spaCy, the relationship between the words is defined as dependency (deps) as in the following.

("Conveniences include desks and complimentary
bottled water",
{’heads’: [0, 0, 0, 0, 6, 6,0],
# index of token head and
’deps’: [’ROOT’, ’-’, ’FACILITY’,
# dependency type between pair

In this example, ‘heads’ is a list whose length equals to number of words. ‘deps’ is the list of name relations. Each element refers to its parents. For example, 0 at the last element (water) refers to the relation ‘FACILITY’ to ‘convenience’ and 6 refers that it is the modifier ‘TYPE’ of ‘water’. ‘-’ means no relation (or ignored). Obviously, it requires efforts for manual annotations. Figure 6 shows the example of relation in our raw corpus. The relation exhibits the property isLocated used in tourism ontology concept.

In Figure 7, there are lots of relations in one sentences, making it harder to annotate. The sentence exhibits both isLocated and hasFacility properties. Figure 8 is the new pipeline following NE recognition stage to train relation model. We extract only sentences with found NEs and start annotate relation dependency for each sentence.

Fig. 6: Relation capturing example 1
Fig. 7: Relation capturing example 2
Fig. 8: Relation creation model
vocab (’airport’, 0.717 ) (’don mueang international airport dmk’, 0.662) (’only’, 0.640) (’bs’, 0.604) (’mo chit bts station’, 0.587)
GloVe-50 (’nearby’, 0.924) (’town’, 0.880) (’area’, 0.877) (’vicinity’, 0.818 ) (’located’, 0.818 )
GloVe-300 (’nearby’, 0.751) (’located’, 0.637) (’town’, 0.632) (’vicinity’, 0.627) (’area’, 0.576)
ConceptNet (’motel’, 0.464) (’deal’, 0.331) (’sai’, 0.322) (’positioned’, 0.310) (’kitchens’, 0.299)
GoogleNews (’nearby’, 0.606) (’vicinity’, 0.559) (’west’, 0.525) (’at’, 0.517) (’located’, 0.457)
vocab (’louis tavern hotel’, 0.782) (’donmuang’, 0.719), (’suite’, 0.715) (’don muang’, 0.705) (’regent’, 0.691)
GloVe-50 (’malaysia’, 0.711) (’thai’, 0.688 ) (’seoul’, 0.683 ) (’airport’, 0.642) (’pattaya’, 0.639)
GloVe-300 (’thai’, 0.602) (’seoul’, 0.507) (’phuket’, 0.483) (’pattaya’, 0.465) (’suvarnabhumi’, 0.408 )
ConceptNet (’staffed’, 0.426) (’tub’, 0.421) (’sovereign’, 0.401) (’additional’, 0.396) (’rainfall’, 0.386)
GoogleNews (’thai’, 0.575) (’argentina’, 0.485) (’pai’, 0.477) (’malaysia’, 0.468 ) (’anna’, 0.462)
TABLE V: Comparison of similarity scores.

Iv-E Adding similar word

To extract relations, the keywords indicated specific relations must be gathered. One can define a set of words and use word similarity to help find out other words to add to the relation keywords as in Figure 9.

Table V displays effectiveness of different representations: GloVe, ConceptNet-NumberBatch, GoogleNews. We add our new vocabularies to these existing vocabularies and compared the similarity score for each given word. In row ’vocab’, it is the representation trained by only our crawled raw corpus. Row ’GloVe-50’, we use the representation from GloVe 50 (glove.6B.50d.txt) to perform the training for additional vocabularies. Similarly, for ’GloVe-300’ (glove.6B.300d.txt), ’ConceptNet’, and ’GoogleNews’, we adopt pretained representation to train new vocabularies from the raw corpus. We can see that the most similar word to ’Near’ is ’nearby’ using our raw corpus alone will not give the right representation. GloVe and GoogleNews give the better similarity score. In the second example, for the word ’Bangkok’, GloVe-300 and GoogleNews give ’thai’ which seems to me a good similar word.

Fig. 9: Adding word similarity pipeline

V Conclusion and Future Work

This paper presents a methodology for extracting from unstructure information focusing on tourism data. We demonstrate the prototype of location and facility extraction of hotel accommodations using machine learning. The major demonstration is based the preprocessing part which builds the specific vocabularies and raw corpus and annotations, necessary for the model construction. The model is to learn to recognize named entities and relations. Two approaches for building models, spaCy and BERT are discussed. Also, the construction of new tourism vocabulary word2vec representation and its use for other NLP tasks in the domain are also presented.

The methodology can be generalized to recognize entities of other domains. Several other machine learning models can be handy tools for preprocessing training data. For the tourist review information, the extractive approach can be used to extract the highlight of the user review and abstractive approach can be used to build the review summary. The abstractive approach replies on word2vec representation (with new vocabularies). Also, we can build the model to identify the positive and negative review. Document classification can be used to classify the type information containing in each sentence before sending it to build the raw corpus the named entity extraction.


The work is supported in part by Kasetsart University Research and Development Institute, Bangkok, Thailand.


  • [1] H. Alani, D. E. Millard, M. J. Weal, W. Hall, P. H. Lewis, and N. R. Shadbolt (2003-01) Automatic ontology-based knowledge extraction from web documents. IEEE Intelligent Systems 18 (1), pp. 14–21. External Links: Document, ISSN 1541-1672 Cited by: §I.
  • [2] C. Chantrapornchai and C. Choksuchat (2016-12-20) Ontology construction and application in practice case study of health tourism in thailand. SpringerPlus 5 (1), pp. 2106. External Links: ISSN 2193-1801, Document, Link Cited by: §I.
  • [3] M. Chaves, L. Freitas, and R. Vieira (2012-01) Hontology: a multilingual ontology for the accommodation sector in the tourism industry. pp. . Cited by: §II-A.
  • [4] J. C. Cheung (2008) Comparing abstractive and extractive summarization of evaluative text: controversiality and content selection. B. Sc. thesis, UNIVERSITY OF BRITISH COLUMBIA, Canada. External Links: Link Cited by: §II-B.
  • [5] X. Dai (2018) Recognizing complex entity mentions: a review and future directions. In Proceedings of ACL 2018, Student Research Workshop, Melbourne, Australia, pp. s 37–44. Cited by: §II-B.
  • [6] J. Devlin, M. Chang, K. Lee, and K. Toutanova (2018) BERT: pre-training of deep bidirectional transformers for language understanding. CoRR abs/1810.04805. External Links: Link, 1810.04805 Cited by: §II-B.
  • [7] C. Feilmayr, S. Parzer, and B. Pröll (2009-08) Ontology-based information extraction from tourism websites. J. of IT & Tourism 11, pp. 183–196. External Links: Document Cited by: §I.
  • [8] Google (2016)(Website) Note: Retrieved 15 March 2019 External Links: Link Cited by: §III-D.
  • [9] R. Jakkilinki, M. Georgievski, and N. Sharda (2007) Connecting destinations with an ontology-based e-tourism planner. In Information and Communication Technologies in Tourism 2007, M. Sigala, L. Mich, and J. Murphy (Eds.), Vienna, pp. 21–32. External Links: ISBN 978-3-211-69566-1 Cited by: §I.
  • [10] W. Khan, A. Daud, J.A. Nasir, and T. Amjad (2016-10) A survey on the state-of-the-art machine learning models in the context of nlp. 43, pp. 95–113. Cited by: §II-B.
  • [11] S. Mouhim, A.E. Aoufi, et al. (2011) A knowledge management approach based on ontologies: the case of tourism. SpringerPlus 4 (3), pp. 362–369. Cited by: §II-A.
  • [12] D. W. Otter, J. R. Medina, and J. K. Kalita (2018) A survey of the usages of deep learning in natural language processing. CoRR abs/1807.10854. External Links: Link, 1807.10854 Cited by: §II-B.
  • [13] J. Pennington, R. Socher, and C. D. Manning (2014) GloVe: global vectors for word representation. In Empirical Methods in Natural Language Processing (EMNLP), pp. 1532–1543. External Links: Link Cited by: §III-D.
  • [14] T. Shi, Y. Keneshloo, N. Ramakrishnan, and C. K. Reddy (2018) Neural abstractive text summarization with sequence-to-sequence models. CoRR abs/1812.02303. External Links: Link, 1812.02303 Cited by: §II-B.
  • [15] M. Sigala, L. Mich, et al. (2007) Connecting destinations with an ontology-based e-tourism planner. In Information and communication technologies in tourism, M. Sigala and M. L. Mich (Eds.), pp. 21–32. Cited by: §II-A.
  • [16] K. Siorpaes, K. Prantner, et al. (2004)(Website) Note: Retrieved 20 May 2014 External Links: Link Cited by: §II-A.
  • [17] R. Speer, J. Chin, and C. Havasi (2017) ConceptNet 5.5: an open multilingual graph of general knowledge. In

    AAAI Conference on Artificial Intelligence

    pp. 4444–4451. External Links: Link Cited by: §III-D.
  • [18] STI INNBUCK (2013)(Website) Note: Retrieved 8 March 2019 External Links: Link Cited by: §II-A.
  • [19] K. Vila and A. Ferrández (2009) Developing an ontology for improving question answering in the agricultural domain. In Metadata and Semantic Research, F. Sartori, M. Á. Sicilia, and N. Manouselis (Eds.), Berlin, Heidelberg, pp. 245–256. Cited by: §II-A, TABLE I.
  • [20] Web vocabulary for e-commerce (2008)(Website) Note: Retrieved 8 March 2019 External Links: Link Cited by: §II-A.
  • [21] Y. Wu et al. (2016)

    Google’s neural machine translation system: bridging the gap between human and machine translation

    CoRR abs/1609.08144. External Links: Link, 1609.08144 Cited by: §IV-A.
  • [22] V. Yadav and S. Bethard (2018) A survey on recent advances in named entity recognition from deep learning models. In Proceedings of 27th International Conference on Computational Linguistics, Santa Fe, New Mexico, USA, pp. 2145–2158. Cited by: §II-B.
  • [23] L. Yang Abstractive summarization for amazon reviews. Technical report Stanford University, CA. External Links: Link Cited by: §II-B.