#Library
#PHP
#SQL
#Database System
#MYSQLi
#Management Systems
このプロジェクトは、簡易図書館管理システムのプロトタイプです。 Librarian には、ISBN 番号、書籍タイトル、著者名、版、出版物の詳細などの書籍の詳細を Web ページを通じて追加する機能があります。これに加えて、図書館員または任意のユーザーは、図書館で利用可能な書籍を書籍名で検索することができます。書籍の詳細がデータベースに存在する場合、検索の詳細が Web ページに表示されます。
テキスト分類またはテキスト分類は、自然言語テキストに関連する事前定義されたカテゴリのラベルを付けるアクティビティです。このアイデアは、テキストをさまざまなクラスに自動的に整理することです。文書やテキストの検索が大幅に簡素化され、高速化されます。
Database-Management-System-for-Library
コードの 3 つの主なステップ:
モデルをトレーニングおよび構築するときは、最初のモデルが最適なモデルであることは決してないため、ベスト プラクティスは「試行錯誤」方法であることに留意してください。このプロセスを簡素化するには、トレーニング用の関数を作成し、試行ごとに結果と精度を保存する必要があります。
私は EDA プロセスを 2 つのカテゴリに分類することにしました。1 つはすべてのベクタライザーとモデルに共通する一般的な前処理ステップ、もう 1 つはオプションとして追加した特定の前処理ステップで、それらの有無にかかわらずモデルのパフォーマンスを測定します。
精度が高いほど、テスト データに対するモデルのパフォーマンスが向上するため、モデル間の比較の尺度として精度が選択されました。
まず、 Bag of Wordsファイルを作成しました。このファイルclean_data.R
には、前処理してバッグ オブ ワードを生成するためのすべてのメソッドが含まれています。 Corpus
ライブラリを使用して前処理を処理し、 Bag of Words を生成します。
モデルに入力されるドキュメントは特定の形式である必要があるため、次の一般的な前処理ステップが実行されました。
小文字に変換する
ストップワードの削除
英数字の削除
句読点の削除
ベクトル化: TfVectorizer が使用されました。モデルの精度を TfIDFVectorizer を使用したものと比較しました。いずれの場合も、TfVectorizer を使用するとより良い結果が得られたため、デフォルトの Vectorizer として選択されました。
これらのステップの有無でモデルのパフォーマンスがどのように変化するかを確認するために、次のステップがオプションとして前処理ステップに追加されました。 1. Stemming
2. Lemmatization
3. Using Unigrams/Bigrams
clean_data.r
を使用して生成された Bag of Word を使用したサポート ベクター マシンの混同行列
>confusionMatrix(table(predsvm,data.test$folder_class))混同行列と統計 predsvm 1 2 3 4 1 31 0 0 0 2 0 29 6 0 3 0 3 28 0 4 0 0 0 23全体の統計 精度 : 0.925 95% CI : (0.8624, 0.9651)情報なし率 : 0.2833 P 値 [Acc > NIR] : < 2.2e-16 カッパ : 0.8994 マクネマー検定 P 値 : NA クラス別統計: クラス: 1 クラス: 2 クラス: 3 クラス: 4
-最も興味深い推論は、ニュースグループのトピックがより具体的であればあるほど、ナイーブ ベイズ分類器が文書がどのニュースグループに属するかを判断できる精度が高くなり、ニュースグループの具体性が低いほど精度が急激に低下するということです。
- これは精度で確認できます。その他のニュースグループではないすべてのニュースグループの正確率が常に少なくとも 50% です。正解率の点で最下位のニュースグループはすべて「misc」で、talk.politics.misc の正解率は 0.25% です。
-その理由は、その他のニュースグループに書かれた投稿がニュースグループの実際のルートに関連していることはほとんどないためです。その他のセクションは、「ルート ニュースグループ」以外の他の議論のトピックにも対応します。つまり、分類子がその他のニュースグループの文書を別のニュースグループと混同するのがはるかに簡単であり、分類子がルート ニュースグループを考慮することさえはるかに困難です。ルート ニュースグループに関しては、代わりにそこに投稿されます。
- たとえば、 talk.religion.misc に投稿された銃に関する投稿は、talk.politics.guns にある投稿にある類似の単語を使用する必要があるため、簡単に talk.politics.guns として分類できます。同様に、talk.politics.misc に政治に関する投稿が投稿される可能性は低くなります。これは、talk.politics.guns または talk.politics.guns に投稿する可能性が高いためです(ワイルドカードは、議論される政治の種類に関連するセクションです)。
pip コマンドを使用して、 randomForestをインストールします: install.packages("randomForest")
pip コマンドを使用してキャレットをインストールします: install.packages("caret")
pip コマンドを使用してmlrをインストールします: install.packages("mlr")
pip コマンドを使用してMASSをインストールします: install.packages("MASS")
レポートをダウンロードしてください。
テキスト分類において用語頻度が TF-IDF よりも優れている理由
20 のニュース グループ データセットのナイーブ ベイズ分類
単語と文書の頻度を分析する: tf-idf
自然言語処理
K R の最近隣
MLRパッケージ
テキスト マイニング アナライザー - 分析の詳細レポート
このリポジトリのクローンを作成します。
git clone https://github.com/iamsivab/Database-Management-System-for-Library.git
ここから問題を確認してください。
変更を加えてプルリクエストを送信します。
お気軽に@[email protected]までご連絡ください。
MIT © シヴァスブラマニアン