如何使用Wordnet获取给定单词的引理。我似乎无法在wordnet文档中找到我想要的内容。 http://wordnet.princeton.edu/wordnet/man/wn.1WN.html
例如,对于单词“books”,我想获得“book”,ashes => ash,booking =>书,苹果=>苹果......等。
我想在命令行中使用wordnet实现这一点,我无法找到确切的选项来检索这种情况。
一个php解决方案也会有很大的帮助,因为我原本打算使用wordnet php API,但似乎他们网站中的当前版本无效。
答案 0 :(得分:2)
Morphy是WordNet原生的形态处理器。 WordNet接口调用Morphy将一个单词作为查找过程的一部分进行词形变换(例如,您查询“enlightened”,它会返回“enlightened”的结果,并通过Morphy返回“enlighten”)。
接口不包含允许用户直接访问Morphy的功能,因此只有在使用其中一个WordNet API编写自己的程序时才能在命令行中使用它。您可以在WordNet网站上找到Morphy的documentation。
尽管我可以说,PHP interface仍然可用,但您可能需要使用WordNet 2.x.
答案 1 :(得分:2)
如果您可以使用其他工具,请尝试TreeTagger。
答案 2 :(得分:1)
我不确定WordNet是否在本地实现它。 NLTK有Morphy,它正是你想要的,但它是用Python实现的。您可以编写一个小型Python程序来从命令行获取输入并返回引理。
在以下链接中搜索“Morphy”: http://nltk.googlecode.com/svn/trunk/doc/api/nltk.corpus.reader.wordnet.WordNetCorpusReader-class.html
nltk.WordNetLemmatizer()也可以胜任。在以下链接中搜索“Lemmatization”: http://nltk.googlecode.com/svn/trunk/doc/book/ch03.html
NLTK网站:http://www.nltk.org/
答案 3 :(得分:0)
nltk库中的WordNetLemmatizer可以满足您的需求。这是python3代码:
eyeMac2016:james$ python3 lemmatize_s.py
This program will lemmatize your input until you ask for it to 'end'.
Type one or more words (or 'end') and press enter:books ashes
['book', 'ash']
Type one or more words (or 'end') and press enter:end
eyeMac2016:james$
从命令行运行:
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="task"
type="com.pichardo.improvedtribble.models.Task" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
</LinearLayout>
</layout>