IT記者会講演再録

IT記者会Reportに掲載したインタビューと講演再録です

国分芳宏氏(2)

仕様書用ワープロを作りませんか

文の意図を解析する

国分 でも文章のプロでしょ? だから分かっていただけると思うけれど、一般の文法は主語と述語で整理する。文を名詞、形容詞、動詞、副詞、接続詞に分解して、その関係性を理解する。ところが我われの日常の会話や文っていうのは、いつも主語と述語を明確に使っていないし、必ずキーワードになる単語が入っているとは限らない。それが曖昧性を生み出す第一の原因であり、コンピュータによる構文解析の限界でもあったわけです。

ーー単語と単語の関係だけでは限界がある、と?

国分 その通りです。そこで私は文全体の《係り》と《受け》の関係に着目して、文の意図というものを抽出する手法を考えた。例えば、その資料にある「見た目はいまいちだが、味と栄養については問題ない」という文ですが……。  

――日常的によくある言い回しですね。

国分 これをコンピュータで解析しようとすると大変なんです。何が主語で、何が述語かはっきりしない。それでね、これを

  1.見た目はいまいちだが

  2.味については問題ない

  3.栄養については問題ない

 という形に分解する。  

――それはどういうふうに?

国分 形態素解析と自立語解析という手法なんですけど、それはここでは説明しないほうがいいと思います。それで[1]の文を「見た目・は・いまいち・だが]に分解すると、文の意図は否定、係り受けは逆接ということになる。また[2]と[3]の文は肯定ということになります。そういうことを積み重ねて、文の意図を「良し・悪し」(評価)、「肯定・否定」、「要望」、「希望」、「勧誘」、「義務」、「確認」、「疑問」といった形に整理した。  

――何となく分かります。単語そのものが持っている意図を読み取るわけですね。「いまいち」という単語は否定的に評価する意図を持っている。「だが」という接続詞は逆接の意図があるから、それに続く文は原則的には肯定的な意味になる。

国分 そういうこと。次の「寿命が延びる」「寿命が短い」は良し悪しの評価の例文です。それぞれの単語に評価の意図は含まれていませんが、「寿命」という単語につながる必然性がある単語を推定することで、評価の意図を抽出できる。

 

f:id:itkisyakai:20180129122500j:plain

320万件のシソーラス  

――さっきの「問題ない」もそうですね。「問題」という単語は質問、疑問、課題、トラブル、原因、事件など様ざまな意図を持って使われる。係り受けの関係で意図を読み取るほかない。それから、気が付いたんですけど「いまいち」なんていう単語、どうやってコンピュータが判断したり認識するんですか?

国分 シソーラスを持たせているんです。新聞や雑誌に使われている単語を毎日こつこつとデータベースに蓄積しましてね。自立語が約22万、付属語が300万。自立語と付属語を組み合わせた「共起語」が約70万。  

――それはすごい。それだけのシソーラスがあれば、類似語、同義語が整理できますよね。で、素朴な質問ですが、「共起語」って何ですか?

国分 言葉と言葉の組み合わせをセットにしたもの、と考えてください。一般的にいって、「ドア」につながるのは「開ける」「閉める」。だから「ドアを開ける」「ドアを閉める」というフレーズをシソーラスに登録している。  

――それを使えば漢字変換のミスが見つけやすくなる。「ドアを空ける」という表記はないですからね。「腕をこまねく」か「指をこまねく」か、「首を振る」か「頭を振る」か。「たたずむ」のは家か人か、「恥を雪ぐ」、「汚名を晴らす」とか、慣用句、常套句が間違えやすい。

国分 「表記の揺れ」という問題です。これが曖昧性を生み出している第二の原因。会話や文には常に「表記の揺れ」が発生するんで、新聞社や雑誌社は用語を統一してますよね。  

――してますね。

国分 どういうふうに?  

――新聞社のころは、まずコンピュータ用語には独自の決めごとを作って、国名の表記なんかは朝日の新聞用語辞典、一般用語や送り仮名は特定の辞書を決めて、3つを併用してました。困ったのはコンピュータ用語の表記が他紙と違うことで、当社は当社のルールで表記してるんだけど、読者から「どうして違うんだ」と質問されたりしました。それと我流ですが、主文は3文節、説明文は4文節というルールを作ってます。意識して作ったルールじゃないんですけど、最近そのことに気が付いた。リズムが生まれるんですね。

