UBC-MDS / software-review-2021

1 stars 1 forks source link

coRPysprofiling (R) #39

Open ssyayayy opened 3 years ago

ssyayayy commented 3 years ago

Submitting Author: Anita Li (@AnitaLi-0371), Elanor Boyle-Stanley (@eboylestanley), Junghoo Kim (@jkim222383), Ivy Zhang (@ssyayayy) Repository: https://github.com/UBC-MDS/coRPysprofiling-R/tree/v0.3.1 Version submitted: v0.3.1 Editor: Tiffany Timbers(@ttimbers ) Reviewers: TBD

Archive: TBD Version accepted: TBD


Package: coRPysprofiling
Title: R Package for EDA and EDV on text
Version: 0.0.0.9000
Authors@R: 
    c(person(given = "Anita",
             family = "Li",
             role = c("aut"),
             email = "anita.li.ubc@gmail.com"),
      person(given = "Elanor",
             family = "Boyle-Stanley",
             role = c("aut"),
             email = "elanor.boyle.stanley@gmail.com"),
      person(given = "Junghoo",
             family = "Kim",
             role = c("aut"),
             email = "jkim.222383@gmail.com"),
      person(given = "Ivy",
             family = "Zhang",
             role = c("aut", "cre"),
             email = "ivyzhang1017@hotmail.com"))
Description: coRPysprofiling is an open-source library designed to bring exploratory 
    data analysis and visualization to the domain of natural language processing. 
    Functions in the package will be used to provide some elementary statistics and 
    visualizations for a single text corpus or provide functions to compare multiple 
    corpora with each other.
License:  GPL-3
Encoding: UTF-8
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.1
Suggests: 
    testthat (>= 3.0.0),
    covr,
    knitr,
    rmarkdown
Config/testthat/edition: 3
Imports: 
    stopwords,
    tokenizers,
    word2vec,
    stringr,
    here,
    stringi,
    ggplot2,
    ggwordcloud,
    dplyr
VignetteBuilder: knitr

Scope

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

MEE Options - [ ] The package is novel and will be of interest to the broad readership of the journal. - [ ] The manuscript describing the package is no longer than 3000 words. - [ ] You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see [MEE's Policy on Publishing Code](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/journal-resources/policy-on-publishing-code.html)) - (*Scope: Do consider MEE's [Aims and Scope](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/aims-and-scope/read-full-aims-and-scope.html) for your manuscript. We make no guarantee that your manuscript will be within MEE scope.*) - (*Although not required, we strongly recommend having a full manuscript prepared when you submit here.*) - (*Please do not submit your package separately to Methods in Ecology and Evolution*)

Code of conduct

d-sel commented 3 years ago

Hello! This is a great package and is easy to use. I believe it covers an audience that would really benefit from such a tool. Below is my review.

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

For packages co-submitting to JOSS

The package contains a paper.md matching JOSS's requirements with:

  • [ ] A short summary describing the high-level functionality of the software
  • [ ] Authors: A list of authors with their affiliations
  • [ ] A statement of need clearly stating problems the software is designed to solve and its target audience.
  • [ ] References: with DOIs for all those that have one (e.g. papers, datasets, software).

Functionality

Estimated hours spent reviewing: 1.25 hours


Review Comments

The package is well documented and well-organized. The audience is well-considered as the package output's simplicity fits well with the audience who would like simple visualization and summary outputs.

Additional commentary:

> corpora_best_match('flower',c('television','candy','plant'))
Downloaded model found. Loading downloaded model...
Downloaded model found. Loading downloaded model...
Downloaded model found. Loading downloaded model...
# A tibble: 3 x 2
  corpora    metric
  <chr>       <dbl>
1 candy       0.818
2 plant       0.846
3 television  0.972

> corpora_best_match('flower',c('television','candy'))
Downloaded model found. Loading downloaded model...
Downloaded model found. Loading downloaded model...
# A tibble: 2 x 2
  corpora    metric
  <chr>       <dbl>
1 candy       0.818
2 television  0.972
rainbowxyt0305 commented 3 years ago

Hi coRPysprofiling (R)! This is a very neat and great data retrieval and preliminary EDA idea!

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

For packages co-submitting to JOSS

The package contains a paper.md matching JOSS's requirements with:

  • [ ] A short summary describing the high-level functionality of the software
  • [ ] Authors: A list of authors with their affiliations
  • [ ] A statement of need clearly stating problems the software is designed to solve and its target audience.
  • [ ] References: with DOIs for all those that have one (e.g. papers, datasets, software).

Functionality

Estimated hours spent reviewing: 1h


Review Comments

General comments:

Hi Team coRPysprofiling!

I really enjoyed reviewing you R package and this is very neat and compelling idea! This package is easy to use, and intriguing to play around with! I tried all functions and they all worked nicely.

On a side note, the Automated tests worked quite well for an acceptably speed for me and I understood that there are some pretrained models required to download before the tests could run properly, so I am happy and okay with how your unit tests are.

Specific parts:

Considering the target audience (talent acquisition specialists who want to quickly retrieve valuable information from resume texts or compare text from two resumes) who your team and the package intend to help, there are some suggestions I came up with that you might find helpful to know about at least:

  1. for the corpora_best_match function, it might be even more straightforward to see if the function could output the variable name in addition to the actual texts associated with the variable, especially in the case of a very long-length text, such as a paragraph from a resume. Below is the example of very long-length output text with no variable name indicating which text belongs to which particular job description/resume.

`#> # A tibble: 6 x 2

> corpora metric

>

> 1 You have spent countless hours over the years solving hard problems in~ 0.0818

> 2 Direct and oversee an organization's sales policies, objectives and in~ 0.0980

> 3 Apply statistical and machine learning knowledge to specific business ~ 0.104

> 4 Administrative assistant duties and responsibilities include providing~ 0.128

> 5 Prepare balance sheets, profit and loss statements and other financial~ 0.170

> 6 Support Investment Advisors in providing superior customer service and~ 0.174`

  1. in the corpora_best_match function, it might be less distracting for the users if the function could show no warning/message information in the output, especially when the users want to compare more than 20 different resume sentences (the function would first output more than 20 Downloaded model found. Loading downloaded model... messages). Below is the example of the warning/messages.

`corpora_best_match(mds, job_list, metric = "euclidean")

> Downloaded model found. Loading downloaded model...

> Downloaded model found. Loading downloaded model...

> Downloaded model found. Loading downloaded model...

> Downloaded model found. Loading downloaded model...

> Downloaded model found. Loading downloaded model...

> Downloaded model found. Loading downloaded model...`

  1. this suggestion might be a little beyond the scope of what we have learned in the program so far, but I believe this would be a valuable addition for the intended audience. In addition to passing in string as input in corpus_viz, corpora_compare, and corpora_best_match, it would be even more benefitical and easy to use if users could directly input a .csv/word/pdf file as resumes are usually in these forms.

Overall you have done a phenomenal job! Rachel Xu