27

I'm doing some experimentation with SyntaxNet (aka Parsey McParseface). You can follow my musings and results in Charcoal HQ if you so desire.

Based on some early results using very rudimentary ways to evaluate the boatloads of data I get from Parsey, I think there's a decent chance that something useful comes of this.

Right now, I'm aiming at recommendation requests, since they tend to follow a pattern in the titles. Looking at bodies is on the horizon; but it's somewhat slow and titles are faster.

To do this right, I need data. Specifically, here's what I'd like:

  • A list of question titles and IDs that were closed as off-topic -> recommendation request (OT subreason IDs 8 and 14-16). Bodies would be even more awesome.
  • Require at least 2 of the 5 votes (or mod votes, but they're rare) to be for the recommendation request reason. If that's too hard, I'd settle for majority or only one.
  • Right now, I'm only looking at Stack Overflow. Should be plenty of data there.
  • For the purposes of this, it need not include deleted posts. It looks like almost all of these are deleted... so it'd be nice to include deleted posts.
  • CSV is best, but I'm not picky. I can convert whatever.
  • I'd like as much as is sane. I've been running this on blocks of 50k (what SEDE will give me).

Can I have data?

Also, does anyone have suggestions on what else could be looked at for classification through Parsey?

6
  • Suggestions? I'm always going to say spam. No, but seriously, we could make some great improvements in detection.
    – ArtOfCode
    Jun 6, 2016 at 17:11
  • Gah. I wish I had time to talk to you and the other Charcoal people. I've been outlining ideas for looking at data like this, but getting access to the data I've wanted is a pain. Jun 6, 2016 at 17:13
  • Have you tried with the data set from the 2012 machine learning competition: blog.stackoverflow.com/2012/08/… ? My big problem with that set was that it didn't include deleted questions, which included many of the most obvious cases you'd want to identify. Jun 6, 2016 at 20:37
  • @BradLarson No, but I really need recent data. We didn't classify recommendation requests on their own before, they were lumped in Not Constructive / NARQ / whatever else someone decided to choose. And as you say, I need deleted data too; turns out most of this has been Roomba'd.
    – Undo
    Jun 6, 2016 at 20:40
  • Did you exclude CloseAsOffTopicReasonId #8 intentionally?
    – Shog9
    Jun 7, 2016 at 22:36
  • @Shog9 No; merely overlooked it. Nice catch, thank you!
    – Undo
    Jun 7, 2016 at 22:38

1 Answer 1

13
+150

I recommend you take a look at one of my queries. Of all the queries I have created, I think that this one shows the most promise. (There are other places on the network I have mentioned this query, too.)

My intention was to create something that would make it really easy to find and close recommendation questions. After all, it's something you usually can see within a few seconds of skimming.

The query does bring up a number of false positives, but I purposefully made it a bit broad.

I know you wanted closed recommendation questions, but I think this is good data to have too. You can always alter the query; comparing the results for each may be particularly valuable too. Most of these questions should be closed (or deleted) anyway, but I think it really needs someone with mod powers given how long the list is. ;)

Note that my query sorts things with the case statements:

(case 
    when lower(title) like '%open_source%' then 0
    when lower(title) like '%recommend%'   then 1    
    when lower(title) like '%free%'        then 2
    when lower(title) like '%good%'        then 2
    when lower(title) like '%best%'        then 2
    when lower(title) like '%better%'      then 2
    when lower(title) like '%any%'         then 2
    when lower(title) like '%what%should%' then 3
    when lower(title) like '%which%should%'then 3
    when lower(title) like '%is there%'    then 3
    when lower(title) like '%looking for%' then 4
    else 5 end
)

Case 0, which looks for "open source", seems to be very accurate (while case 5 is the place where I put all the likely misfits). I grabbed a list of results from down somewhere in the list for an example:

Open Source Test Management tool with JIra
Any java based open source tool like AutoIT?
The proper/best way to reference a git local fork of an open source library from a Visual Studio solution using Team Foundation Version Control
iOS - Open source Image Slide library with Pan Zoom Gestures
open source snmp manager library
Want the list of languages supported by each font.Is there any open source font library or database listing them?
How can I synchronize closed and open sourced versions of the same tool using Mercurial?
Open source Android helper library project I can contribute to?
Eclipse plugin or a Open source tool to reverse engineer java code for sequence diagram
Open source tool to synchronize data between different data centers
What is a good free (open source) BLAS/LAPACK library for .net (C#)?
Open source Libraries for Animating thumbnail to full size screen similar to Facebook
Open source java library for HTML to text conversion
Small open source Unicode library for C/C++
Is the ES5() wrapper in Facebook's JS SDK open source?
Are Facebook and Path using an open source library for their root navigation UI?
When publishing official releases of open source .NET projects, should I use one signing key for all libraries, or one key per library?
Genetic Algorithm open source library with all the trimmings e.g. cellularGA features
open source data mining/text analysis tools in python
BER-TLV open source library for Objective-C
open source language recognition library?
Is there any open source tool to desing mobile application in J2ME?

Of course, it's not a full blown syntax parser, but there are only three false positives in this particular part of the list (from what I can tell from the titles).

I'd love to know how this compares to the NLP methods out there.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .