-
-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[REVIEW]: ICAT: The Interactive Corpus Analysis Tool #6873
Comments
Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks. For a list of things I can do to help you, just type:
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
|
Software report:
Commit count by author:
|
Paper file info: 📄 Wordcount for ✅ The paper includes a |
|
License info: ✅ License found: |
Hi @WarmCyan! Would you please be able to address the missing DOIs in the references? |
Review checklist for @SamHamesConflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
|
Hello @JBorrow! I've added DOIs for all except ipyvuetify, I couldn't find anything for that one |
@SamHames thanks for agreeing to review this! Just so you're aware if you start playing with the software soon, there's a couple weird issues going on right now with dependencies that I'm still trying to resolve, if you run into problems during setup I'm tracking them over here: ORNL/icat#44 |
Hi all, I am in contact with the authors. They have been actively working to fix some issues in the repository (broken package dependencies die to updates). I'll investigate the fixes and latest end of next week. I provide my checklist here then too. Thanks for your patience. |
Review checklist for @jhagerer (-> still in process!!!)Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
|
This review is still in process. Issues with the code repository still have to be analyzed and fixed, see ORNL/icat#44. |
Hi all, just checking in that the responses to the review items are progressing? |
Hey @JBorrow! We've determined in ORNL/icat#44 that ICAT doesn't run in vscode (which is somewhat expected/outside of what I'm trying to support.) I'm not sure if @jhagerer has had a chance to take a look at it since, but I'm waiting to see if it runs correctly for him in Jupyter Lab. |
@WarmCyan I got icat running successfully. However, it looks honestly not fully usable, since I cannot recognize the text on the right, and also the illustration could be improved: As you see, I used Jupyter Notebook and Jupyter Lab. Both look not ideal, even though both are recommended in the official documentation. What is your comment on that with regards to usability and correct display? Further, I think it would be good to give a hint somewhere in the documentation that Visual Studio Jupyter code cells should not be used. Last but not least, I would recommend an advanced example that does not require transformers with a CUDA/NVIDIA hardware, but maybe something more lightweight but still reasonable and computationally efficient, e.g., word2vec. I am giving this advice, since I would really like to use and understand this tool, but I would be afraid that users might experience unnecessarily difficult entry barriers, which would undermine the efforts already made by the authors. |
@jhagerer yeah this is a good point, I didn't do due diligence in making sure it looks right in light mode as well, and that certainly has a huge impact on usability. The jarring mismatch of colors and inability to read the text should be fixable by checking for light/dark theme and adjusting interface coloring accordingly. To address the scrolling/crampedness of the jupyter notebook cells, I'll add a check for notebook vs lab and auto-scale components to make sure they fit. I've opened an issue to track this here: ORNL/icat#45 and will try to make both of these changes within the next week or two. |
That's also a good point about an additional example notebook that doesn't need transformers to run, I've opened an issue for it here: ORNL/icat#46 |
I can confirm that the authors addressed my feedback. Now it is my job to try out the tools and go through its documentation in order to finish the peer review. |
Excellent! Let me know if there is anything else any of you need, or if there are any further questions. |
@JBorrow My problem is that for several months now, I am reading the documentation and try to make the best out of it. However, I have to say that the documentation does not enable me to use the tool. Previously, the problem was that no UI would be visible after following the documentation. Then, there was no example which could be executed without GPU. Now, I cannot figure out how to seed a model and how to trigger a round of predictions in the interface. The documentation does not say anything about this: https://ornl.github.io/icat/stable/user/interface.html. My gut feeling is that my experience should not be the problem. But maybe another reviewer should check if it is difficult for them too? For me this is very time consuming, and I keep having problem making anything work here. |
@jhagerer sorry we keep running into difficulties with this, I know that can be frustrating. The seeding/prediction process is discussed in the docs here: https://ornl.github.io/icat/stable/user/concepts.html#labelling (basically you have to click the 'I'/'U' labelling buttons on at least 10 instances, and then it will automatically start making predictions) |
@jhagerer that is very unfortunate; would you be able to point me to issues that you've raised in the target repository and I can take a look? Sometimes different hardware and software environments are hard to mesh, though of course at JOSS we aim for the software that we accept to be widely useable. I have just attempted the homepage documentation example and I was able to successfully get a UI on my M2 Macbook Pro: However, @WarmCyan, it would definitely be better if there was some information along with this example that tells you what to do with it? Even if there is some simple takeaway point from this simple example about how the UI works. Right now I just have a square of points in the middle of a giant circle, and it's not clear where to go from there at all. |
@JBorrow that's a good suggestion, I'll work on adding some better intro information to the notebooks. |
Hi folks, just wondering what we need to get unblocked here: @jhagerer I understand that you were facing some problems getting set up. Were you able to successfully raise issues against the target package and have them be resolved? |
First of all, apologies for the long delay in this - I've had some health issues to deal with. Second of all, it's great to see more tools in this space - we need more of them and to be able to get them into people's hands. That being said though, I think there's a bit of work still to happen. I can confirm that I could work through the documentation and the paper and was able to at least successfully run the software - I have some minor suggestions that I'll raise separately over the next couple of days against the software repository. I think overall though I'm running into the same issue as @jhagerer - even though I can get the software to run and I (think) I can start using it for what I think is the intended purpose, there's some documentation missing about the intended workflow as the UI doesn't provide much scaffolding about "what next". As an example, the documentation states that 10 instances need to be labelled first, but omits that both interesting/uninteresting labels need to be provided - it would have saved me a bit of time if there was some signposting in the UI about what's left to do before the model is "seeded". Having got the model to a seeded point though, I'm not actually sure what I should be doing next. To really be able to evaluate the paper and the software I need an end-to-end example of how to use it: how do I go step by step from an input dataset to an actual output? My other related issue is that I think the paper/literature cited and the purpose of this tool don't quite hang together for me. The citations draw heavily on the interactive machine learning literature, but the tool itself appears much more focused on exploration and selection from a specific dataset (eg. "The ICAT workflow trains a simple binary classification model to separate "uninteresting" from "interesting" entries in an initially unlabeled dataset"). Is the intended output of this tool the machine learning model itself, or is the output the filtered dataset, in which case the IML approach is an implementation detail? |
Thanks for the feedback @SamHames, and best wishes!
That's a good point, I'll add some status indicators for the underlying model to make next logical actions more clear
The intent was really either/both. In principle, as you're building up the model trying to explore and filter down a particular dataset, at the end you have both the filtered dataset as well as a model that can then be used on more data or similar problems down the line. (User-provided labels are separately stored in the model class from the active dataset, so you can trade out datasets and the model will still take all previously labeled data into account.) Definitely heard though, getting a pretty strong signal from everyone that it's not clear how exactly to use this/where to go with it once it's running. I'm out on travel next week, but I'll make some time this week and when I get back to put together a start-to-finish example or two for going through the process on one dataset and then maybe applying the model on another. I'll ping here once that's ready! |
Submitting author: @WarmCyan (Nathan Martindale)
Repository: https://github.com/ORNL/icat
Branch with paper.md (empty if default branch):
Version: v0.7.2
Editor: @JBorrow
Reviewers: @SamHames, @jhagerer
Archive: Pending
Status
Status badge code:
Reviewers and authors:
Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)
Reviewer instructions & questions
@SamHames & @jhagerer, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review.
First of all you need to run this command in a separate comment to create the checklist:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @JBorrow know.
✨ Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest ✨
Checklists
📝 Checklist for @SamHames
The text was updated successfully, but these errors were encountered: