我想编写一个函数same_base(word1, word2)
,当True
和word1
是从同一根词派生的两个英文单词时返回word2
。我意识到单词可以有多种感官;我希望算法过于热心,只要可能就会返回True
来查看来自同一个地方的单词。一些误报是可以的;假阴性不是。
通常,会使用词干和词形还原。这是我尝试过的:
sung
和sing
,dig
和dug
,medication
和medicine
。这样的工具是否存在?我是否只需要极具攻击性的词干分析器/变形器组合 - 如果是这样,我会在哪里找到它?
答案 0 :(得分:2)
正如您所描述的那样,一般任务不可能通过输入字符的简单文本分析来实现。英语在处理单词时没有一致的处理规则。是的,一个优秀的lemmatiser将为您解决直截了当的案例,那些可以通过应用该POS中常见的转换(例如不规则动词)来辨别的案例。
但是,为消除漏报,您必须完全覆盖该词的基础; 完整将需要词源,特别是在根词不是英语的情况下,或者可能不会出现在缩短的词本身中。
例如,哪个软件工具可以告诉您//Class Name
public class ClassName {
//Make it runnable
public static void main(String args[]) throws MalformedURLException{
//Get the URL
URL img = this.getClass().getResource("src/Name.gif");
//Make it to a Icon
Icon icon = new ImageIcon(img);
//Make a new JLabel that shows "icon"
JLabel Gif = new JLabel(icon);
//Make a new Window
JFrame main = new JFrame("gif");
//adds the JLabel to the Window
main.getContentPane().add(Gif);
//Shows where and how big the Window is
main.setBounds(x, y, H, W);
//set the Default Close Operation to Exit everything on Close
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Open the Window
main.setVisible(true);
}
}
和dis
具有相同的根(speculum
),但specere
没有?您如何判断species
,gentle
,gentile
和genteel
具有相同的根?你需要词源来获得100%的实际连接。