File Information

File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/00/w00-1016_metho.xml

Size: 16,041 bytes

Last Modified: 2025-10-06 14:07:27

<?xml version="1.0" standalone="yes"?>
<Paper uid="W00-1016">
  <Title>Dialogue Helpsystem based on Flexible Matching of User Query with Natural Language Knowledge Base</Title>
  <Section position="4" start_page="141" end_page="142" type="metho">
    <SectionTitle>
3 Types of user utterances
</SectionTitle>
    <Paragraph position="0"> We observed the conversations of users and TAs in the CIMS computer rooms by recording and transcription (20 hours observation; 1.5 hours recording).</Paragraph>
    <Paragraph position="1"> From this study, we discovered that user utterances can be classified as follows: What type: The user asks some fact.</Paragraph>
    <Paragraph position="2"> ex. What is Emacs? Explain Emacs.</Paragraph>
    <Paragraph position="3"> How type: The user asks how to do something. null ex. How can I input Japanese characters in Emacs? I want to input Japanese characters in Emacs.</Paragraph>
    <Paragraph position="4"> Symptom type: The user shows some symptom since he/she want to know how to cope with it.</Paragraph>
    <Paragraph position="5"> ex. I cannot access my private folder. The screen is white.</Paragraph>
    <Paragraph position="6"> Request type: The user requests something to C1MS.</Paragraph>
    <Paragraph position="7"> ex. Please install Visual-C.</Paragraph>
    <Paragraph position="8"> Please make my disk quota bigger. Addition type: The user adds or modifies the previous question.</Paragraph>
    <Paragraph position="9"> ex. How about WindowsNT? In the case of reply?  ex. WINDOWS.</Paragraph>
    <Paragraph position="10"> The compression type is zip.</Paragraph>
    <Paragraph position="11"> The helpsystem reported in the paper answers what, how and symptom questions. In addition, it can interpret addition and answer utterances contextually. The request utterances are out of the system scope currently.</Paragraph>
  </Section>
  <Section position="5" start_page="142" end_page="143" type="metho">
    <SectionTitle>
4 Outline of the helpsystem
</SectionTitle>
    <Paragraph position="0"> The system is comprised of the following components (Figure 1): User Interface: Users access to the helpsystern via a WWW browser by using CGI based HTML forms. The helpsystem is actually running on a workstation in our lab.</Paragraph>
    <Paragraph position="1"> Input Analyzer: The user utterance is transformed into a dependency structure by a robust parser, KNP (Kurohashi and Nagao, 1994; Kurohashi and Nagao, 1998), and utterance-pattern rules are applied to extract the utterance type and the utterance content.</Paragraph>
    <Paragraph position="2"> Japanese is head-final and the final expression shows an utterance type. Therefore, the longest matching of utterance-pattern rules form the end of the utterdeg ance can detect the utterance type in most cases. For example, if the final expression is &amp;quot;niha doushitara ii desu ka (How can I -- -)&amp;quot;, how type is assigned; if &amp;quot;no baai ha (In case...)&amp;quot;, addition type.  Knowledge base: The knowledge base is written in a natural language, in a dictionary-like structure.</Paragraph>
    <Paragraph position="3"> Dialogue Manager: The core process of the dialogue manager is to match the user utterance with the hmowledge base in order to find the most appropriate description. It also handles contextual interpretation of the user utterance and question to the user.</Paragraph>
    <Paragraph position="4"> Eraall Sender: The user can send his/her input-log to the CIMS staff via email if the automatic response is not satisfactory. So, the user does not have to input his questions a second time. This option surely contributes to the popularity of the system.</Paragraph>
    <Paragraph position="5"> In the following sections, we discuss the knowledge base and the dialogue manager, since we consider these components as the core of the system.</Paragraph>
  </Section>
  <Section position="6" start_page="143" end_page="144" type="metho">
    <SectionTitle>
5 Knowledge base
</SectionTitle>
    <Paragraph position="0"/>
    <Section position="1" start_page="143" end_page="143" type="sub_section">
      <SectionTitle>
5.1 The outline
</SectionTitle>
      <Paragraph position="0"> The knowledge base has a dictionary-like structure, in which each entry describes a concept/issue in the domain. It was compiled manually by referring to the real QAs in CIMS rooms, the FAQ page of CIMS (about 100 items), and question emails sent to CIMS (about 150 emails). Currently, it contains about 250 entries.</Paragraph>
      <Paragraph position="1"> Each entry consists of a headword (&lt;TITLE&gt; tag), synonyms(&lt;SYN&gt; tag), an upper word (&lt;BT&gt; tag), a definition of the headword (&lt;DEF&gt; tag) and several descriptions concerning the headword (&lt;DESCRIPTION&gt; tag; see Figure 1). All content words in the knowledge base were registered to the system database, which is used to see whether a user input word is known or unknown to the system (Section 6.1).</Paragraph>
      <Paragraph position="2"> In addition, by collecting the headword and its upper word pairs from the knowledge base, the domain ontology (concept taxonomy) is constructed automatically. The top categories of the current ontology are software, hardware, computer term (different to soft/hardware), action term, and general term. The domain ontology is used by the dialogue manager in several ways (Section 6.2, 6.3).</Paragraph>
    </Section>
    <Section position="2" start_page="143" end_page="143" type="sub_section">
      <SectionTitle>
