Я работаю с алгоритмом 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;
}
Я не знаю, работает этот код или нет, но алгоритм НЛП предназначен для присвоения рейтинга врачу с хорошим обзором, врач будет в числе лучших, плохой отзыв, врач будет в нижней части