1

目前我正在使用基于 WordNet 的语义相似度测量项目。正如我所知道的,以下是计算两个句子之间语义相似度的步骤:

  1. 每个句子都被划分为一个标记列表。
  2. 词干。
  3. 词性消歧(或标记)。
  4. 为句子中的每个单词找到最合适的含义(词义消歧)。
  5. 根据词对的相似度计算句子的相似度。

现在我在第 3 步。但我无法得到正确的输出。我对 Python 不是很熟悉。所以我很感激你的帮助。

这是我的代码。

import nltk
from nltk.corpus import stopwords


def get_tokens():

    test_sentence = open("D:/test/resources/AnswerEvaluation/Sample.txt", "r")

    try:
        for item in test_sentence:
            stop_words = set(stopwords.words('english'))

            token_words = nltk.word_tokenize(item)

            sentence_tokenization = [word for word in token_words if word not in stop_words]
            print (sentence_tokenization)
            return sentence_tokenization

    except Exception as e:
        print (str(e))


def get_stems():

    tokenized_sentence = get_tokens()

    for tokens in tokenized_sentence:
        sentence_stemming = nltk.PorterStemmer().stem(tokens)
        print (sentence_stemming)
        return sentence_stemming


def get_tags():

    stemmed_sentence = get_stems()

    tag_words = nltk.pos_tag(stemmed_sentence)

    print (tag_words)
    return tag_words

get_tags()

Sample.txt 包含句子,我正在乘车。我正坐在车里。

4

0 回答 0