Xもあります

Nigma.ruは 、ユーザー向けの貯金箱に新しい機能を追加しました。 これで、検索バーから直接、 x2-3x + 2 = 0sin2 x + cos2 x2 h * 30 m / min = x 、タイプ2x-y = 4、3y + x =の方程式など、さまざまな数学問題を解決できます9x2 + y = 1、x * y = 0など (詳細なリストはこちら )。 このサービスは、6〜10年生の生徒向けに設計されています。



システムの詳細については、当社のWebサイトのドキュメントニュースをご覧ください。



この機能を作成するために、実際の学童にインタビューしました-最も便利な方法で検索バーに数式を入力するように依頼しました。 もちろん、プログラミング言語の構文を知っている人はほとんどいません。通常の構文のように見えるものを書くことさえできませんでした。 したがって、私たちにとって最も重要なタスクは、自由な構文の認識でした-結局、これはあらゆる検索システムのタスクです-ユーザーにシステムのドキュメントを勉強せずに彼の質問への答えを受け取る機会を与えるためです。



アルゴリズムはどのように機能しますか?



まず、クエリのストリーム全体から数学クエリを認識します。 このタスクを実行する際に、多くの問題に直面しました。 要求は非常に異なる可能性があるため、それを解決するには多くの複雑なヒューリスティックが必要です。 さらに、ユーザー入力は式の形式だけでなく、自然言語、つまり非形式の形式でも入力できるため、自然言語での式の分析が必要です。 一連のヒューリスティックルール(実際の学童の検索文字列の入力の分析に基づいて作成されたリスト)を使用して、テキストクエリを厳密な構文の問題の正式な説明に変換します。 非厳密な構文から厳密な変換への変換のあいまいさのために、タスクを記述するためのいくつかのオプションを考慮する必要があり、入力された式の複雑さに対してその数が指数関数的に増加する可能性があるため、最も可能性の低い解析オプションを除外する必要があり、したがって、そのような数のタスクの解決には時間がかかりすぎるため、そして、ユーザーが何百もの選択肢の中から解決策を探すのは非常に困難です。 問題解決は、可能な場合はシンボリック形式で実行されます。これにより、システムを使用して問題の厳密な解決策を取得できます。これは、学校の問題、さまざまな証明に役立ち、数値的解決策よりも教育目的ではるかに重要です。 タスクが数量や通貨の変換などの形式の回答を含む場合は、数値ソリューションもオプションの1つとして、またはメインオプションとして提案されます。



私たちの作業の過程で、多くのクエリでは数学を決定するのが非常に難しいという問題に直面しました。特に、クエリがさまざまなテクノロジーのモデル(非常に多くの場合、数字と数学記号を含む)を含むクエリである場合、および多くの数学的なフレーズがある場合用語。 残念ながら、一般的な場合、そのようなクエリを分離するタスクは、特に数学的なクエリの中にエラーのあるクエリがあるかもしれないと考える場合、アルゴリズム的に解決するのが困難です。 それでも、ユーザークエリと学童の入力をかなり長時間分析することで、リクエストの数学を決定する際の第1種のエラーのレベルを下げることができましたが、第2種のエラーのレベルはほぼゼロのままでした(この場合、第1種のエラーはそれほど重要ではありません)。



式の解析の問題を解決するために、アナライザーの有限状態マシンとユーザー入力を正規化する正規表現のセットで構成されるシステムが開発されました。これにより、ユーザー入力を解釈するための形式化されたオプションのセット、およびユーザー入力の形式レコードへの近接度を評価するためのメソッドのセットを生成できました。 これは非常に異なる要因を考慮に入れます-文字間のスペースも重要です-トークンの区切りとしてだけでなく、式のどこにもスペースが設定されていない場合、ブロック間の区切りとしても。



システムはアルファテスト状態です。 修正に取り組んでいる多くの制限とシステムエラーを認識しています。 このシステムに関するご意見やご意見をお待ちしております。 また、このシステムはNigma.ruのインテリジェンスを増やすためのプロジェクトの1つにすぎず、新しいインテリジェント検索技術を開発したいプログラマーのチームに喜んで受け入れます。



All Articles