https://github.com/boeing/sdr-hazards-classification

Collaboration work between FAA and Boeing on identifying safety hazards in Service Difficulty Reports (SDR)

https://github.com/boeing/sdr-hazards-classification

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: ieee.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.2%) to scientific vocabulary

Keywords

classification hazards machine-learning nlp-machine-learning safety sdr
Last synced: 6 months ago · JSON representation

Repository

Collaboration work between FAA and Boeing on identifying safety hazards in Service Difficulty Reports (SDR)

Basic Info
  • Host: GitHub
  • Owner: Boeing
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 14.4 MB
Statistics
  • Stars: 6
  • Watchers: 4
  • Forks: 3
  • Open Issues: 0
  • Releases: 3
Topics
classification hazards machine-learning nlp-machine-learning safety sdr
Created about 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Changelog Contributing License

README.md

Service Difficult Report (SDR) hazards classification package

:rocket: This is the source code for the SDR Classifier package that classifies potential aviation safety hazards from textual data. The work is a collaboration between FAA and Boeing data scientist teams, and these models aim to assist analysts in Continued Operational Safety (COS) processes.

SDRs are submitted via the service difficulty reporting system operators or certified repair stations as a means to document and share information with the aviation community about failures, malfunctions, or defects of aeronautical products. The free-form text description field often contains valuable COS-related information, however it lacks predictable grammatical structure and is not in any way standardized. Additionally, it can contain typographical errors, part numbers, abbreviations, and references to specific sections of maintenance manuals or operating procedures, making it difficult to reliably extract this information with regular expressions or language models designed to take in clean, full sentences as input.

Each of these COS classification models was trained to pick up on all of the variation described above for a specific COS criterion. Subject matter experts (SMEs) annotated hundreds of SDR records for training and testing of each model, and those datasets are available here alongside the code to train, test, and invoke the models.

Version 0.1.1 out now! Check out the release notes here.

tests Current Release Version pypi Version Python wheels PyPi downloads Boeing on Twitter

Demo

Virtual Environment

It is highly recommended to use venv, virtualenv or conda python environments. Read more about creating virtual environments via venv https://docs.python.org/3/tutorial/venv.html#creating-virtual-environments

Build and pip install the whl file locally

Run the command in the root folder to create the whl file in the dist folder git clone https://github.com/Boeing/sdr-hazards-classification python setup.py bdist_wheel pip install ./distr/sdr_hazards_classification-0.1.0-py3-none-any.whl

Install sdrhazardsclassification from Pypi with pip

pip install sdr_hazards_classification

Contributing

🛩️ Please follow the contribution guideline

Example

:airplane: Follow the code snippet below to test and call the prediction method from the Depressurization model

``` from sdrhazardsclassification.sdrapi import SdrInferenceAPI, CORROSIONLIMIT, DEGRADED_CONTROLLABILITY import pandas as pd

depressurization_model = SdrInferenceAPI()

test the prediction method

depressurizationmodel.testsdrdepressurizationpredictions()

eventtext = """Lost cabin pressurization at flight level 30000, cabin altitude warning horn sounded at 10000 feet. Unabel to control cabin pressure with outflow valve closed""" pred, probs = depressurizationmodel.getpredictions([eventtext])

degradedcontrollabilitymodel = SdrInferenceAPI(DEGRADEDCONTROLLABILITY) degradedcontrollabilitymodel.testsdrdegradedcontrollability()

df = pd.readcsv('./src/sdrclassifier/data/SDR_Example.csv') records = df["Text"]

pass in a record list for prediction

pred, probs = depressurizationmodel.getpredictions(records)

df['Prediction'] = pred df['Prob'] = probs

print(df.head(2))

print("Done") ```

References

Open Access Data via the FAA's Service Difficulty Reporting System

FAA Deployment Demo on YouTube

SKYbrary Summary

Full Academic Paper on IEEE Xplore

Owner

  • Name: Boeing
  • Login: Boeing
  • Kind: organization

GitHub Events

Total
  • Watch event: 4
Last Year
  • Watch event: 4

Dependencies

.github/workflows/python-package.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
.github/workflows/python-publish.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
requirements.txt pypi
  • pandas *
  • scikit-learn *
  • xgboost *
setup.py pypi
  • pandas >=1.1.5