Как работать с алгоритмом НЛП в студии android - PullRequest
0 голосов
/ 01 апреля 2020

Я работаю с алгоритмом NLP для проекта, который основан на обратной связи с пользователем, я не знал об алгоритме NLP, но я применил его в своем проекте, я только что попробовал несколько вещей на нем, пожалуйста, предложите мне, где я ошибаюсь, что мой код действительно работает над моим проектом.

Требование: пользователь будет давать отзыв конкретному доктору, например, «он хорош», вставляя запрос в базу данных и выбирая отзыв в этом задании.

userfeedback page

public class FeedbackActivity extends AppCompatActivity {

    EditText editTextname,editTextfeed;
    Button btnsend;

    DatabaseFeedback DH = new DatabaseFeedback(this);
   DatabaseDoctor databaseDoctor=new DatabaseDoctor(this);

    String  negative_count;
    String  positive_count;
    String review;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_feedback);

        editTextname=findViewById(R.id.editTextname);
        editTextfeed=findViewById(R.id.editTextfeedback);
        btnsend=findViewById(R.id.buttonsend);

        Intent intent=getIntent();

        String text = intent.getStringExtra("docname");
        editTextname.setText(text);

        btnsend.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (TextUtils.isEmpty(editTextname.getText().toString()) ||
                        TextUtils.isEmpty(editTextfeed.getText().toString())) {

                    Toast.makeText(FeedbackActivity.this, "Pls fill the fields",
                            Toast.LENGTH_LONG).show();

                } else {
                    boolean res = DH.Feedback_Data(editTextname.getText().toString(),
                            editTextfeed.getText().toString());
                    if (res) {

                        Toast.makeText(FeedbackActivity.this, "Submitted Successfully",
                                Toast.LENGTH_LONG).show();

                    } else {
                        Toast.makeText(FeedbackActivity.this, "Try Again",
                                Toast.LENGTH_LONG).show();
                    }

                    editTextname.setText("");
                    editTextfeed.setText("");

                }

                Cursor res = DH.fetchdata(editTextfeed.getText().toString());
                String review = String.valueOf(res);

                if (review.toLowerCase().contains("good,happy,awesome")) {

                    Cursor positive=databaseDoctor.positiveData(editTextname.getText().toString());
                  String  positive_count = String.valueOf(positive);
                    String.format("%s%d", positive_count, 1);



                } else if (review.toLowerCase().contains("bad,worst")) {

                    Cursor negative=databaseDoctor.negativeData(editTextname.getText().toString());
                    String  negative_count = String.valueOf(negative);
                    String.format("%s%d", negative_count, 1);

                }
                else{

                    Toast.makeText(FeedbackActivity.this, "ignore", Toast.LENGTH_SHORT).show();

                }
                if(positive_count >= negative_count){
                   review="5";

                }else if(positive_count =< negative_count){
                    review="1";

                }
                else {
                    review="3";
                }
            }
        });
    }
}
Database

public class DatabaseDoctor extends SQLiteOpenHelper {

    public static final String databasename="Doctordetails";

    public static final String Doctor_table="Doctor_table";

    public static final int versioncode=1;

    public static final String Doc_id="docid";
    public static final String Doc_name="docname";
    public static final String Doc_speclist="docspeclist";
    public static final String Doc_experiance="docexperiance";
    public static final String Doc_hospitalname="hospitalname";
    public static final String Doc_Fees="fees";
    public static final String Doc_Phone="phone";

    public static final String Review_table="Review_table";
    public static final String id="id";
    public static final String Positive="positive";
    public static final String Negative="negative";
    public static final String Average="average";



    public DatabaseDoctor(Context context){
        super(
                context,
                databasename,
                null,
                versioncode);
    }


    @Override
    public void onCreate(SQLiteDatabase database) {
        String user_query;
        user_query="CREATE TABLE IF NOT EXISTS "+Doctor_table+"(docname TEXT PRIMARY KEY,docspeclist TEXT ,docexperiance TEXT,hospitalname TEXT,fees TEXT,phone TEXT)";
        database.execSQL(user_query);

        String feeback_query;
        feeback_query="CREATE TABLE IF NOT EXISTS "+Review_table+"( positive TEXT,negative TEXT,average TEXT, FOREIGN KEY (docname) REFERENCES Doctor_table (docname) )";
        database.execSQL(feeback_query);



    }

    public Cursor positiveData(String docname)
    {
        SQLiteDatabase db1=this.getWritableDatabase();
        Cursor res = db1.rawQuery("select positive from "+Review_table+" Where docname=?",new String[]{docname});
        return res;
    }

    public Cursor negativeData(String docname)
    {
        SQLiteDatabase db1=this.getWritableDatabase();
        Cursor res = db1.rawQuery("select negative  from "+Review_table+" Where docname=?",new String[]{docname});
        return res;
    }

Я не знаю, работает этот код или нет, но алгоритм НЛП предназначен для присвоения рейтинга врачу с хорошим обзором, врач будет в числе лучших, плохой отзыв, врач будет в нижней части

...