国分 あ、それは面白いな。なるほど、新聞の記事は簡潔に事実関係を記述するだけじゃなくて、読みやすくなければならない。さらに読者をひきつけなきゃなりませんからね。佃さんのところは[ー](音引き)はどうしてました? 例えば「コンピューター」? それとも「コンピュータ」?   

――今は「コンピュータ」。当時は見出しでは「電算機」、本文では「コンピューター」でした。ところが日経BPさんが「コンピュータ」と書くようになって、[ー]を入れると古臭いようなイメージができちゃいましてね。あとで聞いたら、「どっちでもよかったんだけど、一文字分が節約できるじゃない」といってました(笑)。

国分 ま、世の中はそんなもんですよ。マクロソフトのワードと同じで、多数派が勝つ(笑)。冗談はともかく、そういうルールっていうのは経験知の集積でしてね。  

――新聞は何かと制約が多くて。今はルビを振れますけど、当時は縦書きのみで当用漢字しか使えない。そういう法律があったわけでもないのに、何となくそういう不文律があった。その点、雑誌は横書きで自由度が高いんで、羨ましかった。でも、それが曖昧性を抑制していたともいえるんです。1990年代後半にコンピュータ処理が主役になって自由度が増した。反比例して書き手の表現力が落ちた。その結果、文章全体の曖昧性や難解性が増幅しちゃった。

 

f:id:itkisyakai:20180129122552j:plain

単語と単語の距離を測る

国分 もう一つ、面白い例文を示しましょう。「クロールで泳いでいる彼女を望遠鏡で見ていました」という文です。構文的にいうと、「クロールで」は「泳いでいる」と「見ていました」に係る可能性があります。でも「クロールで」という言葉は決して「見ていました」には係らない。「クロールで」を受けるのは「泳いでいる」で、「見ていました」に係るのは「望遠鏡で」です。  

――それは単語の意図とはちょっと違いますね。単語の位置関係ですか?

国分 位置関係で解析していたのが従来の方法。でもね、「望遠鏡でクロールで泳いでいる彼女を……」となると、これまでの方法では解析できない。  

――人は理解しますけどね。ただ、文としては分かり難い。

国分 いや、日常では決して珍しくありません。むしろこういう用例のほうが多いかもしれない。これをコンピュータで解析するには、単語と単語の距離を測る必要があるんです。シソーラスが役に立つ。当社のシソーラスとアルゴリズムでいうと、「望遠鏡―泳ぐ」の距離は無限大、「望遠鏡―見る」の距離は4。そこでコンピュータは「望遠鏡で・見る」と解析することができる。  

――同じ単語でも全く意味が違うケースもある。さっきの「問題」のように。

国分 それもシソーラスと言葉の距離で判別できます。「お稲荷さん」と言ったとき、それが稲荷神社のことか稲荷ずしのことか、従来の方法では識別できない。でも当社のアルゴリズムでは、稲荷神社と稲荷ずしの距離は無限大なので、同義語・類似語とは識別されない。同じように並列構造も解析できます。「ビールと日本酒を飲む」「先生とお酒を飲む」の場合、ビールと日本酒は同類語なので「アンド」の関係、「先生」と「お酒」は異類語なので「ウィズ」の関係。当社のシソーラスは[料理]―[食材]―[調理法]―[地域]というようなツリー構造も持っていて、「お酒」という単語をそういう視点からも解析する。  

――代名詞はどうですか。「あれ」「これ」「それ」。

国分 文の前後関係から主語を抽出するんです。照応処理という手法ですけど、例えば「昨日、田中さんと会った。彼は60歳になったそうだ」といったとき、まず主語がない。通常の解釈では、主語は「私」。日本語っていうのは主語を示さなくても通じちゃう。次に仕様書に置き換えて考えると《昨日》とは何月何日かが明示されなければならない。《彼》は田中さんのことだから、仕様書的な表現では《○月○日、私は田中さんと会った。田中さんは60歳になった》ということになる。  

――もう一つ、理屈の上で全く別の解釈が生じませんか? 田中さんが昨日、60歳になった、という。

国分 そうですね。人は話の前後関係で判断するので、「昨日、会ったとき、田中さんは60歳になったと話していた」ということなんだろうと推測する。ところがコンピュータはロジックで動きますから、「昨日」が「会った」と「60歳になった」の両方に係る構文になっている。単語と単語の距離を測らないと、そういうことになる。タイムスタンプとか、地名、企業名の辞書を組み合わせることで、代名詞を実体に置き換えるんです。