我正在进行一个学校项目,有一个函数可以识别评论并从中提取信息,然后将这些信息写入文件中。我想知道如何将一个输入字符串与一个信息字符串列表进行对比。比如说,如果我的输入是
input = "How many fingers do I have?"
我该如何检查哪个字符串与它最接近?
fingers = "You have 10."pigs = "yummy"
我希望它返回的是fingers。我希望它匹配的是变量名而不是变量的值。
回答:
我建议你阅读这一章节。这是Steven Bird、Ewan Klein和Edward Loper所著的《用Python进行自然语言处理》一书中的一章。
检测模式是自然语言处理的核心部分。以-ed结尾的词往往是过去时态的动词(5)。频繁使用will通常是新闻文本的标志(3)。这些可观察的模式——词结构和词频——恰好与特定的意义方面相关,如时态和主题。但我们如何知道从哪里开始寻找,哪些形式的方面与哪些意义的方面相关联呢?
本章的目标是回答以下问题:
我们如何识别语言数据中对其分类有显著作用的特定特征?我们如何构建可以自动执行语言处理任务的语言模型?我们能从这些模型中学到关于语言的什么知识?
这些内容都是用Python描述的,非常高效。
http://www.nltk.org/book/ch06.html
此外,使用匹配变量名的关键词来处理文本是不好的,也不够高效。我不推荐这样做。