语言解析以查找重要单词


9

我正在寻找有关如何处理词汇主题的一些投入和理论。

假设我有一个字符串集合,可能只是一个句子,也可能是多个句子。我想将这些字符串解析为最重要的单词,并用分数表示该单词重要的可能性。

让我们看一些我的意思的例子。

范例1:

“我真的很想要Keurig,但我买不起!”

这是一个非常基本的示例,只有一个句子。作为一个人,我很容易看到“ Keurig”在这里是最重要的词。另外,“ afford”相对重要,尽管显然不是句子的重点。“我”一词出现了两次,但根本不重要,因为它并没有真正告诉我们任何信息。我可能希望看到像这样的单词/分数哈希:

"Keurig" => 0.9
"afford" => 0.4
"want"   => 0.2
"really" => 0.1
etc...

范例2:

“这是我一生中最好的游泳习惯之一。希望我能保持自己的时光来参加比赛。要是我想起要带上我的非防水手表,那就可以了。”

这个例子有多个句子,因此在整个过程中会有更多重要的单词。如果不重复示例1的重点练习,我可能希望看到其中有两个或三个非常重要的词:“游泳”(或“游泳练习”),“竞争”,“观看”(或“防水”)手表”或“非防水手表”,具体取决于连字符的处理方式)。

举几个这样的例子,您将如何做类似的事情?编程中是否有任何现有的(开源)库或算法已经做到了这一点?


另外,这是我在programmers.stackexchange.com上的第一篇文章。如果这是错误的地方,并属于StackOverflow或另一个SE网站,则表示歉意。如有必要,很高兴提出问题。
马特·哈金斯

从这个问题中我不明白您要完成什么。特别是对于第一个示例,可以通过简单的统计检查来识别单词“ Keurig”和“ afford”:在句子的单词中,这两个单词在英语中不那么常见。因此,如果您有一个单词频率数据库,则可以轻松识别这些单词。
Qwertie 2012年

Answers:


5

肯定有人在考虑您描述的问题。若昂·文图拉(JoãoVentura)和若阿金·费雷拉·达席尔瓦(Joaquim Ferreira da Silva)的文本中相关单词排名和提取(pdf)是对现有排名技术的很好介绍,并提出了改进建议。他们描述的所有技术都依赖于语料库(大量文本)而不是一两行文本。您的语料库必须是所有样本的集合,或者可能是从特定来源收集的样本的许多语料库。请记住,单词(字母)的相关性在很大程度上是一个尚未解决的问题。如论文所述:

“ ...使用纯粹的统计方法,这种分类并不总是那么简单甚至是精确的,因为尽管相关性的概念是一个易于理解的概念,但通常对于将相关性与非相关性区分开来的边界尚无共识。例如,“ Republic”或“ London”之类的词具有显着的意义,而“ or”和“ since”之类的词根本没有意义,但是诸如“ read”,“ terminate”和“ next”之类的词呢?单词有问题,因为通常对其语义价值没有共识。”

有许多开源自然语言处理工具箱。(请注意。某些工具是免费提供给研究人员,但需要商业许可才能商业使用。)无论您选择哪种方法,它们都将使您的生活更轻松。

我对自然语言工具包(NLTK)最为熟悉。它易于使用,文档完善,并在《使用Python进行自然语言处理》(在线免费提供)一书中进行了介绍。作为NLTK可以为您做什么的简单示例,请想象使用其词性标记器。在确定了每个单词的词性后,您可能会认为专有名词非常重要,而形容词则不太重要。动词可能很重要,副词可能不那么重要。这绝不是最先进的排名,但是您可以毫不费力地获得有用的信息。当您准备进行更复杂的分析时,NLTK的内置标记,标记,组块和分类功能将使您专注于解决方案的其他细节。


1

自然语言处理是它自己的学科,已经对它进行了大量的正式研究。我将从看那里开始。

我也会重新考虑我的需求。即使经过50多年的研究,Siri仍然是最优秀的计算机科学家。我不希望计算机能够正常地成功完成您正在谈论的事情。

如果语音有某些限制(例如Siri假设您有简单的命令或问题),那就更好了。重新考虑我的需求(假设我确实需要NLP)将包括定义我的限制。之后,我可能会寻找大量示例。部分测试我想出的任何东西,但是许多现代解决方案都涉及机器学习。我需要这些示例作为学习曲线的输入。

因此,总而言之,我严重怀疑在这种上下文无关的情况下,任何东西都能够给您带来良好的成绩。


+1为Siri挖掘...或晋升...
Aaron McIver
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.