dotnet / machinelearning-modelbuilder

Simple UI tool to build custom machine learning models.
Creative Commons Attribution 4.0 International
269 stars 59 forks source link

Question Answering: The error message is not very clear after changing the "context" column's Data type to "Boolean" or "Int". #2800

Open v-Hailishi opened 12 months ago

v-Hailishi commented 12 months ago

System Information (please complete the following information): Windows OS: Windows-11-Enterprise-22H2 ML.Net Model Builder 2022: 17.17.0.2360601 (Main Build) Microsoft Visual Studio Enterprise: 2022(17.7.7) .Net: 6.0,7.0

Describe the bug

TestMatrix Smallsuad.tsv.txt

To Reproduce Steps to reproduce the behavior:

  1. Select Create a new project from the Visual Studio start window.
  2. Choose the C# Console App (.NET Core) project template.
  3. Add model builder by right click on the project.
  4. Select "Question Answering" scenario.
  5. On Data page, choose the data source, column.
  6. Changing the "context" column's Data type to "Boolean" or "Int". image
  7. On the Train page. click "Start training".
  8. Check the error message.

Expected behavior The error message should be like "Schema mismatch for Context column 'context': expected String, got Boolean/Int".

Screenshot image

Additional context The bug is also repro after changing the "answer_start" column's Data type to "Boolean". The error message should be like "Don't know how to convert answer_start into Int32". image image

zewditu commented 11 months ago

This should be handled in ml.net @LittleLittleCloud thought?

LittleLittleCloud commented 11 months ago

@v-Hailishi what you mean the error message is not clear. IMO the error message is helpful to locate the bad data...

v-Hailishi commented 11 months ago

@LittleLittleCloud I mean that after changing the "context" column's Data type to "Boolean" or "Int", actually all data could not be parsed. Because the "context" column's Data type should be "String". But in the error message it only mentioned the data in line 66.

v-Hailishi commented 2 weeks ago

The bug is only repro in NET6.0. The bug is not repro in NET7.0, 8.0. Image Image