5.2 Natural language representation
</SectionTitle>
      <Paragraph position="0"> In the knowledge base, the definition and several descriptions for the headword axe written in natural language, which provides both high power of expression and high extensibility.</Paragraph>
      <Paragraph position="1"> The definition of the headword is used for what questions; the descriptions are used for how and symptom questions. Each description, called knowledge unit (abbreviated to KU), is written in the following style: &lt;KU&gt; if a case, then what/how to do. &lt;/KU&gt; In Japanese, there are many sentential patterns to express if-then relation. Authors of the knowledge base can use several expressions like &amp;quot;--- deareba... (if-..,-.-)&amp;quot;, &amp;quot;..- no baai ha... (in case that .-., ..-)&amp;quot;.</Paragraph>
      <Paragraph position="2"> The basic form of the how and symptom question is &amp;quot;in some case, what/how can I do?&amp;quot;. Therefore, the system can answer the question by finding the most similar KU case part and showing the corresponding what/how to do part to the user (see Figure 1).</Paragraph>
    </Section>
    <Section position="3" start_page="143" end_page="144" type="sub_section">
      <SectionTitle>
5.3 Matching of user question and
</SectionTitle>
      <Paragraph position="0"> knowledge unit Matching of the user question and a knowledge unit (KU) is done by comparing their dependency trees whose nodes are phrases. Their similarity is calculated as follows (Figure 2): . For each phrase in the user question, the most similar phrase in the KU case part is looked for based on the following cri- null * Matching of the depth of the phrases in parse trees : 1 point * Matching of the type of the phrases (phrase types differ depending on surface cases and verb conjugations, etc) : 1 point 2. The similarity scores of phrases in the  user question are summed up and normalized by the maximum matching score (MMS) as follows (the MMS is the similarity score with the same sentence): The sum of scores of~ 2 phrase similarities \] The MMS of ~ (The MMS of~ the user question\] x \the KU case\] The above score is given to the KU as its certainty score.</Paragraph>
      <Paragraph position="1"> The above algorithm cares for the structures of sentences to some extent by giving phrase depth scores and phrase type scores, but not in a strict way. This leads to a flexible matching for handling a variety of natural language sentences and some parse errors. For the present, the parameters were given empirically.</Paragraph>
    </Section>
  </Section>
  <Section position="7" start_page="144" end_page="147" type="metho">
    <SectionTitle>
6 Dialogue manager
</SectionTitle>
    <Paragraph position="0"> Figure 1 showed the simplest case of a QA. In some cases, however, the user and the system have to take more turns until the user obtains a satisfactory answer. Such a turn-taking is an essential point of a conversation.</Paragraph>
    <Paragraph position="1"> To conduct a conversation, that is, to perform a proper turn-taking, the participant have to be able to do the following functions  at least: * ask the opponent back if there is an unknown word in the opponent's utterance, * interpret the opponent's utterance contextually, and * ask the opponent ba~k when the opponent's utterance is not clear.</Paragraph>
    <Paragraph position="2">  Our dialogue helpsystem can perform the basic level of the above functions by referring to natural language knowledge base. In the following subsections, we explain each of these functions in detail.</Paragraph>
    <Section position="1" start_page="144" end_page="145" type="sub_section">
      <SectionTitle>
6.1 Asking back of an unknown word
</SectionTitle>
      <Paragraph position="0"> Given the user utterance, the system first checks whether each content word in it is registered in the system database or not. If the word is not registered, it means that the word  is an unknown word to the system. An unknown word appears in the following cases: . Technical term not covered by the knowledge base.</Paragraph>
      <Paragraph position="1"> ex. shell script~ clone . Technical term whose synonym or related term is covered by the knowledge base.</Paragraph>
      <Paragraph position="2"> ex. Mozaic, Mozilla 3. Misspell of the user.</Paragraph>
      <Paragraph position="3"> ex. Internetmai, Windo  ex. name, summer vacation The system decision, whether the unknown word is general term or not, is taken according to whether it is an entry of a children's dictionary or not (Tadika, 199'7).</Paragraph>
      <Paragraph position="4"> If the unknown word is not a general term, the system asks the user back in the form &amp;quot;what is 'unknown word'?&amp;quot;. If the system asks &amp;quot;what is Internetmai?', the user probably notices his/her misspell and re-input it correctly. If the system asks &amp;quot;what is Mozilla?&amp;quot;, the user might paraphrase it like &amp;quot;It means Netscape'.</Paragraph>
      <Paragraph position="5"> If the unknown word is a general word, it does not make sense to ask the user back, like ''what is name?&amp;quot;. Therefore, the system just overlooks it.</Paragraph>
    </Section>
    <Section position="2" start_page="145" end_page="146" type="sub_section">
      <SectionTitle>
