如何从句子中提取单词并确定每个词是什么?[关闭]


19

我想写一些东西,用一个句子,识别其中包含的每个单词,并定义每个单词的词性。

例如

世界您好,我是一个句子

会返回这个

verb noun, pronoun verb adjective noun

理想情况下,我希望最终将其进一步发展并采用一个句子,并以编程方式让它理解它试图解释的内容并可能对此进行处理。

所以我的问题是,有人听说过这样的事情吗?


2
“你好”是动词吗?我的意思是,我不知道它还会是什么,但它看起来并不像动词。
丹·雷

@DanRay:也许这是english.stackexchange.com的问题?
StriplingWarrior

1
@DanRay哈哈,你知道吗?这就是为什么我试图找出是否可以做到这一点的原因,这显然使我对语法感到恐惧。
Vinny 2012年

@Vinny-当然有可能。问题是……这是下一个数万亿美元的想法,目前,它还没有被制成产品。
拉姆猎犬,2012年

1
@Vinny是的,有人听说过这样的事情。
TulainsCórdova'13

Answers:


18

这称为自然语言处理,这是一个巨大而复杂的领域。您所描述的东西是巨大的成就,甚至像Watson这样的最佳解决方案也远非完美。

像这样的事情使它具有挑战性:“水牛城水牛城水牛城水牛城水牛城水牛城”

美国英语中语法正确的句子,用作如何使用同音异义词和同音异义词创建复杂的语言结构的示例。自1972年以来,它就一直在文学中得到讨论。...在史蒂文·平克(Steven Pinker)1994年的著作《语言的本能》中也有提及,它作为一个句子的一个例子,该句子“看似荒谬”,但在语法上...

当理解到它使用纽约州布法罗市和不太常见的动词“ to buffalo”(意思是“ to bully or intimidate”)以及标点符号和语法扩展到该句子时,该句子的含义就变得更加清楚。内容如下:“布法罗水牛,布法罗水牛,布法罗水牛。” 当使用同义词时,含义变得更加清楚:“野牛野牛是其他野牛野牛的欺负者,他们本身就是野牛野牛的欺负者。”


1
这就是我要的!有人听说有人在较小规模上对此进行调整吗?开源?较小规模使用的示例?
Vinny 2012年

@Vinny AFAIK在开源中没有太多可用,因为解决这些问题对于公司来说是非常有利可图的,例如MS Word语法检测。我相信,有些聊天机器人程序可用。
Ryathal

1
@Vinny困难与规模无关。自然语言处理具有固有的复杂性,当您减小“比例”时,这种复杂性不会降低。
TulainsCórdova'13

6

尽管拆分句子并确定语法正确性以及解决第一个问题比第二个问题要容易,但许多复杂性(例如动词或动名词)(如游泳,编程等)也很复杂,但这仍然是一个挑战-参见Morons'回答。

但是您的第二个问题-人们已经付出了巨大的努力来寻找完美的解决方案,但是对于像英语这样的任何自然语言,实际上都无法实现真正​​完美的“解释”算法-有多种变体会弄乱您的算法。这个领域是AI,计算机科学和语言学之间的混合体,被称为NLP。考虑一下:“解释”句子时,即使Google Translate也不完美。

但是,这是一个非常有趣的领域。


@StriplingWarrior我只是想在OP提出的两个问题之间进行充分的对比。注意。编辑途中
yati sagade 2012年

4

我认为您应该开始阅读这篇Wikipedia文章:

http://en.wikipedia.org/wiki/Part-of-speech_tagging

(这是一个研究领域,不要指望有任何简单的解决方案。)


2
应该补充一点,尽管NLP在当今的计算机上非常庞大,艰巨并且可能很棘手,但是POS标记是其中最简单的部分,并且由于具有足够的语料库大小或大量的奉献精神和手动编写规则,它几乎可以完美解决,当然正确率超过99%。这可能足以满足您的需求。
Kilian Foth 2012年

谢谢,这正是我也在寻找的内容。
Amc_rtty18年

实际上基于OP的描述,当您正确观察@KilianFoth
Amc_rtty

-1

这样做的一种便宜方法是建立字典的数据库(我几乎肯定有人这样做了)。

该表中需要两个字段:wordusage

将该词组独立地转换为字符串数组(每个单词都是一个字符串):

select 'usage' from Dictionary WHERE 'word' = $word; 

这是一个沉重的解决方案,但是我过去曾经使用过。


5
假设每个单词只有一个可能的POS,我向您保证完全不是这种情况。
microtherion

同意-视情况而定,不可能对所有可以用作名词,动词等的词进行可行的操作(至少在英语中如此)。
德里克(Derek)
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.