在php中获取句子中的第一个'content word'
假设我有一句话:在php中获取句子中的第一个'content word',php,Php,假设我有一句话: $str="Some remarks on singular solutions of a nonlinear equation"; 如何获取$str的第一个内容字?这里我称一个词为contentword,如果它是一个名词,那么它们是: 备注,单数,解,方程 其余部分作为虚词 更新 假设我们有虚词列表 $fword=array("some","on","of", "a");
$str="Some remarks on singular solutions of a nonlinear equation";
如何获取$str
的第一个内容字?这里我称一个词为contentword,如果它是一个名词,那么它们是:
备注
,单数
,解
,方程
其余部分作为虚词
更新
假设我们有虚词列表
$fword=array("some","on","of", "a");
使用PHP函数并按间隔拆分字符串
分解-按字符串拆分字符串
返回字符串数组,每个字符串都是字符串的子字符串,通过在字符串分隔符形成的边界上拆分字符串而形成
如果你想知道这个词是否是名词,那么检查
WordNet项目中$arr
或一些类似的英语词类数据库中的每个词。但我需要备注
事实上,因为一些
被认为是虚词
你所说的虚词和实词是什么意思?如果你有所有的单词,你能把它们区分开来吗?因为explode
将为你提供句子中的所有单词。我改进了我的答案。希望有帮助!你有包含这些单词的来源吗?(数组、数据库、外部文件等)或者您正在询问如何确定一个单词是“内容”还是“功能”单词?最后,我用:\b(?!on | of | a | Some | one | two)(\w+)\b
解决它,请参见此处:
$str = "Some remarks on singular solutions of a nonlinear equation";
$arr = explode(' ', trim($str));
// And then for each word in $arr check if it passes your criteria