6.2 Contextual interpretation of user
questions
</SectionTitle>
      <Paragraph position="0"> The user question may be related to its preceding utterances, modifying or supplementing them. As an example, consider the following dialogue: UI: How can I send emails by Mew? S1: Type &amp;quot;C-c C-c&amp;quot; when you finish writing a mail.</Paragraph>
      <Paragraph position="1"> U2: In case to reply.</Paragraph>
      <Paragraph position="2"> $2: Move the cursor on the message to which you want to reply and type &amp;quot;A&amp;quot;. In this dialogue, the user utterance U2 is a modification of U1, indicating &amp;quot;How can I reply emails by Mew?&amp;quot;.</Paragraph>
      <Paragraph position="3"> In order to interpret such a context dependent utterance properly, the dialogue manager attempt to merge the user's new uttermace onto the previous one. For each word of the user's new utterance, Wnew, if the previous utterance contains the word of the same category, Wold, w,~ew is overwritten on wol d. If not, Wne w is added to the previous utterance. Two words are considered to be in the same category if they belong to the same top category of the domain ontology described in Section 4.1. Then, the system looks up the knowledge base by the merged utterance.</Paragraph>
      <Paragraph position="4"> In the above example, &amp;quot;reply&amp;quot; of U2 is overwritten on &amp;quot;send&amp;quot; of U1, since they belong to the same category, action term. Then the system attempts to match the combined utterance &amp;quot;How can I reply emails by Mew?&amp;quot; with the knowledge base, and as a final result, it can response as $2 2 In the above example, since U2 is an addition utterance, the system does not need to interpret U2 as a new, context independent question. However, if the user utterance has a different type, it is not possible to decide whether it is context dependent or indepen2Note that the system keeps the resultant interpretation of the user query, which means that the system can keep more than one user utterances practically. For example, if the user asks &amp;quot;In case to forward&amp;quot; after $2 in the above example, the system can interpret it as &amp;quot;How can I forward emails by Mew&amp;quot;.  dent by seeing the new utterance alone.</Paragraph>
      <Paragraph position="5"> To decide this, the dialogue manager regard s the certainty score between the utterance and the most similar KU as an appropriateness measure of the interpretation. That is, we calculate both the certainty score between the merged utterance (contextual interpretation) and the knowledge base, and that between the new utterance as it is and the knowledge base. Then; we choose the interpretation which obtained the KU with the bigger certainty score.</Paragraph>
      <Paragraph position="6"> For example, in the following dialogue, U2 is interpreted as &amp;quot;How to invoke Mew?&amp;quot;, since this combined interpretation has the bigger certainty score rather than U2 itself.</Paragraph>
      <Paragraph position="7"> Ui: What is Mew? SI: A kind of mail software working on Emacs.</Paragraph>
      <Paragraph position="8"> U2: How to invoke? $2: Type 'M-x mew&amp;quot; on Emacs.</Paragraph>
      <Paragraph position="9"> On the other hand, in the next example, U2 is interpreted as it is, since U2 has the bigger certainty score rather than the combined, somehow strange interpretation of &amp;quot;How to uncompress zip files by Outlook on Unix?&amp;quot;. UI: I want to send an email by Outlook.</Paragraph>
      <Paragraph position="10"> $1: Invoke OutlookExpress, write your email, and select &amp;quot;Send/Get&amp;quot; button. U2: How to uncompress zip files on UNIX.</Paragraph>
      <Paragraph position="11"> $2: Type &amp;quot;unzip \[zip filename\]&amp;quot; in the command line.</Paragraph>
    </Section>
    <Section position="3" start_page="146" end_page="147" type="sub_section">
      <SectionTitle>
6.3 Asking back for an unclear
</SectionTitle>
      <Paragraph position="0"> question As mentioned so far, the system retrieves proper KUs which are similar to the user question. The KU with the best certainty score and the KUs with the 90% or larger certainty score are called candidate KUs. The dialogue manager performs differently depending on the best certainty score and the number of candidate KUs, as shown in Table 1. If the certainty score is 60% or higher and the number of the candidate KUs are two or more, the dialogue manager detects the difference between their cases and ask the user to make his/her question more specific.</Paragraph>
      <Paragraph position="1"> Figure 3 shows an example of such a dialogue. The two candidate KUs are detected for U1 and their cases have only one difference: &amp;quot;lzh file&amp;quot; and &amp;quot;zip file&amp;quot;. Then, the system detects their common upper concept in the domain ontology and ask the user in the form &amp;quot;Select &lt;upper concept&gt; from &lt;list of the difference &gt;&amp;quot; as shown in Figure 3.</Paragraph>
      <Paragraph position="2"> If the candidate KUs contain two or more differences, it is hard to edit them in a neat way. Therefore, the system shows the candidate KUs' cases as they are. If the certainty score is less than 60% and larger than 30%, the system responses in the same way.</Paragraph>
      <Paragraph position="4"/>
    </Section>
  </Section>
class="xml-element"></Paper>
Download Original XML