また、文章の意味をどのようにとらえるかに対しては、
現在のところアプリケーションごとにその場しのぎのやり方で
解決している状況です。たとえばデータベース検索の
ソフトウエアなら、人間の言語をまずいったん SQL に
変換するような仕組みをつくり、それを実行するわけですね。
これだと当然 SQL で表現できないような日本語 (たとえば
「もっと安いやつ」という文。これは前の状態を参照する
変数のようなものがないとたぶん表現できないでしょう) は
受けつけないことになります。けれどもこれを一般的にしようと
しすぎると、ぜんぜんデータ構造が定まんなくてワケわかんない
ことになります (自然言語の意味を一般的に表現できるような
形式的な枠組みはまだないし、あってもそんなものを
プログラミングするのは大変でしょう)。

もうひとつ。人間の多様な語彙を理解するためには、ソフトウエア側が
なんらかの「辞書」のようなものを持っている必要があります。
この形式に関しても議論百出ですから、現在はアプリケーションごとに
こしらえているのでしょう。こういったものはとにかく作るのに手間がかかり、
人件費もかかるので、いまでは人様がデータ入力をしなくても
コンピュータが web なんかから勝手に「学習」するようにしよう、
というアプローチがさかんに研究されています。けれども、
どれもノイズが多くてあまり使えません。また最近は
学習データの著作権問題をクリアーするのが非常に難しくなっています。