Giter Club home page Giter Club logo

microsoft / openkp Goto Github PK

View Code? Open in Web Editor NEW
149.0 16.0 32.0 3.78 MB

Automatically extracting keyphrases that are salient to the document meanings is an essential step to semantic document understanding. An effective keyphrase extraction (KPE) system can benefit a wide range of natural language processing and information retrieval tasks. Recent neural methods formulate the task as a document-to-keyphrase sequence-to-sequence task. These seq2seq learning models have shown promising results compared to previous KPE systems The recent progress in neural KPE is mostly observed in documents originating from the scientific domain. In real-world scenarios, most potential applications of KPE deal with diverse documents originating from sparse sources. These documents are unlikely to include the structure, prose and be as well written as scientific papers. They often include a much diverse document structure and reside in various domains whose contents target much wider audiences than scientists. To encourage the research community to develop a powerful neural model with key phrase extraction on open domains we have created OpenKP: a dataset of over 150,000 documents with the most relevant keyphrases generated by expert annotation.

Home Page: https://microsoft.github.io/OpenKP/

License: MIT License

Python 100.00%

openkp's Issues

Normalization of answers.

Hi, when we're doing the case study using the evaluation script, we got some confusion about the results.

  1. We find that you have the normalize_answer function. Several rules are set to normalize the candidates and references. However, we found these methods are not applied to the answers: in the return statement, these separate rules are not even called. This caused at least the punctuation problem: no punctuations are included in your raw text field of the dataset, but some punctuations exist in your keyphrases which makes it impossible for the models to predict the "exactly matched keyphrases".
    Refer to:

    OpenKP/evaluate.py

    Lines 7 to 17 in 6e1d770

    def normalize_answer(s):
    def remove_articles(text):
    return re.sub(r'\b(a|an|the)\b', ' ', text)
    def white_space_fix(text):
    return ' '.join(text.split())
    def remove_punc(text):
    exclude = set(string.punctuation)
    return ''.join(ch for ch in text if ch not in exclude)
    def lower(text):
    return text.lower()
    return ' '.join([lower(x) for x in s]).rstrip()

  2. We notice that you filter keyphrases beginning with an empty string "". However, there're some(quite a few) keypharses in the dataset which are not exactly empty like ["", "Middle", "East", "&", "Jewish", "World"] in line 6109 of dev.jsonl. So is there a reason to discard these kind of keyphrases?
    Refer to:

    OpenKP/evaluate.py

    Lines 19 to 25 in 6e1d770

    def remove_empty(a_list):
    new_list = []
    for i in a_list:
    if len(i) > 0:
    if len(i[0]) >0:
    new_list.append(normalize_answer(i))
    return new_list

Code for VDOM

Can you please share your code for generating the VDOM?

Release testset

Hi MARCO team,

I appreciate your effort in creating this great dataset and maintaining the leaderboard. Since the leaderboard for OpenKP has been retired, I wonder if there is any plan releasing the test dataset, so that the research community can continue studies with it.

Thank you,
Rui Meng

where is the data?

I am unable to find the data to download. Can you please point me to the location?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.